.new-folder-modal-overlay{align-items:center!important;background-color:#00000080!important;background:#00000080!important;bottom:0!important;display:flex!important;height:100vh!important;justify-content:center!important;left:0!important;padding:var(--spacing-lg)!important;position:fixed!important;right:0!important;top:0!important;width:100vw!important;z-index:999999!important}.new-folder-modal-content{background-color:#fff!important;background:#fff!important;border-radius:var(--border-radius-lg)!important;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px var(--border-light)!important;contain:layout style paint!important;display:flex!important;flex-direction:column!important;isolation:isolate!important;max-width:520px!important;min-height:300px!important;opacity:1!important;overflow:hidden!important;position:relative!important;transform:translateZ(0)!important;width:100%!important;z-index:1000000!important}.modal-overlay,.modal-overlay.closing,.new-folder-modal-overlay,.new-folder-modal-overlay.closing,div.modal-overlay,div.modal-overlay.closing,div.new-folder-modal-overlay,div.new-folder-modal-overlay.closing{align-items:center!important;animation:modalFadeIn .4s cubic-bezier(.25,.46,.45,.94)!important;background-color:#00000080!important;background:#00000080!important;bottom:0!important;display:flex!important;justify-content:center!important;left:0!important;padding:var(--spacing-lg)!important;position:fixed!important;right:0!important;top:0!important;z-index:9999!important}.modal-overlay.closing,.new-folder-modal-overlay.closing{animation:modalFadeOut .2s ease-in forwards!important}@keyframes modalFadeOut{0%{background-color:#00000080!important;background:#00000080!important;opacity:1!important}to{background-color:#0000!important;background:#0000!important;opacity:0!important}}.modal-content,.modal-content.closing,.new-folder-modal-content,.new-folder-modal-content.closing,div.modal-content,div.modal-content.closing,div.new-folder-modal-content,div.new-folder-modal-content.closing{animation:modalSlideIn .4s cubic-bezier(.25,.46,.45,.94)!important;background-color:var(--bg-card)!important;background:var(--bg-card)!important;border-radius:var(--border-radius-lg)!important;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px var(--border-light)!important;display:flex!important;flex-direction:column!important;isolation:isolate!important;max-width:520px!important;min-height:300px!important;opacity:1!important;overflow:hidden!important;position:relative!important;transform:translateZ(0)!important;width:100%!important;z-index:10000!important}.modal-content.closing,.new-folder-modal-content.closing{animation:modalSlideOut .2s ease-in forwards!important}.modal-content:before{animation:gradientShift 3s ease-in-out infinite;background:linear-gradient(90deg,var(--color-primary) 0,var(--color-accent) 50%,var(--color-primary) 100%);background-size:200% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes modalSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}.modal-header{align-items:flex-start;background:linear-gradient(135deg,var(--bg-card),var(--bg-secondary));gap:var(--spacing-lg);padding:var(--spacing-xl)}.modal-title-section{align-items:flex-start;display:flex;flex:1 1;gap:var(--spacing-md)}.modal-icon{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--interactive-hover));border-radius:12px;box-shadow:var(--shadow-md);color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.modal-title-section h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.025em;margin:0 0 var(--spacing-xs) 0}.modal-subtitle{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0}.modal-close-button{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;padding:var(--spacing-sm);transition:all .2s ease;width:36px}.modal-close-button:hover{background:var(--error);border-color:var(--error);box-shadow:var(--shadow-md);color:#fff;transform:scale(1.05)}.modal-body{flex:1 1;gap:var(--spacing-lg);padding:var(--spacing-xl)}.input-section{gap:var(--spacing-lg)}.input-group,.input-section{display:flex;flex-direction:column}.input-group{gap:var(--spacing-sm)}.input-group label{align-items:center;color:var(--text-primary);display:flex;font-size:.95rem;font-weight:600;gap:var(--spacing-xs)}.input-group label svg{color:var(--color-primary)}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);position:relative}.input-wrapper input{background:var(--bg-card);border:2px solid var(--border-light);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;padding:14px 16px;transition:all .2s ease;width:100%}.input-wrapper input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #47887926,var(--shadow-sm);outline:none}.input-wrapper input.error{border-color:var(--error)}.input-wrapper input.error:focus{box-shadow:0 0 0 3px #dc262626,var(--shadow-sm)}.input-status{display:flex;justify-content:flex-end;padding:0 var(--spacing-xs)}.character-count{color:var(--text-muted);font-size:.8rem;transition:color .2s ease}.character-count.warning{color:var(--warning);font-weight:500}.error-message{align-items:center;background:#dc26261a;border-left:3px solid var(--error);border-radius:6px;display:flex;font-size:.85rem;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.error-message svg{flex-shrink:0}.folder-preview{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:10px;padding:var(--spacing-md)}.preview-label{color:var(--text-secondary);font-size:.85rem;font-weight:500;letter-spacing:.5px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.preview-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;color:var(--text-primary);display:flex;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.preview-item svg{color:var(--color-primary);flex-shrink:0}.modal-footer{align-items:center;background:var(--bg-secondary);gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl)}.modal-footer .button-base{border-radius:8px;font-weight:600;height:44px;min-width:120px;transition:all .2s ease}.modal-footer .button-primary:disabled{color:var(--bg-card);cursor:not-allowed}.modal-footer .button-primary:disabled,.modal-footer .button-primary:disabled:hover{background-color:var(--text-muted);box-shadow:none;transform:none}@media (max-width:640px){.modal-overlay{align-items:flex-start;padding:var(--spacing-md);padding-top:10vh}.modal-content{max-width:100%}.modal-header{padding:var(--spacing-lg)}.modal-title-section h3{font-size:1.25rem}.modal-icon{height:40px;width:40px}.modal-body{padding:var(--spacing-lg)}.modal-footer{flex-direction:column;padding:var(--spacing-md) var(--spacing-lg)}.modal-footer .button-base{width:100%}}@media (prefers-contrast:high){.modal-content{border:2px solid var(--text-primary)}.input-wrapper input{border-width:2px}}@media (prefers-reduced-motion:reduce){.character-count,.input-wrapper input,.modal-close-button,.modal-content,.modal-content:before,.modal-footer .button-base,.modal-overlay{animation:none;transition:none}}.modal-backdrop-stm{align-items:center;background-color:#00000080;display:flex;height:100vh;justify-content:center;left:0;padding:var(--spacing-md);position:fixed;top:0;width:100vw;z-index:9999}.modal-content-stm{animation:slide-down-stm .3s ease-out;background-color:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-width:700px;padding:var(--spacing-xl);position:relative;width:90%}@keyframes slide-down-stm{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-header-stm{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.modal-header-stm h2{color:var(--text-primary);font-size:1.5rem;margin:0}.close-button-stm{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-muted);cursor:pointer;font-size:2rem;font-weight:300;line-height:1;padding:var(--spacing-xs);transition:var(--transition-fast)}.close-button-stm:hover{background-color:var(--bg-hover);color:var(--text-primary)}.session-choices-stm{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}.session-choice-stm{align-items:center;background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;min-height:120px;padding:var(--spacing-lg);text-align:center;transition:var(--transition-fast)}.session-choice-stm:hover{background-color:var(--bg-active);border-color:var(--color-primary)}.session-choice-stm:focus{outline:2px solid var(--color-primary);outline-offset:2px}.session-choice-stm h3{color:var(--text-primary);font-size:1.2rem;margin:0 0 .75rem}.session-choice-stm p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}@media (max-width:600px){.modal-content-stm{padding:var(--spacing-lg);width:95%}.session-choices-stm{gap:var(--spacing-md);grid-template-columns:1fr}}.modal-backdrop-ai-test{align-items:center;background-color:initial;display:flex;height:100vh;justify-content:center;left:0;padding:var(--spacing-md);position:fixed;top:0;width:100vw;z-index:9999}.modal-content-ai-test{animation:slide-up-ai-test .3s ease-out;background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-width:600px;padding:var(--spacing-xl);position:relative;width:90%}@keyframes slide-up-ai-test{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header-ai-test{align-items:center;border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.modal-header-ai-test h2{align-items:center;color:var(--text-primary);display:flex;font-size:1.75rem;font-weight:600;gap:var(--spacing-md);margin:0}.modal-header-ai-test h2:before{content:"📝";font-size:1.5rem}.close-button-ai-test{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;display:flex;font-size:1.5rem;font-weight:400;height:40px;justify-content:center;line-height:1;padding:var(--spacing-sm);transition:var(--transition-fast);width:40px}.close-button-ai-test:hover{background-color:var(--bg-hover);color:var(--text-primary)}.test-format-choices{display:flex;flex-direction:column;gap:var(--spacing-lg)}.test-format-option{background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--border-radius);cursor:pointer;overflow:hidden;padding:var(--spacing-lg);position:relative;transition:all var(--transition-medium)}.test-format-option:before{background:linear-gradient(90deg,#0000,#6f4e371a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.test-format-option:hover:before{left:100%}.test-format-option:hover{background-color:var(--bg-active);border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.test-format-option:active{transform:translateY(0)}.test-format-option.selected{background-color:var(--bg-active);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.test-format-option.selected .test-format-icon{background-color:var(--color-primary);color:#fff}.test-format-header{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.test-format-icon{align-items:center;border-radius:var(--border-radius);display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;width:40px}.mcq-option .test-format-icon,.test-format-icon,.written-option .test-format-icon{background-color:var(--bg-secondary)}.test-format-option h3{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin:0}.test-format-option p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0;padding-left:calc(40px + var(--spacing-md))}.test-info-badge{background-color:var(--color-accent);border-radius:var(--border-radius-sm);color:var(--text-primary);display:inline-block;font-size:.85rem;font-weight:500;margin-left:calc(40px + var(--spacing-md));margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.question-count-section{border-top:1px solid var(--border-light);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.question-count-header{margin-bottom:var(--spacing-md)}.question-count-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 var(--spacing-xs) 0}.question-count-header p{color:var(--text-secondary);font-size:.9rem;margin:0}.question-count-options{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.question-count-option{background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-weight:600;padding:var(--spacing-md);text-align:center;transition:var(--transition-fast)}.question-count-option:hover{background-color:var(--bg-hover);border-color:var(--color-primary)}.question-count-option.selected{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.start-test-section{display:flex;justify-content:center;margin-top:var(--spacing-xl)}.start-test-button{background-color:var(--color-primary);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:200px;padding:var(--spacing-md) var(--spacing-xl);transition:var(--transition-fast)}.start-test-button:hover{background-color:var(--interactive-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.start-test-button:active{transform:translateY(0)}.start-test-button:disabled{background-color:var(--text-muted);box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:600px){.modal-content-ai-test{margin:var(--spacing-md);padding:var(--spacing-lg);width:95%}.modal-header-ai-test h2{font-size:1.5rem}.test-format-choices{gap:var(--spacing-md)}.test-format-option{padding:var(--spacing-md)}.test-format-option p{margin-top:var(--spacing-sm);padding-left:0}.test-info-badge{margin-left:0}.question-count-options{grid-template-columns:repeat(3,1fr)}.start-test-button{font-size:1rem;min-width:150px}}.dashboard-folder-panel{background-color:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden}.panel-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.panel-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.search-section{flex-shrink:0;padding:var(--spacing-md) var(--spacing-lg) .75rem}.search-container{border-radius:var(--border-radius);transition:var(--transition-fast)}.search-input{padding:.75rem var(--spacing-sm)}.search-clear{border-radius:var(--border-radius-sm);margin-right:var(--spacing-xs);padding:var(--spacing-sm);transition:var(--transition-fast)}.search-results-info{margin-top:var(--spacing-sm)}.panel-section{display:flex;flex-direction:column;flex-grow:1;min-height:0;overflow:hidden;padding:0}.panel-section-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:.75rem var(--spacing-lg)}.panel-section-header h3{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.folder-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.add-folder-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:var(--transition-fast);width:28px}.add-folder-btn:hover{background-color:var(--interactive-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.folder-list-container{flex-grow:1;overflow-y:auto;padding:var(--spacing-sm) 0}.folder-list-container::-webkit-scrollbar{width:8px}.folder-list-container::-webkit-scrollbar-track{background:var(--bg-light);border-radius:var(--border-radius-sm)}.folder-list-container::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--border-dark);border:2px solid #0000;border-radius:var(--border-radius-sm)}.folder-list-container::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.folder-tree-level+.folder-tree-level{border-top:1px solid var(--border-light);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.older-list-container button,.sidebar-nav-item{align-items:center;background-color:initial;border:none;border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.75rem;margin-bottom:0;padding:.75rem var(--spacing-lg);text-align:left;transition:var(--transition-fast);width:100%}.folder-list-container .sidebar-nav-item:last-child{border-bottom:none}.older-list-container button{gap:var(--spacing-sm);padding-left:var(--spacing-lg)}.older-list-container button:hover,.sidebar-nav-item:hover{background-color:var(--bg-light);transform:translateX(2px)}.older-list-container button.active,.sidebar-nav-item.active{background-color:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff;font-weight:600}.older-list-container button.active:hover,.sidebar-nav-item.active:hover{background-color:var(--interactive-hover);transform:translateX(0)}.nav-icon{align-items:center;display:flex;flex-shrink:0;opacity:.7}.sidebar-nav-item.active .nav-icon{opacity:1}.sidebar-nav-item.active .folder-icon{color:#ffffffe6}.sidebar-folder-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-count-badge{background-color:var(--bg-light);border-radius:var(--border-radius-lg);color:var(--text-secondary);flex-shrink:0;font-size:.75rem;font-weight:500;margin-left:auto;padding:.15rem .6rem;transition:var(--transition-fast)}.older-list-container button.active .topic-count-badge,.sidebar-nav-item.active .topic-count-badge{background-color:#ffffff40;color:#fff}.sidebar-nav-item .collapse-icon{align-items:center;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:var(--transition-fast);width:20px}.sidebar-nav-item .collapse-icon:hover{background-color:var(--bg-light);color:var(--text-primary)}.sidebar-nav-item.active .collapse-icon{color:#ffffffb3}.sidebar-nav-item.active .collapse-icon:hover{background-color:#ffffff1a;color:#fff}.sidebar-nav-item .collapse-icon.collapsed svg{transform:rotate(-90deg)}.sidebar-nav-item .collapse-icon.empty{cursor:default;opacity:.5}.sidebar-folder-draggable.is-dragging{background:var(--bg-light);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-lg);transform:rotate(2deg);z-index:1000}.folder-item-container{position:relative;width:100%}.folder-item-container.folder-is-dragging{opacity:.8;transform:rotate(2deg);z-index:1000}.folder-item-container.folder-is-dragging .sidebar-nav-item{background:var(--bg-light);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-lg)}.folder-move-handle{align-items:center;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:grab;display:inline-flex;flex-shrink:0;font-size:.75rem;height:20px;justify-content:center;line-height:1;margin-left:auto;margin-right:var(--spacing-xs);transition:var(--transition-fast);width:24px}.folder-move-handle:hover{background-color:var(--bg-light);color:var(--text-primary)}.folder-move-handle.is-dragging{background-color:var(--color-primary);color:#fff;cursor:grabbing}.sidebar-nav-item.drop-active{background-color:var(--bg-active);border-color:var(--color-primary)}.sidebar-nav-item.combine-active{background-color:initial;box-shadow:0 0 0 2px var(--color-primary) inset}body.modal-open .sidebar-folder-draggable,body.modal-open .sidebar-folder-draggable.is-dragging,body.modal-open [data-rbd-drag-handle-draggable-id],body.modal-open [data-rbd-droppable-id]{z-index:1000!important}.sidebar-folder-draggable{position:relative;z-index:1}body.rbd-dragging .folder-item-container:not(.folder-is-dragging){transition:transform .2s ease}body.rbd-dragging .folder-item-container:not(.folder-is-dragging):hover{transform:translateY(-2px)}.folder-tree-level{border-radius:var(--border-radius-sm);padding:2px 0;transition:background-color .2s ease}[data-rbd-droppable-id*=folder-container]{min-height:20px;transition:all .2s ease}[data-rbd-droppable-id*=folder-container].rbd-droppable-dropping{background-color:#4788791a;border:2px dashed var(--color-primary);border-radius:var(--border-radius)}body.modal-open .older-list-container button:hover,body.modal-open .sidebar-nav-item:hover{background-color:initial!important;transform:none!important}body.modal-open .older-list-container button.active:hover,body.modal-open .sidebar-nav-item.active:hover{background-color:var(--color-primary)!important;transform:none!important}.sidebar-folder-input{background-color:var(--bg-card);border:2px solid var(--color-primary);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:.95rem;font-weight:500;outline:none;padding:.4rem .6rem;width:100%}.empty-state,.no-results{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);text-align:center}.empty-state-icon,.no-results-icon{color:var(--text-secondary);margin-bottom:var(--spacing-md);opacity:.5}.empty-state h4,.no-results h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-sm) 0}.empty-state p,.no-results p{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0}.older-list-container{background-color:var(--bg-card);border-top:1px solid var(--border-light);flex-shrink:0;padding:var(--spacing-sm) 0}@media (max-width:1024px){.dashboard-folder-panel{display:flex;flex-direction:column;height:100%;max-height:none;overflow:hidden;position:relative}.panel-header{order:0}.panel-header,.search-section{flex-shrink:0;padding:var(--spacing-sm)}.search-section{order:1}.panel-section{display:flex;flex:1 1;flex-direction:column;min-height:0;order:2;overflow:hidden}.panel-section-header{flex-shrink:0;padding:var(--spacing-sm)}.folder-list-container{flex:1 1;margin:0;min-height:0;overflow-y:auto!important;padding:0}.folder-list-container .sidebar-nav-item,.sidebar-nav-item{border-bottom:1px solid var(--border-light);font-size:.85rem!important;gap:.4rem!important;line-height:1.2!important;margin-bottom:.25rem!important;min-height:40px!important;padding:.5rem!important}.older-list-container{background-color:var(--bg-card);border-top:2px solid var(--border-light);box-shadow:0 -2px 8px #0000001a;flex-shrink:0;order:3;padding:0;position:relative}.older-list-container button{border-bottom:1px solid var(--border-light);font-size:.85rem;min-height:36px;padding:.75rem var(--spacing-sm)}.older-list-container button:last-child{border-bottom:none}.folder-list-container .sidebar-nav-item:last-child{margin-bottom:var(--spacing-lg)}}@media (max-width:768px) and (orientation:portrait){.panel-header,.panel-section-header,.search-section{padding:var(--spacing-sm)}.sidebar-nav-item{min-height:40px!important;padding:.5rem var(--spacing-sm)!important}.older-list-container button{min-height:36px;padding:.75rem var(--spacing-sm)}}@media (max-width:1024px) and (orientation:landscape) and (max-height:600px){.dashboard-folder-panel{height:100%;overflow:hidden}.panel-header{flex-shrink:0;min-height:32px;padding:.25rem var(--spacing-sm)}.panel-header h2{font-size:1rem;margin:0}.search-section{flex-shrink:0;padding:.125rem var(--spacing-sm)!important}.search-container{border-width:1px!important;min-height:28px!important}.search-input{font-size:.75rem!important;padding:.3rem var(--spacing-xs)!important}.search-icon{font-size:.8rem!important;padding:.3rem!important}.search-clear{font-size:.7rem!important;padding:.2rem!important}.panel-section{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.panel-section-header{flex-shrink:0;min-height:28px;padding:.25rem var(--spacing-sm)}.panel-section-header h3{font-size:.85rem;margin:0}.folder-list-container{flex:1 1;margin:0;min-height:0;overflow-x:hidden;overflow-y:auto!important;padding:0}.sidebar-nav-item{font-size:.8rem;margin-bottom:.1rem!important;min-height:32px!important;padding:.3rem var(--spacing-sm)!important}.sidebar-nav-icon{font-size:.9rem;height:18px;width:18px}.older-list-container{flex-shrink:0;min-height:auto;padding:0}.older-list-container button{font-size:.8rem;min-height:28px;padding:.4rem var(--spacing-sm)}.add-folder-btn{font-size:.8rem;min-height:28px;padding:.25rem var(--spacing-sm)}.folder-list-container .sidebar-nav-item:last-child{margin-bottom:.25rem!important}}.topic-actions-popup{animation:popupSlideIn .15s ease-out forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;box-shadow:0 8px 25px #00000026;max-width:250px;min-width:200px;opacity:0;padding:1rem;position:fixed;transform:scale(.95) translateY(-5px);z-index:1000}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-actions-grid{display:flex;flex-direction:column;gap:.5rem}.popup-action-button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.popup-action-button:hover{background-color:var(--bg-hover);transform:translateX(2px)}.popup-action-button.primary{background-color:var(--color-primary);color:#fff}.popup-action-button.primary:hover{background-color:var(--interactive-hover);transform:translateX(2px)}.popup-action-button.danger{color:var(--error)}.popup-action-button.danger:hover{background-color:#d65d5d1a;color:var(--error)}.popup-action-icon{align-items:center;display:flex;font-size:14px;height:16px;justify-content:center;width:16px}@media (max-width:768px){.topic-actions-popup{max-width:220px;min-width:180px}.popup-action-button{font-size:.85rem;padding:.6rem .8rem}.popup-action-icon{font-size:12px;height:14px;width:14px}}.topic-item{align-items:center;border:1px solid var(--border-light);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-sm);overflow:hidden;padding:var(--spacing-lg) 1.25rem}.topic-item,.topic-item:before{transition:var(--transition-fast)}.topic-item:before{background:var(--color-primary);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;width:4px}.topic-item:hover{background:var(--bg-hover);border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.topic-item:hover:before{opacity:1}.topic-item.dragging{background:var(--bg-light);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);transform:rotate(2deg) scale(1.02);z-index:1000}.topic-item.dragging:before{opacity:1}.topic-info{flex:1 1;gap:var(--spacing-md)}.favorite-button,.topic-info{align-items:center;display:flex}.favorite-button{border-radius:var(--border-radius-sm);font-size:1.5rem;justify-content:center;padding:var(--spacing-sm);transition:var(--transition-fast)}.favorite-button:hover{background-color:#edb2251a;color:var(--color-accent);transform:scale(1.1)}.favorite-button.active{background-color:var(--bg-active);color:var(--color-accent)}.topic-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.topic-name-container{align-items:center;display:flex;gap:var(--spacing-sm)}.drag-handle{pointer-events:auto;position:relative;touch-action:none;-webkit-user-select:none;user-select:none;z-index:1}.topic-item.dragging .drag-handle{color:var(--color-primary);cursor:grabbing}.topic-name{color:var(--text-dark);font-size:1.15rem;font-weight:600;line-height:1.3;margin:0}.topic-card-count{color:var(--text-secondary);font-size:.9rem;font-weight:500;margin:0}.topic-card-count:before{content:"📚 ";margin-right:var(--spacing-xs)}.topic-actions-container{align-items:center;display:flex;gap:.75rem}.action-button{align-items:center;border:1px solid #0000;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:var(--transition-fast)}.action-button.primary{background-color:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff}.action-button.primary:hover{background-color:var(--interactive-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.action-button.secondary{background-color:var(--color-secondary);box-shadow:var(--shadow-sm);color:#fff}.action-button.secondary:hover{background-color:#a0553d;box-shadow:var(--shadow-md);transform:translateY(-1px)}.action-button.outline{background-color:initial;border-color:var(--border-dark);color:var(--text-secondary)}.action-button.outline:hover{background-color:var(--bg-hover);border-color:var(--color-primary);color:var(--text-dark)}.action-button.outline.danger,.action-button.outline.danger:hover{border-color:var(--error);color:var(--error)}.action-button.outline.danger:hover{background-color:#d657611a}.topic-item.special-set{background:linear-gradient(135deg,var(--bg-card) 0,#d657610d 100%);border-left:4px solid var(--error)}.topic-item.special-set:before{background:var(--error);opacity:1}.topic-item.special-set .topic-name{color:var(--error);font-weight:700}.read-only-tag{background:var(--bg-light);border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:.75rem;font-weight:500;margin-right:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}body.modal-open .topic-item:hover{background:var(--bg-card)!important;transform:none!important}body.modal-open .action-button:hover,body.modal-open .favorite-button:hover{background-color:initial!important;transform:none!important}.topic-main-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.more-actions-btn{position:relative}.more-actions-btn:after{content:"⋮";font-weight:700;margin-left:.25rem;opacity:.7}@media (max-width:1024px){.topic-item{font-size:.85rem!important;gap:.5rem!important;margin-bottom:.25rem!important;min-height:40px!important;padding:.5rem!important}.topic-info{gap:.5rem}.favorite-button{font-size:1rem;padding:.25rem}.topic-name{font-size:.85rem!important;line-height:1.2}.topic-card-count{font-size:.75rem}.topic-actions-container{gap:.25rem}.action-button{font-size:.75rem;gap:.25rem;min-height:28px;padding:.25rem .5rem}.drag-handle{height:16px;width:16px}}@media (max-width:768px){.topic-item{align-items:stretch;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) .75rem}.topic-info{gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.topic-details{flex:1 1;gap:var(--spacing-xs) /2}.topic-name{font-size:.95rem;line-height:1.3}.topic-card-count{font-size:.75rem}.topic-actions-container{flex-wrap:wrap;gap:.375rem;justify-content:flex-end}.action-button{flex-shrink:0;font-size:.75rem;min-height:32px;padding:.375rem .625rem}.favorite-button{align-self:flex-start;font-size:1.1rem;padding:.25rem}.drag-handle{align-self:flex-start;height:16px;width:16px}.topic-main-actions{gap:.375rem}.read-only-tag{font-size:.7rem;padding:.25rem .5rem}}@media (max-width:480px){.topic-item{padding:var(--spacing-sm) .5rem}.topic-name{font-size:.9rem}.action-button,.topic-card-count{font-size:.7rem}.action-button{min-height:28px;padding:.25rem .5rem}.topic-actions-container{gap:.25rem}}@media (max-width:1024px) and (orientation:landscape) and (max-height:600px){.topic-item{font-size:.8rem!important;gap:var(--spacing-xs)!important;margin-bottom:.125rem!important;min-height:36px!important;padding:var(--spacing-xs) .75rem!important}.topic-info{gap:var(--spacing-xs)}.topic-name{font-size:.8rem!important;line-height:1.1}.topic-card-count{font-size:.7rem}.topic-actions-container{gap:.125rem}.action-button{font-size:.7rem;gap:.125rem;min-height:24px;padding:.125rem .375rem}.favorite-button{font-size:.9rem;padding:.125rem}.drag-handle{height:14px;width:14px}}.pdf-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:var(--spacing-sm);overflow:hidden;padding:var(--spacing-lg) 1.25rem;position:relative}.pdf-item,.pdf-item:before{transition:var(--transition-fast)}.pdf-item:before{background:var(--color-secondary);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;width:4px}.pdf-item:hover:not(.modal-active){background:var(--bg-hover);border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.pdf-item:hover:not(.modal-active):before{opacity:1}.pdf-item.dragging{background:var(--bg-light);box-shadow:var(--shadow-lg);transform:rotate(2deg) scale(1.02);z-index:1000}.pdf-item.dragging:before{opacity:1}.pdf-item.modal-active{background:var(--bg-card);border-color:var(--border-light);transform:none}.pdf-info{gap:.75rem;min-width:0}.pdf-icon,.pdf-info{align-items:center;display:flex}.pdf-icon{background:#be64491a;border-radius:var(--border-radius-sm);color:var(--color-secondary);font-size:1.8rem;height:40px;justify-content:center;opacity:.8;width:40px}.pdf-details{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs);min-width:0}.pdf-name{color:var(--text-dark);font-size:1.1rem;font-weight:600;line-height:1.3}.pdf-meta,.pdf-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-meta{color:var(--text-secondary);font-size:.9rem;font-weight:500}.pdf-meta:before{content:"📄 ";margin-right:var(--spacing-xs)}.pdf-actions-container{align-items:center;display:flex;gap:.5rem}.pdf-main-actions{display:flex;gap:.5rem}.pdf-more-actions{position:relative}.favorite-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem;padding:.25rem;transition:color .2s ease}.favorite-button.active,.favorite-button:hover{color:var(--color-warning)}.drag-handle{align-items:center;border-radius:var(--border-radius-sm);color:var(--text-muted);cursor:grab;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:var(--transition-fast);width:20px}.drag-handle:hover{background-color:var(--bg-hover);color:var(--text-secondary)}.drag-handle:active{cursor:grabbing}.pdf-item.dragging .drag-handle{color:var(--color-primary);cursor:grabbing}.more-actions-button{border-radius:4px;font-size:1.2rem;padding:.25rem;transition:color .2s ease}.more-actions-button:hover{background:var(--bg-secondary);color:var(--text-dark)}.more-actions-menu{background:var(--bg-card);border:1px solid var(--border-dark);border-radius:6px;box-shadow:0 4px 12px var(--shadow-medium);min-width:120px;padding:.5rem 0;top:100%;z-index:100}.more-actions-menu li{margin:0}.more-actions-menu button{background:none;border:none;color:var(--text-dark);cursor:pointer;font-size:.9rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.more-actions-menu button:hover{background:var(--bg-secondary)}.more-actions-menu button.danger{color:var(--error)}.more-actions-menu button.danger:hover{background:var(--error-light);color:var(--error-dark)}.button-small{border:none;border-radius:5px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease}.button-primary.button-small{background:var(--color-primary);color:#fff}.button-primary.button-small:hover{background:var(--interactive-hover);transform:translateY(-1px)}@media (max-width:1024px){.pdf-item{margin-bottom:var(--spacing-xs);padding:var(--spacing-md) 1rem}.pdf-info{gap:var(--spacing-sm)}.pdf-icon{font-size:1.5rem;height:36px;width:36px}.pdf-name{font-size:1rem}.pdf-meta{font-size:.85rem}.pdf-actions-container,.pdf-main-actions{gap:.375rem}.button-small{font-size:.8rem;padding:.375rem .625rem}}@media (max-width:768px){.pdf-item{align-items:stretch;flex-direction:column;padding:var(--spacing-sm) .75rem}.pdf-info,.pdf-item{gap:var(--spacing-sm)}.pdf-info{margin-bottom:var(--spacing-xs)}.pdf-icon{flex-shrink:0;font-size:1.25rem;height:32px;width:32px}.pdf-name{font-size:.95rem;line-height:1.3}.pdf-meta{font-size:.8rem}.pdf-actions-container{gap:.25rem;justify-content:flex-end}.pdf-main-actions{gap:.25rem}.button-small{font-size:.75rem;min-height:32px;padding:.25rem .5rem}.favorite-button,.more-actions-button{font-size:1.1rem;padding:.25rem}}@media (max-width:480px){.pdf-item{padding:var(--spacing-sm) .5rem}.pdf-name{font-size:.9rem}.pdf-meta{font-size:.75rem}.button-small{font-size:.7rem;min-height:28px;padding:.25rem .375rem}}@media (max-width:1024px) and (orientation:landscape) and (max-height:600px){.pdf-item{font-size:.8rem!important;gap:var(--spacing-xs)!important;margin-bottom:.125rem!important;min-height:36px!important;padding:var(--spacing-xs) .75rem!important}.pdf-info{gap:var(--spacing-xs)}.pdf-name{font-size:.8rem!important;line-height:1.1}.pdf-meta{font-size:.7rem}.pdf-actions{gap:.125rem}.button-small{font-size:.7rem;gap:.125rem;min-height:24px;padding:.125rem .375rem}.pdf-icon{font-size:1rem}.drag-handle{height:14px;width:14px}}.important-card-item{align-items:flex-start;background-color:var(--color-background-paper);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:4px;display:flex;gap:.5rem;justify-content:space-between;padding:.75rem 1rem}.important-card-content{flex:1 1;min-width:0}.important-card-question{word-wrap:break-word;color:var(--color-text-primary);font-weight:600;margin:0 0 .5rem}.important-card-answer{word-wrap:break-word;color:var(--color-text-secondary);font-size:.9em;margin:0;opacity:.9}.remove-important-button{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.5rem;font-weight:700;line-height:1;opacity:.5;padding:0 .5rem;transition:opacity .2s,color .2s}.remove-important-button:hover{color:var(--color-danger);opacity:1}.dashboard-main-content{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;overflow:hidden}.dashboard-widgets-grid{grid-gap:var(--spacing-md);display:grid;flex-shrink:0;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr)}.widget-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;min-height:85px;overflow:hidden;padding:1rem;position:relative;transition:var(--transition-fast)}.widget-card:before{background:var(--color-primary);content:"";height:100%;left:0;opacity:.7;position:absolute;top:0;width:4px}.widget-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-label{color:var(--text-dark);font-size:.85rem;font-weight:500;opacity:.7}.stat-value{color:var(--text-dark);font-size:1.75rem;font-weight:600;line-height:1.2;margin:var(--spacing-xs) 0}.stat-detail{color:var(--text-dark);font-size:.8rem;opacity:.8}.dashboard-content-body{background-color:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;flex-grow:1;height:auto;min-height:0;overflow:hidden;padding:0}.special-list-container{border-bottom:1px solid var(--border-dark);padding:0}.main-content-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.main-content-header h2{color:var(--text-dark);font-size:1.5rem;margin:0}.header-actions{gap:.75rem;position:relative}.more-actions-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.5rem;font-weight:700;line-height:1;padding:0 var(--spacing-sm)}.more-actions-menu{background-color:var(--bg-card);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-lg);list-style:none;margin:0;min-width:180px;padding:var(--spacing-sm) 0;position:absolute;right:0;top:calc(100% + 5px);width:-webkit-max-content;width:max-content;z-index:1000}.more-actions-menu li a,.more-actions-menu li button{background:none;border:none;color:var(--text-dark);cursor:pointer;display:block;font-size:.95rem;padding:.6rem 1.25rem;text-align:left;text-decoration:none;width:100%}.more-actions-menu li a:hover,.more-actions-menu li button:hover{background-color:var(--bg-hover)}.more-actions-menu .menu-divider hr{border:none;border-top:1px solid var(--border-light);margin:var(--spacing-sm) 0}.more-actions-menu .danger{color:var(--error)}.more-actions-menu .danger:hover{background-color:#dc35451a}.content-wrapper{flex-grow:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-md);position:relative}.content-wrapper::-webkit-scrollbar{width:6px}.content-wrapper::-webkit-scrollbar-track{background:#0000}.content-wrapper::-webkit-scrollbar-thumb{background-color:var(--bg-hover);border-radius:3px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.content-wrapper::-webkit-scrollbar-thumb:hover{background-color:#0006}.content-wrapper::-webkit-scrollbar-thumb{min-height:30px}.content-wrapper{scrollbar-color:#0003 #0000;scrollbar-width:thin}.topic-item{background:var(--bg-card);position:relative}.folder-grid-list+.topic-list-ul{border-top:1px solid var(--border-light);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.important-cards-list-main,.topic-list-ul{list-style:none;margin:0;min-height:-webkit-fit-content;min-height:fit-content;overflow:visible;padding:0;padding-bottom:var(--spacing-md)}.topic-list-ul.drop-active{background-color:var(--bg-active);border-radius:var(--border-radius-sm)}.empty-folder-message,.empty-view-message{align-items:center;color:var(--text-muted);display:flex;font-style:italic;justify-content:center;min-height:150px;padding:3rem var(--spacing-lg);text-align:center}.folder-grid-list{grid-gap:var(--spacing-md);border-bottom:1px solid var(--border-light);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));list-style:none;margin:0 0 var(--spacing-md) 0;padding:0;padding-bottom:var(--spacing-md)}.folder-grid-item{align-items:center;background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;gap:var(--spacing-md);overflow:hidden;padding:var(--spacing-lg);position:relative;transition:var(--transition-fast)}.folder-grid-item:before{background:var(--color-accent);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:var(--transition-fast);width:4px}.folder-grid-item:hover{background-color:var(--bg-hover);border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.folder-grid-item:hover:before{opacity:1}.folder-grid-icon{align-items:center;background:#edb2251a;border-radius:var(--border-radius-sm);color:var(--color-accent);display:flex;font-size:2rem;height:45px;justify-content:center;width:45px}.folder-grid-name{color:var(--text-dark);font-size:1.1rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1200px){.dashboard-widgets-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}.widget-card{min-height:90px;padding:1rem}}@media (max-width:1024px){.dashboard-main-content{background-color:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:none;overflow:hidden;padding:var(--spacing-sm);position:relative}.dashboard-widgets-grid{display:none}.dashboard-content-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.content-wrapper{flex:1 1;margin:0;min-height:0;overflow-y:auto!important;padding:0}.pdf-list-ul,.topic-list-ul{margin:0;padding:0 0 var(--spacing-lg) 0}.pdf-item,.topic-item{font-size:.85rem!important;margin-bottom:.25rem!important;min-height:40px!important;padding:.5rem!important}.folder-grid-list{gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.folder-grid-item{gap:var(--spacing-xs);min-height:60px;padding:var(--spacing-sm)}.folder-grid-icon{font-size:1.25rem;height:32px;width:32px}.folder-grid-name{font-size:.85rem}.main-content-header{flex-shrink:0;padding:var(--spacing-sm)}.main-content-header h2{font-size:1.2rem}.content-wrapper::-webkit-scrollbar{width:6px}.content-wrapper::-webkit-scrollbar-track{background:var(--bg-light);border-radius:var(--border-radius-sm)}.content-wrapper::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--border-dark);border:1px solid #0000;border-radius:var(--border-radius-sm)}.content-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}}@media (max-width:768px) and (orientation:portrait){.content-wrapper{padding:0}.main-content-header{padding:var(--spacing-sm)}.main-content-header h2{font-size:1.2rem}.folder-grid-list{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm)}}@media (max-width:1024px) and (orientation:landscape) and (max-height:600px){.dashboard-main-content{gap:.125rem!important;height:100vh!important;overflow:hidden!important;padding:.25rem!important}.dashboard-content-body{display:flex!important;flex:1 1!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}.main-content-header{flex-shrink:0!important;min-height:28px!important;padding:.25rem var(--spacing-sm)!important}.main-content-header h2{font-size:1rem!important;margin:0!important}.content-wrapper{flex-grow:1;min-height:0;overflow-y:auto;padding:0!important}.pdf-list-ul,.topic-list-ul{gap:.1rem!important}.pdf-item,.topic-item{margin-bottom:.1rem!important;min-height:28px!important;padding:.25rem var(--spacing-xs)!important}.folder-grid-list{gap:.125rem!important;margin-bottom:.125rem!important;padding-bottom:.125rem!important}.folder-grid-item{min-height:48px!important;padding:.25rem!important}.folder-grid-icon{font-size:1rem!important;height:24px!important;width:24px!important}.folder-grid-name{font-size:.8rem!important;line-height:1.1!important}}@media (max-width:600px){.dashboard-main-content{gap:var(--spacing-sm);padding:var(--spacing-sm)}.dashboard-widgets-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.widget-card{min-height:80px;padding:.8rem}.stat-value{font-size:1.4rem}.main-content-header{padding:var(--spacing-sm) var(--spacing-md)}.content-wrapper{padding:0}.folder-grid-list{gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.folder-grid-item{flex-direction:column;gap:var(--spacing-xs);min-height:80px;padding:var(--spacing-sm);text-align:center}.folder-grid-icon{font-size:1.25rem;height:32px;width:32px}.folder-grid-name{font-size:.9rem;line-height:1.2;overflow:visible;text-overflow:clip;white-space:normal}}.dashboard-layout{grid-gap:var(--spacing-md);box-sizing:border-box;display:grid;gap:var(--spacing-md);grid-template-columns:var(--sidebar-width) 1fr;height:98%;overflow:hidden;width:100%}.dashboard-mobile-content,.dashboard-mobile-tabs{display:none}@media (max-width:1024px){.dashboard-layout{display:none}.dashboard-mobile-tabs{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);display:flex;margin-bottom:var(--spacing-md);overflow:hidden}.dashboard-mobile-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;padding:1rem .75rem;position:relative;transition:var(--transition-fast)}.dashboard-mobile-tab.active{background:var(--bg-light);border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:600}.dashboard-mobile-tab:hover:not(.active){background:var(--bg-light);color:var(--text-primary)}.dashboard-mobile-tab:first-child{border-right:1px solid var(--border-light)}.dashboard-mobile-content{display:flex;flex-direction:column;height:calc(100vh - 140px);overflow:hidden;padding-bottom:0}.dashboard-mobile-content>.dashboard-folder-panel,.dashboard-mobile-content>.dashboard-main-content{display:flex;flex:1 1;flex-direction:column;height:100%;overflow:hidden}.dashboard-mobile-content>.dashboard-folder-panel .panel-section,.dashboard-mobile-content>.dashboard-main-content .content-wrapper{flex:1 1;overflow-y:auto}.dashboard-mobile-tab{font-size:.9rem;padding:.75rem .5rem}}@media (max-width:768px) and (orientation:portrait){.dashboard-mobile-content{height:calc(100vh - 160px)}.dashboard-mobile-tabs{margin-bottom:.25rem}.dashboard-mobile-tab{font-size:.85rem;padding:.6rem .5rem}}@media (max-width:1024px) and (orientation:landscape) and (max-height:600px){.dashboard-mobile-content{height:calc(100vh - 90px);overflow:hidden}.dashboard-mobile-tabs{border-radius:0;flex-shrink:0;height:36px;margin:0;padding:0}.dashboard-mobile-tab{align-items:center;border-radius:0;display:flex;font-size:.7rem;gap:.1rem;height:36px;padding:.3rem .5rem}.dashboard-mobile-content>.dashboard-folder-panel,.dashboard-mobile-content>.dashboard-main-content{border-radius:var(--border-radius-sm);flex:1 1;min-height:0;overflow:hidden}}.copy-menu-header{align-items:center;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light);display:flex;padding:.8rem 1.25rem}.copy-menu-header h4{color:var(--text-primary);flex-grow:1;font-size:.95rem;margin:0;text-align:center}.back-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;margin-right:.5rem;padding:0;transition:color .2s ease}.back-button:hover{color:var(--color-primary)}.copy-card-list{background-color:var(--bg-card);list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:0}.copy-card-list li{color:var(--text-primary);cursor:pointer;font-size:.95rem;padding:.8rem 1.25rem;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.copy-card-list li:hover{background-color:#eef7f9;background-color:var(--color-primary-muted,#eef7f9);color:var(--color-primary)}.copy-card-list li.no-options{color:var(--color-neutral);cursor:default;font-style:italic;text-align:center}.copy-card-list li.no-options:hover{background-color:initial;color:var(--color-neutral)}.flashcard-options-menu{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 5px 15px #0000001a;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 5px);z-index:100}.flashcard-options-menu ul{list-style:none;margin:0;padding:0}.menu-item{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;justify-content:space-between;padding:.8rem 1.25rem;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.menu-item:hover{background-color:var(--bg-hover);color:var(--color-primary)}.submenu-arrow{color:var(--text-secondary);font-size:1.1em}.flashcard-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:1.5rem;height:100%;justify-content:center;min-height:400px;overflow:visible;padding:1rem;width:100%}body.study-session-active .flashcard-container{box-sizing:border-box;gap:1rem;height:100%;justify-content:flex-start;max-width:none;min-height:400px;padding:.5rem 1rem 1rem;width:100%}.flashcard{height:400px;max-height:500px;max-width:800px;min-height:300px;overflow:hidden;perspective:1200px;position:relative;width:100%}body.study-session-active .flashcard{height:450px;margin:0 auto;max-height:500px;max-width:900px;min-height:350px;overflow:hidden;width:85%}.flashcard-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.25,.46,.45,.94);width:100%;will-change:transform}.flashcard-back,.flashcard-front{align-items:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--bg-card);border:2px solid var(--border-light);border-radius:12px;box-shadow:0 5px 20px #00000014;display:flex;flex-direction:column;gap:1.5rem;height:100%;justify-content:center;padding:2rem;position:absolute;transition:all .3s ease;width:100%;will-change:transform,opacity}.flashcard-back{transform:rotateY(180deg)}.flashcard-back p{cursor:pointer}.flashcard-inner.is-flipped{transform:rotateY(180deg)}.flashcard-front{transform:rotateY(0deg)}.flashcard.correct .flashcard-back,.flashcard.correct .flashcard-front{border-color:var(--color-success);box-shadow:0 0 0 4px var(--bg-success);transition:all .4s ease}.flashcard.incorrect .flashcard-back,.flashcard.incorrect .flashcard-front{border-color:var(--color-error);box-shadow:0 0 0 4px var(--bg-error);transition:all .4s ease}.flashcard-text{box-sizing:border-box;font-size:2rem;line-height:1.5;margin:0;max-height:80%;overflow-x:hidden;overflow-y:auto;text-align:center;width:80%}body.study-session-active .flashcard-text{font-size:1.8rem;line-height:1.5;max-height:85%}.flashcard-menu-container{position:absolute;right:1rem;top:.5rem;z-index:20}.flashcard-menu-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.5rem;font-weight:700;line-height:1;padding:0 .5rem;transition:color .2s ease}.flashcard-menu-button:hover{color:var(--text-primary)}.feedback-buttons{display:flex;gap:1.5rem;justify-content:center;margin-top:1rem;opacity:1;padding:1rem 0;transition:opacity .2s ease,visibility .2s ease;visibility:visible;width:100%}.feedback-buttons.is-hidden{height:0;margin-top:-2rem;opacity:0;overflow:hidden;visibility:hidden}.flashcard.is-preview{aspect-ratio:auto;height:300px;min-height:300px;width:100%}.flashcard.is-preview .flashcard-back,.flashcard.is-preview .flashcard-front{gap:.5rem;padding:1rem}.flashcard.is-preview .flashcard-text{flex-grow:1;font-size:.9rem;max-height:100%}.flashcard-content-stack{align-items:center;display:flex;flex-direction:column;flex-grow:1;gap:1.5rem;height:100%;width:100%}.flashcard-carousel-wrapper{gap:2.5rem;margin:0 auto;max-width:1760px;padding:1rem 0;width:100%}.carousel-nav-button,.flashcard-carousel-wrapper{align-items:center;display:flex;justify-content:center}.carousel-nav-button{background-color:var(--background-color-offset);border:1px solid var(--border-color-light);border-radius:50%;box-shadow:0 2px 8px #00000014;color:var(--text-color-secondary);cursor:pointer;flex-shrink:0;font-size:2.75rem;height:55px;line-height:1;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:55px;z-index:10}.carousel-nav-button.prev{left:22rem;padding:0 0 4px}.carousel-nav-button:hover:not(:disabled){background-color:var(--border-color-light);color:var(--text-color-primary);transform:translateY(-50%) scale(1.05)}.carousel-nav-button:disabled{cursor:not-allowed;opacity:.3;transform:translateY(-50%)}.flashcard-nav-zone{align-items:center;border-radius:12px;bottom:0;cursor:pointer;display:flex;justify-content:center;position:absolute;top:0;transition:all .3s ease;width:22%;z-index:15}.flashcard-nav-zone.left{border-right:2px solid #0000;left:0}.flashcard-nav-zone.right{border-left:2px solid #0000;right:0}.flashcard-nav-zone:hover:not(.disabled){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#4a90e214}.flashcard-nav-zone.left:hover:not(.disabled){border-right:2px solid #4a90e24d;box-shadow:inset -10px 0 20px -10px #4a90e226}.flashcard-nav-zone.right:hover:not(.disabled){border-left:2px solid #4a90e24d;box-shadow:inset 10px 0 20px -10px #4a90e226}.flashcard-nav-zone.disabled{cursor:not-allowed;opacity:.2}.flashcard-nav-zone.disabled:hover{background-color:initial;border-color:#0000;box-shadow:none}.button-success{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;min-width:140px;padding:.8rem 1.5rem;transition:all .2s ease}.button-success:hover{background-color:var(--interactive-hover);transform:translateY(-1px)}.button-danger{background-color:#dc3545;border:1px solid #dc3545;border-radius:8px}.button-danger,.button-secondary{cursor:pointer;font-size:1rem;font-weight:500;min-width:140px;padding:.8rem 1.5rem;transition:all .2s ease}.button-secondary{background-color:#7c7c7c;border:none;border-radius:8px}.button-secondary:hover{background-color:#6c6c6c}.flashcard-image{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:1rem;max-width:400px;overflow:hidden;width:100%}.flashcard-image img{display:block;height:auto;max-height:300px;object-fit:contain;width:100%}.flashcard-image-error,.flashcard-image-loading{border:1px dashed var(--border-light);border-radius:8px;color:var(--text-secondary);font-style:italic;margin-top:1rem;padding:1rem;text-align:center}.flashcard-image-error{color:var(--color-danger)}@media (max-width:1024px){.flashcard-text{font-size:1.8rem}body.study-session-active .flashcard-text{font-size:2.2rem}body.study-session-active .flashcard{max-width:1320px;width:96%}.flashcard-carousel-wrapper{gap:2rem}.carousel-nav-button.prev{left:.5rem}.carousel-nav-button.next{right:.5rem}}@media (max-width:768px){.flashcard-container{gap:1.25rem;padding:1.25rem}.flashcard{min-height:275px}.flashcard-text{font-size:1.55rem}body.study-session-active .flashcard-text{font-size:2rem}body.study-session-active .flashcard{max-width:none;min-height:440px;width:100%}.flashcard-back,.flashcard-front{padding:1.75rem}.flashcard-carousel-wrapper{gap:1.25rem}.carousel-nav-button{font-size:2.5rem;height:50px;width:50px}.carousel-nav-button.prev{left:.25rem}.carousel-nav-button.next{right:.25rem}}@media (max-width:480px){.flashcard{min-height:220px}.flashcard-text{font-size:1.35rem}body.study-session-active .flashcard-text{font-size:1.65rem}body.study-session-active .flashcard{min-height:330px}.flashcard-back,.flashcard-front{gap:1.25rem;padding:1.25rem}.carousel-nav-button{font-size:2.25rem;height:45px;width:45px}.carousel-nav-button.prev{left:.125rem}.carousel-nav-button.next{right:.125rem}}.flashcard-editor-wrapper{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.flashcard-editor-header{align-items:center;background-color:var(--bg-light);border-bottom:1px solid var(--border-light);color:var(--text-primary);display:flex;justify-content:space-between;padding:.75rem 1.25rem}.editor-preview-container{display:grid;grid-template-columns:1fr 1fr}.editor-fields{border-right:1px solid var(--border-light);gap:1rem;padding:1.25rem}.editor-fields,.field-group{display:flex;flex-direction:column}.field-group label{color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.editor-fields textarea{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);font-size:1rem;min-height:120px;padding:.8rem;resize:vertical;width:100%}.editor-preview{background-color:var(--bg-card);display:flex;flex-direction:column;gap:1rem;min-height:300px;padding:1.25rem}.editor-preview-controls{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.5rem}.editor-preview-controls h5{color:var(--text-primary);font-weight:600;margin:0}.editor-preview-controls .button-secondary-outline{font-size:.9rem;padding:.5rem 1rem}.editor-preview .flashcard-container{background-color:initial;display:flex!important;flex-direction:column;flex-grow:1;height:100%;min-height:200px}.editor-preview .flashcard,.editor-preview .flashcard-carousel-wrapper,.editor-preview .flashcard-content-stack,.editor-preview .flashcard-inner{display:flex!important;flex-direction:column;height:100%;width:100%}.editor-preview .flashcard{aspect-ratio:auto;max-width:none}.editor-preview .flashcard-back,.editor-preview .flashcard-front{background-color:var(--bg-card);border-color:var(--border-light);border:2px solid var(--border-light);border-radius:8px;justify-content:flex-start;padding:1rem}.editor-preview .flashcard-text{flex-grow:1;font-size:1rem;line-height:1.5;max-height:100%;text-align:left}.editor-preview .flashcard-text p{margin-bottom:.5rem}.editor-preview .flashcard-text p:last-child{margin-bottom:0}.editor-preview .flashcard-face{background-color:var(--bg-card);display:flex;min-height:200px}.editor-preview .button-secondary{align-self:center;margin-top:auto}.editor-preview .flashcard-container{max-height:400px;min-height:250px}.editor-preview .flashcard-image{margin-top:1rem;max-width:100%}.editor-preview .flashcard-image img{border-radius:4px;height:auto;max-width:100%}.editor-preview .flashcard-inner{height:200px;min-height:200px;position:relative;transform-style:preserve-3d;transition:transform .6s ease;width:100%}.editor-preview .flashcard-inner.is-flipped{transform:rotateY(180deg)}.editor-preview .flashcard-face{align-items:stretch;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex!important;flex-direction:column;height:100%;justify-content:flex-start;left:0;position:absolute;top:0;width:100%}.editor-preview .flashcard-back{transform:rotateY(180deg)}.editor-preview .flashcard-carousel-wrapper,.editor-preview .flashcard-container,.editor-preview .flashcard-content-stack{display:flex!important;opacity:1!important;visibility:visible!important}.flashcard-preview-wrapper{display:flex;flex-direction:column;flex-grow:1;min-height:250px;width:100%}.simple-flashcard-preview{align-items:center;flex-grow:1;justify-content:center;perspective:1000px}.simple-card{height:250px;max-height:350px;min-height:200px;position:relative;transform-style:preserve-3d;transition:transform .6s;width:100%}.simple-card.flipped{transform:rotateY(180deg)}.simple-card-back,.simple-card-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--bg-card);border:2px solid var(--border-light);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:100%;padding:1rem;position:absolute;width:100%}.simple-card-back{transform:rotateY(180deg)}.simple-card-content{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;overflow:hidden}.simple-card-content strong{color:var(--color-primary);font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.simple-card-content p{color:var(--text-primary);flex-shrink:0;line-height:1.4;margin:0}.simple-card-content .image-preview{border:1px solid var(--border-light);border-radius:4px;margin-top:.75rem;max-height:120px;max-width:100%;overflow:hidden}.simple-card-content .image-preview img{display:block;height:auto;max-height:120px;object-fit:contain;width:100%}.simple-card-content .image-preview-error,.simple-card-content .image-preview-loading{color:var(--text-muted);font-size:.85rem;font-style:italic;padding:.5rem;text-align:center}.image-controls{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.image-preview{border:1px solid var(--border-light);border-radius:4px;margin-top:.5rem;max-width:100%;overflow:hidden}.image-preview img{display:block;height:auto;width:100%}.image-preview-error,.image-preview-loading{color:var(--text-muted);font-style:italic;padding:1rem;text-align:center}.button-danger-outline,.button-secondary-outline{border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.3rem .7rem;transition:all .2s ease}.button-danger-outline{background-color:initial;border:1px solid #dc3545;color:#dc3545}.button-danger-outline:hover{background-color:#dc3545;color:#fff}.button-secondary-outline{background-color:initial;border:1px solid #ced4da;color:#6c757d}@media (max-width:768px){.editor-preview-container{grid-template-columns:1fr}.editor-fields{border-bottom:1px solid var(--border-light);border-right:none}.editor-preview{border-top:1px solid var(--border-light)}}.topic-creator{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;margin-bottom:2rem;margin-top:2rem;padding:1.5rem}.topic-creator .form-group{margin-bottom:1rem}.topic-creator label{color:var(--text-primary);display:block;font-weight:700;margin-bottom:.5rem}.topic-creator input[type=text],.topic-creator textarea{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;padding:.75rem;width:100%}.topic-creator textarea{font-family:inherit;min-height:80px;resize:vertical}.editor-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.editor-header h2{margin:0}.creator-actions{align-items:center;display:flex;gap:1rem}.message{border-radius:var(--border-radius-sm);font-weight:500;margin-bottom:1rem;padding:.75rem 1rem}.message.success{background-color:var(--success);border:1px solid var(--success);color:#fff}.message.error{background-color:var(--error);border:1px solid var(--error);color:#fff}.message.warning{background-color:var(--warning);border:1px solid var(--warning);color:#fff}.no-cards-message{color:var(--text-muted);font-style:italic;padding:2rem;text-align:center}.practice-page-container{padding:1.5rem}.practice-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.practice-header h2{color:var(--text-primary);margin:0}.practice-card-list{display:flex;flex-direction:column;gap:1.5rem}.practice-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 2px 5px var(--border-dark);overflow:hidden}.practice-card-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light);padding:.75rem 1.5rem}.practice-card-header h4{color:var(--text-primary);font-size:1rem;margin:0}.practice-card-body{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;padding:1.5rem}@media (min-width:768px){.practice-card-body{grid-template-columns:1fr 1fr}}.practice-card-section label{color:var(--color-primary);display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase}.practice-card-section p{word-wrap:break-word;margin:0;white-space:pre-wrap}.practice-card-image{border-radius:6px;box-shadow:0 2px 8px #0000001a;margin-top:.75rem;overflow:hidden}.practice-card-image img{display:block;height:auto;max-height:250px;object-fit:contain;width:100%}.practice-card-image-error,.practice-card-image-loading{border:1px dashed var(--border-light);border-radius:6px;color:var(--text-secondary);font-style:italic;margin-top:.75rem;padding:.75rem;text-align:center}.practice-card-image-error{color:var(--color-danger)}.master-detail-layout{grid-gap:1.5rem;display:grid;flex-grow:1;gap:1.5rem;grid-template-columns:340px 1fr;min-height:0}.master-list-container{background-color:var(--bg-card);border-radius:8px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;min-height:0;overflow:hidden}.master-list-container h2{color:var(--text-primary);flex-shrink:0;font-size:1.25rem;margin:0;padding:1rem 1.25rem .5rem}.topic-list-controls{border-bottom:none;display:flex;flex-direction:column;flex-shrink:0;gap:.75rem;padding:1rem 1.25rem}.topic-list{flex-grow:1;overflow-y:auto;padding:.5rem}.topic-list-item{align-items:center;background:none;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:.8rem 1rem;text-align:left;transition:background-color .2s,border-color .2s;width:100%}.topic-list-item:hover{background-color:var(--bg-hover)}.topic-list-item.active{background-color:var(--bg-active);border-color:var(--color-primary);color:var(--text-primary)}.topic-item-name{font-weight:500;overflow:hidden;padding-right:1rem;text-overflow:ellipsis;white-space:nowrap}.no-match-message,.no-performance-data{color:var(--text-muted);padding:1rem;text-align:center}.detail-view-container{display:flex;flex-direction:column;min-height:0;overflow:hidden;width:100%}.topic-detail-content,.topic-detail-placeholder{background-color:var(--bg-card);border-radius:8px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:1.5rem}.topic-detail-placeholder{align-items:center;justify-content:center;text-align:center}.topic-card-header{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1rem}.topic-card-title{color:var(--text-primary);font-size:1.5rem;margin:0}.topic-card-stats{color:var(--text-muted);display:flex;gap:1rem}.chart-toggle-controls{display:flex;flex-shrink:0;gap:.5rem;margin-bottom:1.5rem}.toggle-btn{background-color:initial;border:1px solid;border-radius:6px;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.toggle-btn:first-child{border-color:var(--color-primary);color:var(--color-primary)}.toggle-btn:first-child.active{background-color:var(--color-primary);color:#fff}.toggle-btn:first-child:hover:not(.active){background-color:var(--bg-active)}.toggle-btn:last-child{border-color:var(--color-secondary);color:var(--color-secondary)}.toggle-btn:last-child.active{background-color:var(--color-secondary);color:#fff}.toggle-btn:last-child:hover:not(.active){background-color:var(--bg-active)}.topic-card-chart-body{display:flex;flex-direction:column;flex-grow:1;min-height:300px}.card-perf-chart-container{align-items:flex-end;display:flex;flex-grow:1;gap:12px;height:100%;overflow-x:auto;padding:10px;width:100%}.chart-bar-group{align-items:center;cursor:pointer;display:flex;flex-basis:60px;flex-direction:column;flex-shrink:0;height:100%;justify-content:flex-end;position:relative}.chart-bar-group .tooltip{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;bottom:105%;box-shadow:0 4px 8px #0003;color:var(--text-primary);font-size:14px;left:50%;line-height:1.5;opacity:0;padding:8px 12px;position:absolute;text-align:left;transform:translateX(-50%);transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:220px;z-index:10}.chart-bar-group .tooltip:after{border-color:var(--bg-secondary) #0000 #0000 #0000;border-style:solid;border-width:5px;content:"";left:50%;margin-left:-5px;position:absolute;top:100%}.chart-bar-group:hover .tooltip{opacity:1;visibility:visible}.positive-bar-stack{justify-content:flex-end}.negative-bar-container,.positive-bar-stack{align-items:center;display:flex;flex-direction:column;height:50%;width:32px}.negative-bar-container{justify-content:flex-start;margin-top:-1px}.bar{border:none;box-sizing:border-box;margin:0;padding:0;transition:filter .2s ease-in-out;width:100%}.chart-bar-group:hover .bar{filter:brightness(1.15)}.positive-bar{background-color:#66bb6a;border-radius:4px 4px 0 0;display:block}.partial-bar{background-color:#ffa726;display:block;margin-top:0}.negative-bar{background-color:#ef5350;border-radius:0 0 4px 4px;display:block}.center-axis-line{border-top:1px dashed var(--border-light);display:block;flex-shrink:0;font-size:0;height:0;line-height:0;margin:0;padding:0;width:100%}.bar-label-container{align-items:flex-start;display:flex;height:50px;justify-content:center;margin-top:8px;width:100%}.bar-label{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:var(--text-secondary);display:-webkit-box;font-size:12px;line-height:1.4;overflow:hidden;padding:0 2px;text-align:center;text-overflow:ellipsis;transition:color .2s ease-in-out;width:100%;word-break:break-word}.chart-bar-group:hover .bar-label{color:#66bb6a;font-weight:600}.modal-backdrop-cdm{-webkit-app-region:no-drag;align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background-color:initial!important;background:#0000!important;contain:strict;height:100vh;justify-content:center;left:0;overscroll-behavior:contain;padding:1rem;pointer-events:all!important;position:fixed;top:0;-webkit-user-select:none;user-select:none;width:100vw;will-change:opacity;z-index:99999}.modal-backdrop-cdm,.modal-content-cdm{display:flex;isolation:isolate!important}.modal-content-cdm{animation:slide-down-cdm .3s ease-out;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;background-color:#fff!important;background-color:var(--bg-card,#fff)!important;background:#fff!important;background:var(--bg-card,#fff)!important;background-image:none!important;border:1px solid #0000001a;border-radius:8px;box-shadow:0 5px 15px #0000004d;contain:content!important;flex-direction:column;max-height:90vh;max-width:550px;opacity:1!important;pointer-events:auto!important;position:relative;transform:translateZ(0)!important;-webkit-transform:translateZ(0)!important;width:90%;z-index:100000}@keyframes slide-down-cdm{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-header-cdm{align-items:center;background-color:var(--bg-card);border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--border-light,#e5e5e5);display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header-cdm h4{color:#333;color:var(--text-primary,#333);font-size:1.25rem;margin:0}.close-button-cdm{background:none;border:none;color:#6c757d;color:var(--text-muted,#6c757d);cursor:pointer;font-size:1.75rem;font-weight:700;line-height:1;padding:.25rem;pointer-events:auto!important;position:relative;transition:color .2s ease;z-index:100001}.close-button-cdm:hover{color:#333;color:var(--text-primary,#333)}.modal-body-cdm{display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.5rem;pointer-events:auto!important}.modal-overlay{background-color:var(--modal-overlay-light)}.modal-content{box-shadow:0 5px 15px #0000004d;max-width:550px;width:90%}.modal-header{background-color:var(--bg-card)}.modal-header h4{color:var(--text-primary);font-size:1.25rem;margin:0}.close-button{color:var(--text-secondary);padding:0;transition:color .2s ease}.close-button:hover{color:var(--text-primary)}.modal-body{display:flex;flex-direction:column;gap:1.5rem}.card-detail-section strong{color:var(--text-primary);display:block;font-weight:600;margin-bottom:.5rem}.card-detail-section p{background:var(--bg-card);border:1px solid var(--border-light);border-radius:6px;line-height:1.6;padding:.75rem 1rem}.panel-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);text-align:center}.panel-stat .count{display:block;font-size:1.75rem;font-weight:600}.panel-stat .label{color:var(--text-secondary);font-size:.8rem;text-transform:uppercase}.panel-stat.correct .count{color:#66bb6a}.panel-stat.partial .count{color:#ffa726}.panel-stat.incorrect .count{color:#ef5350}.performance-content-layout{grid-gap:1.5rem;display:grid;flex-grow:1;gap:1.5rem;grid-template-columns:340px 1fr;min-height:0}.list-panel{background-color:var(--bg-card);border-radius:8px;box-shadow:0 2px 8px #0000000f;min-height:0;overflow:hidden}.list-panel,.list-panel-header{display:flex;flex-direction:column}.list-panel-header{border-bottom:1px solid var(--border-light);flex-shrink:0;gap:.75rem;padding:1rem 1.25rem}.list-panel h4{color:var(--text-primary);flex-shrink:0;font-size:1.25rem;margin:0 0 .5rem;padding:0}.scrollable-list{flex-grow:1;overflow-y:auto;padding:.5rem}.topic-item-main-content{display:flex;flex-direction:column;gap:2px;overflow:hidden}.topic-item-subtext{color:var(--text-secondary);font-size:.8rem}.topic-list-item.active .topic-item-subtext{color:#2196f3}.detail-panel{min-height:0;overflow:hidden}.ai-detail-content,.detail-panel{display:flex;flex-direction:column}.ai-detail-content{background-color:var(--bg-card);border-radius:8px;box-shadow:0 2px 8px #0000000f;height:100%;justify-content:flex-start;overflow-y:auto;padding:1.5rem}.ai-detail-header{align-items:flex-start;border-bottom:1px solid var(--border-light);display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.ai-detail-title{color:var(--text-primary);font-size:1.5rem;margin:0 0 .5rem}.ai-detail-meta{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.9rem;gap:.25rem}.donut-chart-container{flex-shrink:0;text-align:center}.donut-chart-container svg{height:100px;width:100px}.donut-background{fill:#e0e0e0}.donut-foreground{fill:none;stroke:#4caf50;stroke-width:10;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .5s}.donut-text{text-anchor:middle;dominant-baseline:middle;fill:var(--text-primary);font-size:24px;font-weight:600}.donut-legend{align-items:flex-start;display:flex;flex-direction:column;font-size:.85rem;gap:4px;margin-top:.5rem}.legend-item{align-items:center;display:flex;gap:6px}.legend-dot{border-radius:50%;height:10px;width:10px}.legend-dot.correct{background-color:#4caf50}.legend-dot.incorrect{background-color:#f44336}.ai-detail-results{display:flex;flex-direction:column;flex-grow:1;min-height:0}.ai-detail-results h4{color:var(--text-primary);flex-shrink:0;margin:0 0 1rem}.question-list{flex-grow:1;overflow-y:auto;padding-right:10px}.ai-report-item{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:6px;margin-bottom:1rem;padding:1rem}.ai-report-question{color:var(--text-primary);font-weight:500;line-height:1.5;margin:0 0 .75rem}.ai-report-answer{border-radius:4px;line-height:1.5;margin:0 0 .75rem;padding:.75rem}.ai-report-answer.correct{background-color:#4caf501a;border-left:3px solid var(--success);color:var(--text-primary)}.ai-report-answer.incorrect{background-color:#d657611a;border-left:3px solid var(--error);color:var(--text-primary)}.ai-report-correct-answer,.ai-report-explanation{background-color:var(--bg-hover);border-radius:4px;color:var(--text-primary);line-height:1.5;padding:.75rem}.ai-report-correct-answer{margin:0 0 .75rem}.ai-report-explanation{margin:0}.modal-backdrop-sdm{-webkit-app-region:no-drag;align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background-color:initial!important;background:#0000!important;contain:strict;height:100vh;justify-content:center;left:0;overscroll-behavior:contain;padding:1rem;pointer-events:all!important;position:fixed;top:0;-webkit-user-select:none;user-select:none;width:100vw;will-change:opacity;z-index:99999}.modal-backdrop-sdm,.modal-content-sdm{display:flex;isolation:isolate!important}.modal-content-sdm{animation:slide-down-sdm .3s ease-out;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;background-color:#fff!important;background-color:var(--bg-card,#fff)!important;background:#fff!important;background:var(--bg-card,#fff)!important;background-image:none!important;border:1px solid #0000001a;border-radius:8px;contain:content!important;flex-direction:column;max-height:80vh;max-width:600px;opacity:1!important;overflow:hidden;pointer-events:auto!important;position:relative;transform:translateZ(0)!important;-webkit-transform:translateZ(0)!important;width:90vw;z-index:100000}@keyframes slide-down-sdm{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-header-sdm{align-items:center;border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--border-light,#e5e5e5);display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.modal-header-sdm h3{color:#333;color:var(--text-primary,#333);font-size:1.25rem;margin:0}.close-button-sdm{background:none;border:none;color:#6c757d;color:var(--text-muted,#6c757d);cursor:pointer;font-size:1.75rem;font-weight:700;line-height:1;padding:.25rem;pointer-events:auto!important;position:relative;transition:color .2s ease;z-index:100001}.close-button-sdm:hover{color:#333;color:var(--text-primary,#333)}.modal-body-sdm{overflow-y:auto;padding:1.5rem;pointer-events:auto!important}.modal-overlay{animation:fadeIn .3s ease;background-color:var(--bg-secondary);inset:0;opacity:.6}@keyframes fadeIn{0%{opacity:0}to{opacity:.6}}.modal-content{animation:slideIn .3s ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--bg-card,#fff);box-shadow:0 5px 15px var(--border-dark);display:flex;flex-direction:column;isolation:isolate;max-height:80vh;max-width:600px;opacity:1;transform:translateZ(0);width:90vw}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-header{flex-shrink:0;padding:1rem 1.5rem}.modal-header h3{font-size:1.25rem;margin:0}.close-button{background:none;border:none;color:#6c757d;cursor:pointer;font-size:1.75rem;font-weight:300;line-height:1;padding:.25rem}.modal-body{padding:1.5rem}.session-info{background-color:#f8f9fa;border-radius:6px;display:flex;font-size:.95rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.session-review-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filter-btn{background-color:#fff;border:1px solid var(--border-color)}.filter-btn:hover{background-color:#f1f3f5;border-color:#adb5bd}.filter-btn.active{background-color:var(--color-primary)}.session-review-card-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.session-review-card-item{align-items:center;background-color:#fcfdff;border:1px solid var(--border-color-light);border-radius:6px;display:flex;justify-content:space-between;padding:.75rem 1rem}.no-results-item{color:#6c757d;padding:1rem}.card-question{flex-grow:1;padding-right:1rem}.card-status{border-radius:4px;font-weight:600;padding:.2rem .6rem}.card-status.status-correct{background-color:#d1fae5;color:var(--success-color)}.card-status.status-incorrect{background-color:#fee2e2;color:var(--danger-color)}.card-status.status-partially{background-color:#fef3c7;color:var(--warning-color-dark)}.performance-page-container{display:flex;flex-direction:column;gap:0;height:calc(100vh - 11rem);overflow:hidden}.view-switcher{background-color:var(--bg-card);border-bottom:none;border-radius:8px 8px 0 0;display:flex;flex-shrink:0;position:relative}.tab-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;font-weight:500;padding:.8rem 1.5rem;transform:none;transition:color .2s ease,background-color .2s ease}.tab-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.tab-button.active{background-color:var(--bg-active);border-bottom-color:#0000;color:var(--color-primary)}.performance-content{background-color:var(--bg-card);border-radius:0;flex-grow:1;min-height:0;overflow:hidden}.performance-view-wrapper{display:flex;flex-direction:column;gap:1.5rem;height:100%;overflow-y:auto;padding-right:5px}.performance-summary-header{flex-shrink:0}.performance-summary-header h2{font-size:1.25rem;margin-bottom:1.25rem;margin-top:0}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{background-color:var(--bg-card);border-radius:8px;box-shadow:0 2px 8px #0000000f;padding:1rem 1.25rem}.stat-card-label{color:var(--text-secondary);display:block;font-size:.85rem;margin-bottom:.35rem}.stat-card-value{color:var(--text-primary);font-size:1.6rem;font-weight:600;margin:0}.stat-card-value.small-text{font-size:1.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-input{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:6px;padding:.6rem .8rem;width:100%}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #47887933;outline:none}.sort-controls{display:flex;gap:.5rem}.sort-btn{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer;flex-grow:1;font-size:.85rem;padding:.5rem;transition:all .2s ease}.sort-btn:hover{background-color:var(--bg-hover)}.sort-btn.active,.sort-btn:hover{border-color:var(--color-primary)}.sort-btn.active{background-color:var(--color-primary);color:#fff}.card-detail-modal-body{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.card-detail-section{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:6px;padding:1rem}.card-detail-section h4{color:var(--text-secondary);font-size:.9rem;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.card-detail-section p{color:var(--text-primary);font-size:1.1rem;line-height:1.5;margin:0}@media (max-width:900px){.master-detail-layout,.performance-content-layout{grid-template-columns:1fr}.list-panel,.master-list-container{max-height:45vh}.performance-view-wrapper{padding-right:0}}.container>div{background-color:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-md);margin:2rem auto;max-width:1200px;padding:2rem}.container h1{font-size:1.75rem}.container h1,.container h2{color:var(--text-primary);margin-bottom:1rem;margin-top:0}.container p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:2rem;max-width:70ch}.error-message{background-color:#d657611a;border:1px solid var(--error);border-radius:var(--border-radius);color:var(--error);margin-top:1rem;padding:1rem}.topics-list-grouped{display:flex;flex-direction:column;gap:1.25rem;margin:2rem 0;max-height:50vh}.topic-group-wrapper+.topic-group-wrapper{border-top:1px solid var(--border-color);padding-top:1.25rem}.topic-group-header{align-items:center;color:var(--text-dark);display:flex;font-size:1.05rem;font-weight:500;gap:.75rem;margin-bottom:.75rem}.topic-group-header input[type=checkbox]{flex-shrink:0;height:17px;width:17px}.topic-group-items{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr;padding-left:2.6rem}.topic-checkbox-item{align-items:center;display:flex;gap:.6rem}.topic-checkbox-item label{color:#495057}.topic-card-count-inline{color:#868e96;margin-left:.25rem}.empty-folder-message-inline{color:#868e96;grid-column:1/-1;padding:.25rem 0}.empty-list-message{color:#6c757d;padding:2rem}.topic-group-header .collapse-icon{color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:700;text-align:center;transition:transform .2s ease,color .2s;-webkit-user-select:none;user-select:none;width:1rem}.topic-group-header:hover .collapse-icon{color:var(--text-secondary)}.topic-group-header .collapse-icon.collapsed{transform:rotate(-90deg)}.topic-group-header .collapse-icon.empty{color:var(--border-light);cursor:default}.test-option-group{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1.5rem 0}.test-option-group label{color:var(--text-dark);font-weight:500}.segmented-control button{background-color:var(--bg-secondary);border-right:1px solid var(--border-light);font-size:.9rem;padding:.5rem 1rem;text-align:center}.segmented-control button:not(:first-child){border-left:1px solid var(--color-primary)}.segmented-control button:hover:not(.active){background-color:var(--bg-active)}.button-group{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:center;margin-top:2.5rem;padding-top:1.5rem}.button-large{font-size:1.1rem;padding:.8rem 2rem}.button-group .button-primary:disabled{background-color:#f1f3f5;border-color:#f1f3f5;box-shadow:none;color:#ced4da;cursor:not-allowed}.button-group .button-primary:disabled:hover{background-color:#f1f3f5}.ai-chat-container{display:flex;flex-direction:column;height:80vh}.chat-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:1rem}.chat-window{display:flex;flex-direction:column;flex-grow:1;gap:1rem;overflow-y:auto;padding:1rem 0}.chat-message{display:flex;gap:.75rem}.message-bubble{border-radius:18px;max-width:80%;padding:.8rem 1.2rem}.message-bubble p{color:inherit;margin:0}.chat-message.user{justify-content:flex-end}.chat-message.user .message-bubble{background-color:var(--primary-accent);border-bottom-right-radius:4px;color:#fff}.chat-message.model .message-bubble{background-color:#e9ecef;border-bottom-left-radius:4px;color:var(--text-dark)}.typing-indicator span{animation:typing 1s ease-in-out infinite;background-color:#6c757d;border-radius:50%;display:inline-block;height:8px;margin:0 2px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.chat-input-form{border-top:1px solid var(--border-color);display:flex;gap:.5rem;padding-top:1rem}.chat-input-form input{border:1px solid var(--border-color);border-radius:6px;flex-grow:1;padding:.8rem}.ai-test-container .test-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.question-area{margin:2rem 0}.question-text{color:var(--text-dark);font-size:1.25rem;font-weight:500;margin-bottom:1.5rem}.question-area textarea{border:1px solid var(--border-color);border-radius:6px;font-size:1rem;margin-bottom:1rem;padding:1rem;width:100%}.mcq-options{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr;margin-bottom:1rem}.mcq-option{background-color:#fff;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;padding:1rem;text-align:left;transition:all .2s ease;width:100%}.mcq-option:hover{background-color:#f8f9fa}.mcq-option.selected{background-color:var(--primary-accent);border-color:var(--primary-accent);color:#fff}.feedback-box{border-left:4px solid;border-radius:6px;margin-top:1.5rem;padding:1rem}.feedback-box.correct{background-color:var(--bg-active);border-color:var(--color-primary)}.feedback-box.incorrect{background-color:#f8d7da;border-color:#dc3545}.feedback-box p{color:var(--text-dark);margin:0}.test-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding-top:1rem}.ai-test-container.finished{text-align:center}.final-score{font-size:1.5rem;margin-bottom:2rem}.results-summary{border:1px solid var(--border-color);border-radius:8px;margin-bottom:2rem;max-height:50vh;overflow-y:auto;padding:1rem;text-align:left}.result-item{border-bottom:1px solid var(--border-color);padding:1rem}.result-item:last-child{border-bottom:none}.user-answer{color:#6c757d;font-style:italic}.feedback-text.correct{color:var(--color-primary)}.feedback-text.incorrect{color:#721c24}@media (max-width:1024px){.container>div{margin:1.5rem auto;padding:1.5rem}}@media (max-width:768px){.container>div{margin:1rem;padding:1rem}.topic-group-items{grid-template-columns:1fr;padding-left:1.5rem}.chat-header{gap:.75rem;padding:1rem}.chat-header,.test-option-group{flex-direction:column}.topics-list-grouped{max-height:40vh}}.study-plan-page{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:350px 1fr;height:100%;overflow:hidden}.study-plan-sidebar{background-color:var(--bg-card);border-radius:8px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem}.sidebar-header h2{color:var(--text-primary);font-size:1.25rem;margin:0}.sidebar-header .button-primary[disabled]{cursor:not-allowed;opacity:.6}.plan-history-list{flex-grow:1;list-style:none;margin:0;overflow-y:auto;padding:.75rem}.plan-history-list::-webkit-scrollbar{width:8px}.plan-history-list::-webkit-scrollbar-track{background:var(--border-light);border-radius:4px}.plan-history-list::-webkit-scrollbar-thumb{background-color:var(--bg-hover);border:2px solid var(--bg-card);border-radius:4px}.plan-history-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary)}.plan-history-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:.8rem 1rem;position:relative;transition:background-color .2s ease}.plan-history-item:hover{background-color:var(--bg-hover)}.plan-history-item.active{background-color:var(--color-primary);color:#fff}.plan-item-details{display:flex;flex-direction:column;gap:.1rem}.plan-item-title{color:var(--text-primary);font-weight:500}.plan-item-date{color:var(--text-secondary);font-size:.8rem}.plan-history-item.active .plan-item-title{color:#fff}.plan-history-item.active .plan-item-date{color:#fffc}.delete-plan-button{background:#0000;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;font-size:1.5rem;font-weight:700;height:30px;line-height:28px;opacity:0;text-align:center;transition:opacity .2s ease,background-color .2s ease;width:30px}.plan-history-item:hover .delete-plan-button{opacity:1}.delete-plan-button:hover{background-color:var(--error);color:var(--text-primary)}.plan-history-item.active .delete-plan-button{color:#fff;opacity:1}.plan-history-item.active .delete-plan-button:hover{background-color:var(--interactive-hover);color:#fff}.no-history-message{color:var(--text-secondary);padding:2rem;text-align:center}.study-plan-main{background-color:var(--bg-card);border-radius:8px;box-shadow:0 2px 8px #0000000f;overflow-y:auto}.plan-content-area{padding:2rem 2.5rem}.study-plan-main::-webkit-scrollbar{width:10px}.study-plan-main::-webkit-scrollbar-track{background:var(--border-light);border-radius:5px}.study-plan-main::-webkit-scrollbar-thumb{background-color:var(--bg-hover);border:3px solid var(--bg-card);border-radius:5px}.study-plan-main::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary)}.loading-text,.welcome-message{color:var(--text-secondary);padding:4rem 2rem;text-align:center}.welcome-message h3{color:var(--text-primary);font-size:1.5rem}.plan-content{color:var(--text-primary);line-height:1.7}.plan-content h1,.plan-content h2,.plan-content h3,.plan-content h4{color:var(--text-primary);line-height:1.3;margin-bottom:1rem;margin-top:2rem}.plan-content h1{border-bottom:1px solid var(--border-light);font-size:2rem;padding-bottom:.5rem}.plan-content h2{font-size:1.6rem}.plan-content h3{font-size:1.3rem}.plan-content p{margin-bottom:1rem}.plan-content ol,.plan-content ul{margin-bottom:1rem;margin-left:1.5rem}.plan-content li{color:var(--text-primary);margin-bottom:.5rem}.plan-content li::marker{color:var(--color-primary)}.plan-content strong{color:var(--text-primary);font-weight:600}.plan-content em{font-style:italic}.plan-content a{color:var(--color-primary);text-decoration:none}.plan-content a:hover{text-decoration:underline}.plan-content code{background-color:var(--bg-hover);border-radius:3px;color:var(--text-primary);font-family:inherit;font-size:85%;margin:0;padding:.2em .4em}.plan-content blockquote{background-color:var(--bg-hover);border-left:.25em solid var(--border-light);border-radius:4px;color:var(--text-secondary);margin:0 0 1rem;padding:0 1em}.plan-content table{border-collapse:collapse;margin-bottom:1rem;width:100%}.plan-content td,.plan-content th{border:1px solid var(--border-light);color:var(--text-primary);padding:.6rem 1rem}.plan-content th{background-color:var(--bg-hover);font-weight:600}@media (max-width:1024px){.study-plan-page{grid-template-columns:1fr;height:auto;overflow-y:auto}.study-plan-sidebar{max-height:400px}}.title-bar{background-color:var(--bg-light);border-bottom:1px solid var(--border-light);box-shadow:0 1px 3px #0000001a;flex-shrink:0;height:32px;justify-content:space-between;padding:0 10px}.title-bar,.title-bar-drag-region{align-items:center;color:var(--text-dark);display:flex}.title-bar-drag-region{-webkit-app-region:drag;flex-grow:1;font-size:.875rem;font-weight:500;height:100%;padding-left:8px;-webkit-user-select:none;user-select:none}.title-bar-controls{-webkit-app-region:no-drag;display:flex}.title-bar-controls button{align-items:center;background-color:initial;border:none;color:var(--text-dark);cursor:pointer;display:flex;font-size:14px;height:100%;justify-content:center;transition:var(--transition-fast);width:45px}.title-bar-controls button:hover{background-color:var(--bg-hover)}.title-bar-controls button.close-btn:hover{background-color:var(--error);color:#fff}.study-session-page{gap:1.5rem;height:calc(100vh - 92px);height:calc(100vh - var(--total-header-height, 92px));margin:calc(var(--spacing-xl)*-1) -2.5rem;padding:1.5rem;width:calc(100% + 5rem)}.session-header{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--bg-card);border:2px solid var(--border-light);border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-shrink:0;justify-content:space-between;margin:0 auto;max-width:900px;padding:1rem 1.5rem;width:100%}.session-counter{color:var(--text-primary);font-size:1rem;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.flashcard-area{align-items:flex-start;background-color:initial;display:flex;flex-grow:1;justify-content:center;min-height:0;overflow:hidden;padding:1rem 0;width:100%}.session-header .button-secondary{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:400;letter-spacing:normal;padding:.5rem 1rem;text-transform:none;transition:all .2s ease}.session-header .button-secondary:hover{background-color:var(--interactive-hover);border-color:var(--interactive-hover);box-shadow:0 2px 8px #0000001a;transform:translateY(-.5px)}.session-footer{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-md);justify-content:center;padding-bottom:var(--spacing-sm);width:100%}.session-footer button{min-width:130px;text-align:center}.session-complete-container{align-items:center;background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;gap:var(--spacing-md);height:100%;justify-content:center;padding:3rem;text-align:center}.session-complete-container .final-score{font-size:1.5rem;margin-bottom:var(--spacing-md)}.session-complete-container .button-group{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}@media (max-width:900px){.study-session-page{height:calc(100vh - 60px);height:calc(100vh - var(--header-height-mobile, 60px));margin:calc(var(--spacing-lg)*-1) calc(var(--spacing-lg)*-1);width:calc(100% + 3rem)}}@media (max-width:768px){.study-session-page{gap:var(--spacing-xs);padding:var(--spacing-xs)}.session-header{padding:var(--spacing-sm) var(--spacing-md)}.session-footer{flex-direction:column;gap:var(--spacing-sm)}.session-footer button{min-width:auto;width:100%}}@media (max-width:480px){.study-session-page{padding:var(--spacing-xs)}.session-header{padding:var(--spacing-sm) .75rem}.session-counter{font-size:1rem}}.study-session-page{background-color:var(--bg-primary);box-sizing:border-box;color:var(--text-primary);display:flex;flex-direction:column;height:107%;overflow:hidden}.study-session-layout{grid-gap:2rem;box-sizing:border-box;display:grid;gap:2rem;grid-template-columns:1fr 400px;height:100%;overflow:hidden;padding:2rem}.card-header{margin-bottom:0;padding:1.25rem 1.25rem .75rem}.card-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.search-section{background-color:var(--bg-card);border-bottom:1px solid var(--border-light);padding:1rem 1.25rem}.search-container{align-items:center;background-color:var(--bg-light);border:2px solid var(--border-light);border-radius:8px;display:flex;position:relative;transition:all .2s ease}.search-container.focused{border-color:var(--color-primary);box-shadow:0 0 0 3px #4788791a}.search-container.has-content{background-color:var(--bg-card)}.search-icon{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:0;padding:.75rem}.search-container.focused .search-icon{color:var(--color-primary)}.search-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:.9rem;outline:none;padding:.75rem .5rem}.search-clear,.search-input::placeholder{color:var(--text-secondary)}.search-clear{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;margin-right:.25rem;padding:.5rem;transition:all .2s ease}.search-clear:hover{background-color:var(--bg-light);color:var(--text-primary)}.search-results-info{color:var(--text-secondary);font-size:.8rem;margin-top:.5rem;text-align:center}.no-results{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem 1rem;text-align:center}.no-results-icon{color:var(--text-secondary);margin-bottom:1rem;opacity:.5}.no-results h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .5rem}.no-results p{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0}.study-selection-card{background-color:var(--bg-card);border-radius:8px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;height:100%;overflow:hidden}.topics-list-grouped{flex-grow:1;overflow-y:auto;padding:.5rem 1.25rem}.topics-list-grouped::-webkit-scrollbar{width:8px}.topics-list-grouped::-webkit-scrollbar-track{background:var(--border-light);border-radius:4px}.topics-list-grouped::-webkit-scrollbar-thumb{background-color:var(--bg-hover);border:2px solid var(--bg-card);border-radius:4px}.topics-list-grouped::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary)}.selection-summary-footer{background-color:var(--bg-hover);border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:.9rem;font-weight:500;padding:.75rem 1.25rem;text-align:right}.study-method-column{background-color:var(--bg-card);border-radius:8px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;height:100%;overflow:hidden}.session-option-box{border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:1rem;padding:1.25rem}.session-option-box:last-child{border-bottom:none;flex-grow:1;justify-content:space-between}.session-option-box:last-child .button-group-column{margin-top:auto}.option-title{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.option-description{color:var(--text-secondary);font-size:.9rem;margin:0 0 .5rem}.option-control-group label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:500;margin-bottom:.75rem}.segmented-control{border:1px solid var(--border-light);border-radius:6px;display:flex;overflow:hidden;width:100%}.segmented-control button{background-color:var(--bg-card);border:none;border-left:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;flex:1 1;font-weight:500;padding:.5rem .25rem;transition:background-color .2s,color .2s}.segmented-control button:first-child{border-left:none}.segmented-control button:hover:not(:disabled){background-color:var(--bg-hover)}.segmented-control button.active{background-color:var(--color-primary);color:#fff}.segmented-control button:disabled{background-color:var(--bg-hover);color:var(--text-muted);cursor:not-allowed}.topic-checkbox-item,.topic-group-header{align-items:center;display:flex;gap:.75rem;padding:.5rem 0}.topic-group-header{border-bottom:1px solid var(--border-light);margin-bottom:.5rem;padding:.75rem 0}.topic-group-header label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem}.folder-icon{align-items:center;color:var(--color-primary);display:flex}.topic-checkbox-item label{color:var(--text-primary);cursor:pointer;flex:1 1;font-weight:500}.collapse-icon{align-items:center;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s ease;width:20px}.collapse-icon:hover{background-color:var(--bg-light);color:var(--text-primary)}.collapse-icon.collapsed svg{transform:rotate(-90deg)}.collapse-icon.empty{cursor:default;opacity:.5}.folder-dot{background-color:currentColor;border-radius:50%;height:4px;width:4px}.topic-checkbox-item input[type=checkbox],.topic-group-header input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:16px;width:16px}.topic-card-count-inline{color:var(--text-secondary);font-size:.85rem;margin-left:.5rem}.empty-folder-message-inline{color:var(--text-secondary);font-style:italic;padding:.5rem 1rem}.empty-list-message{color:var(--text-secondary);font-style:italic;padding:2rem 1rem;text-align:center}.setup-error{background-color:#d657611a;border:1px solid var(--error);border-radius:6px;color:var(--error);font-weight:500;padding:.75rem;text-align:center}.button-primary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.button-primary:hover:not(:disabled){background-color:#3a736b;box-shadow:0 2px 8px #4788794d;transform:translateY(-1px)}.button-primary:disabled{background-color:var(--bg-hover);box-shadow:none;color:var(--text-muted);cursor:not-allowed;transform:none}@media (max-width:1024px){.study-session-layout{grid-template-columns:1fr;padding:1rem}.study-session-layout,.study-session-page{height:auto;overflow-y:auto}.study-selection-card{max-height:400px}.study-method-column{height:auto;order:-1}}@media (max-width:768px){.study-session-layout{gap:1rem;padding:1rem}.session-option-box{padding:1rem}.segmented-control button{font-size:.85rem;padding:.4rem .2rem}}.session-summary-container{background:var(--bg-card);border-radius:12px;box-shadow:0 4px 15px #00000012;margin:2rem auto;max-width:800px;padding:2rem}.summary-header{border-bottom:1px solid var(--border-light);margin-bottom:2rem;padding-bottom:2rem;text-align:center}.session-summary-container h2{color:var(--text-primary);margin-bottom:1rem;margin-top:0}.summary-overall-score h3{color:var(--text-secondary);font-weight:500;margin:0}.score-display{color:var(--color-primary);font-size:2.5rem;font-weight:700;margin:.5rem 0 0}.summary-details{margin-bottom:2rem}.summary-details h3{margin-bottom:1rem}.summary-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.filter-btn{background:var(--bg-card);border:1px solid var(--border-light);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.filter-btn:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.summary-card-list{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;list-style:none;margin:0;max-height:40vh;overflow-y:auto;padding:0}.summary-card-item{align-items:center;background-color:var(--bg-card);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:1rem 1.5rem}.summary-card-item:last-child{border-bottom:none}.card-question{line-height:1.4;margin-right:1rem}.card-status{border-radius:12px;flex-shrink:0;font-size:.85rem;font-weight:700;padding:.25rem .75rem;text-transform:capitalize;white-space:nowrap}.status-correct{background-color:var(--color-success-muted);color:var(--color-success)}.status-incorrect{background-color:var(--color-danger-muted);color:var(--color-danger)}.status-partially{background-color:#fff3cd;color:#856404}.no-results-item{color:var(--color-neutral);padding:2rem;text-align:center}.summary-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:2rem}.pdf-viewer-page-container{align-items:center;background:var(--bg-primary);display:flex;flex-direction:column;height:107%;justify-content:center;margin:-3rem -4rem;padding:2rem .5rem 1rem;width:103%}.pdf-main-container{border:1px solid var(--border-light);border-radius:12px;box-shadow:0 4px 16px #0000001a;flex-direction:column;height:90vh;margin-left:4%;margin-top:1rem;min-height:0;overflow:hidden;padding:1.5rem;position:relative;width:98%}.pdf-main-container,.pdf-top-controls{background:var(--bg-card);display:flex}.pdf-top-controls{align-items:center;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 2px 12px #0000001a;box-sizing:border-box;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:10}.page-info{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;font-weight:600;gap:.5rem;white-space:nowrap}.page-info:before{content:"📄";font-size:1.1rem}.upload-button{background-color:var(--color-primary);border:none;border-radius:8px;box-shadow:0 2px 4px #47887933;font-size:.9rem;font-weight:600;padding:.75rem 1.25rem;transition:all .2s ease}.upload-button:hover{background-color:var(--interactive-hover);box-shadow:0 4px 8px #4788794d;transform:translateY(-1px)}.pdf-control-buttons{align-items:center;display:flex;flex-direction:row;gap:.75rem}.create-flashcard-button{background-color:#f39c12;background-color:var(--color-secondary,#f39c12);border:none;border-radius:8px;box-shadow:0 2px 4px #f39c1233;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;min-width:-webkit-max-content;min-width:max-content;padding:.75rem 1.25rem;transition:all .2s ease}.create-flashcard-button:hover:not(:disabled){background-color:#e67e22;background-color:var(--color-secondary-hover,#e67e22);box-shadow:0 4px 8px #f39c124d;transform:translateY(-1px)}.create-flashcard-button:disabled{background-color:var(--bg-secondary);box-shadow:none;color:var(--text-muted);cursor:not-allowed;opacity:.6;transform:none}.pdf-content-container{flex-direction:row;gap:1rem;overflow-y:auto;padding:0 1rem 2rem}.pdf-content-container,.pdf-viewer{align-items:center;display:flex;flex:1 1}.pdf-viewer{height:100%;justify-content:center;max-width:100%;min-width:0;overflow:auto}.nav-button-left,.nav-button-right{flex-shrink:0;z-index:5}.nav-button{align-items:center;background-color:var(--color-primary);border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;height:50px;justify-content:center;transition:all .2s ease;width:50px}.nav-button:hover:not(:disabled){background-color:var(--interactive-hover);transform:scale(1.05)}.nav-button:disabled{background-color:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed;opacity:.5;transform:none}.pdf-viewer .react-pdf__Document{align-items:center;display:flex;height:100%;justify-content:center;min-height:0;width:100%}.pdf-viewer .react-pdf__Page{border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:100%;max-width:100%;object-fit:contain;overflow:hidden}.pdf-viewer .react-pdf__Page__canvas{height:auto!important;max-height:calc(100vh - 250px)!important;max-width:100%!important;object-fit:contain;width:auto!important}.button.button-primary{background-color:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.button.button-primary:hover{background-color:var(--interactive-hover)}.empty-state{align-items:center;background:var(--bg-secondary);border:2px dashed var(--border-light);border-radius:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:1.5rem;margin:2rem;padding:3rem 2rem;text-align:center}.empty-state h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.empty-state p{font-size:1.1rem;margin:0;opacity:.8}.mobile-nav-buttons{background:var(--bg-card);bottom:3.5rem;display:none;gap:1rem;justify-content:center;padding:.5rem 0;position:-webkit-sticky;position:sticky;z-index:5}@media (max-width:1024px){.pdf-viewer-page-container{margin:-1.5rem;padding:.75rem}.pdf-main-container{padding:.75rem}.pdf-content-container{gap:1rem}.nav-button{font-size:1.1rem;height:45px;width:45px}.pdf-top-controls{padding:.5rem .75rem}}@media (max-width:768px){.pdf-viewer-page-container{left:0;position:fixed;top:0;width:100vw}.pdf-main-container,.pdf-viewer-page-container{height:100vh;margin:0;overflow:hidden;padding:0}.pdf-main-container{border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:0;width:100%}.pdf-content-container{flex-direction:column;gap:0;height:calc(100vh - 40px);min-height:0;width:100vw}.pdf-content-container,.pdf-viewer{flex:1 1;overflow:hidden;padding:0;position:relative}.pdf-viewer{display:flex!important;height:100%!important;max-width:100vw;order:1;width:100vw!important}.pdf-top-controls,.pdf-viewer{align-items:center;justify-content:center;margin:0}.pdf-top-controls{background:var(--bg-card);border:none;border-bottom:1px solid var(--border-light);border-radius:0;box-shadow:0 1px 4px #0000001a;box-sizing:border-box;flex-shrink:0;height:40px;max-height:40px;min-height:40px;overflow:hidden;padding:0;position:relative;width:100%;z-index:10}.pdf-control-buttons{display:none}.page-info{align-items:center;display:flex;font-size:.8rem;font-weight:500;height:100%;justify-content:center;line-height:1;margin:0;overflow:hidden;padding:.5rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.page-info:before{content:"📄";font-size:.8rem;margin-right:.25rem}.nav-button{font-size:1rem;height:40px;width:40px}.mobile-nav-buttons,.pdf-content-container .nav-button-left,.pdf-content-container .nav-button-right{display:none}.pdf-viewer .react-pdf__Page__canvas{display:block;height:auto!important;margin-top:15.5%;max-height:calc(100vh - 100px)!important;max-width:100vw!important;object-fit:contain;object-position:center center;width:auto!important}.pdf-viewer .react-pdf__Document{height:calc(100vh - 40px);overflow:hidden;width:100vw}.pdf-viewer .react-pdf__Document,.pdf-viewer .react-pdf__Page{align-items:center;display:flex;justify-content:center;margin:0;max-width:100vw;padding:0}.pdf-viewer .react-pdf__Page{border-radius:0;box-shadow:none;height:auto;max-height:calc(100vh - 40px);width:auto}.empty-state{margin:1rem;padding:2rem 1rem}}.pdf-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:1.1rem;gap:1rem}.loading-spinner{border-top:3px solid var(--bg-secondary);border:3px solid var(--bg-secondary);height:40px;width:40px}.pdf-error{align-items:center;color:var(--error);display:flex;flex-direction:column;gap:.5rem;text-align:center}.pdf-error span{font-size:1.2rem;font-weight:500}.pdf-error p{color:var(--text-muted);margin:0}.pdf-folder-modal-overlay{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background-color:initial;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.pdf-folder-modal-content{animation:modalSlideIn .2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--bg-card);border:2px solid var(--border-accent);border-radius:var(--border-radius-lg);box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:600px;min-width:450px;padding:0}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.pdf-folder-modal-header{align-items:center;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-card));border-bottom:2px solid var(--border-accent);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;display:flex;justify-content:space-between;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg)}.pdf-folder-modal-header h3{color:var(--text-primary);font-size:1.4rem;font-weight:600;margin:0;text-shadow:0 1px 2px #0000001a}.pdf-folder-modal-close-button{align-items:center;background:var(--bg-hover);border:1px solid var(--border-light);border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:var(--transition-fast);width:32px}.pdf-folder-modal-close-button:hover:not(:disabled){background-color:var(--error);border-color:var(--error);color:#fff;transform:scale(1.05)}.pdf-folder-modal-close-button:disabled{cursor:not-allowed;opacity:.5}.pdf-folder-modal-body{flex:1 1;overflow-y:auto;padding:var(--spacing-xl)}.pdf-folder-modal-body p{color:var(--text-secondary);font-size:1rem;margin:0 0 var(--spacing-lg) 0}.pdf-folder-select-list{border:2px solid var(--border-light);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);max-height:300px;overflow:hidden;overflow-y:auto}.folder-option{align-items:center;background-color:var(--bg-card);border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);transition:var(--transition-fast)}.folder-option:last-child{border-bottom:none}.folder-option:hover{background-color:var(--bg-hover);transform:translateX(2px)}.folder-option.selected{background-color:var(--bg-active);border-color:var(--color-primary);color:var(--color-primary);font-weight:500}.folder-option.root-option{background-color:var(--bg-secondary);border-bottom:2px solid var(--border-accent);font-weight:500}.folder-option.root-option.selected{background-color:var(--bg-active);color:var(--color-primary)}.folder-icon{flex-shrink:0;font-size:16px}.folder-name{flex:1 1;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-folder-modal-footer{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 20px}.button-primary,.button-secondary{border:1px solid;font-size:.95rem;font-weight:500;transition:all .2s ease}.button-secondary{background-color:initial;border-color:#e0e0e0;border-color:var(--border-color,#e0e0e0);color:#666;color:var(--text-secondary,#666)}.button-secondary:hover:not(:disabled){background-color:#f5f5f5;background-color:var(--bg-hover,#f5f5f5);border-color:#ccc;border-color:var(--border-dark,#ccc)}.button-primary{background-color:#2196f3;background-color:var(--color-primary,#2196f3);border-color:#2196f3;border-color:var(--color-primary,#2196f3)}.button-primary:hover:not(:disabled){background-color:#1976d2;background-color:var(--color-primary-dark,#1976d2);border-color:#1976d2;border-color:var(--color-primary-dark,#1976d2)}.button-primary:disabled,.button-secondary:disabled{opacity:.6}@media (prefers-color-scheme:dark){.pdf-folder-modal-content{background-color:#2a2a2a;background-color:var(--bg-card-dark,#2a2a2a);border-color:#404040;border-color:var(--border-dark,#404040)}.pdf-folder-modal-header{border-bottom-color:#404040;border-bottom-color:var(--border-dark,#404040)}.pdf-folder-modal-header h3{color:#fff;color:var(--text-primary-dark,#fff)}.pdf-folder-modal-close-button{color:#aaa;color:var(--text-secondary-dark,#aaa)}.pdf-folder-modal-close-button:hover:not(:disabled){background-color:#3a3a3a;background-color:var(--bg-hover-dark,#3a3a3a);color:#fff;color:var(--text-primary-dark,#fff)}.pdf-folder-modal-body p{color:#aaa;color:var(--text-secondary-dark,#aaa)}.pdf-folder-select-list{border-color:#404040;border-color:var(--border-dark,#404040)}.folder-option{border-bottom-color:#3a3a3a;border-bottom-color:var(--border-light-dark,#3a3a3a)}.folder-option:hover{background-color:#3a3a3a;background-color:var(--bg-hover-dark,#3a3a3a)}.folder-option.root-option{background-color:#333;background-color:var(--bg-subtle-dark,#333)}.pdf-folder-modal-footer{border-top-color:#404040;border-top-color:var(--border-dark,#404040)}.button-secondary{border-color:#404040;border-color:var(--border-dark,#404040);color:#aaa;color:var(--text-secondary-dark,#aaa)}.button-secondary:hover:not(:disabled){background-color:#3a3a3a;background-color:var(--bg-hover-dark,#3a3a3a);border-color:#555;border-color:var(--border-light-dark,#555)}}.create-flashcard-popup-overlay{align-items:flex-start;background:#0009;bottom:0;display:flex;justify-content:flex-end;left:0;padding:60px 20px 20px;position:fixed;right:0;top:0;z-index:10000}.create-flashcard-popup{background:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;max-height:calc(100vh - 80px);overflow:hidden;width:400px}.create-flashcard-popup.preview-mode{width:480px}.popup-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);justify-content:space-between;padding:16px 20px}.header-content,.popup-header{align-items:center;display:flex}.header-content{gap:12px}.header-actions{align-items:center;display:flex;gap:8px}.popup-header h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.draft-indicator{background:var(--color-accent);border-radius:4px;color:var(--text-dark);padding:2px 6px}.clear-draft-button,.draft-indicator{font-size:10px;font-weight:600;text-transform:uppercase}.clear-draft-button{background:var(--bg-light);border:1px solid var(--border-light);border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:4px 8px}.clear-draft-button:hover{background:var(--error);border-color:var(--error);color:#fff}.popup-close-button{align-items:center;background:var(--bg-light);border:1px solid var(--border-light);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;width:24px}.popup-close-button:hover{background:var(--error);border-color:var(--error);color:#fff}.popup-content{background:var(--bg-card);flex:1 1;overflow-y:auto;padding:20px}.popup-content::-webkit-scrollbar{width:4px}.popup-content::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:2px}.form-group{margin-bottom:16px}.form-group label{font-size:14px;font-weight:600;margin-bottom:6px}.form-group select,.form-group textarea{background:var(--bg-light);border:1px solid var(--border-light);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:14px;padding:10px;width:100%}.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--interactive-focus);outline:none}.form-group textarea{line-height:1.4;min-height:80px;resize:vertical}.form-group textarea::placeholder{color:var(--text-muted);font-style:italic}.image-section{margin-top:8px}.image-upload-label{align-items:center;background:var(--bg-light);border:2px dashed var(--border-dark);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;justify-content:center;min-height:50px;padding:20px;text-align:center}.image-upload-label:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.image-preview{background:var(--bg-light);border-radius:6px;margin-top:12px;padding:12px}.image-preview img{border-radius:4px;max-height:100px;max-width:100%}.image-remove-button{background:var(--error);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;margin-top:8px;padding:4px 8px;text-transform:uppercase}.image-remove-button:hover{background:#c82333}.preview-content{max-height:300px;min-height:300px;overflow:auto;padding:20px}.simple-flashcard-preview{background:var(--bg-light);border:1px solid var(--border-light);border-radius:6px;display:flex;flex-direction:column;gap:12px;height:100%;padding:16px}.preview-answer,.preview-question{flex:1 1}.preview-answer h5,.preview-question h5{color:var(--color-primary);font-size:11px;font-weight:600;margin:0 0 6px;text-transform:uppercase}.preview-text{background:var(--bg-card);border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary);font-size:14px;line-height:1.4;min-height:60px;padding:12px;white-space:pre-wrap}.preview-text:empty:before{color:var(--text-muted);content:attr(data-placeholder);font-style:italic}.preview-divider{background:var(--border-light);height:1px;margin:8px 0}.preview-image img{border-radius:4px;margin-top:8px;max-height:80px;max-width:100%}.popup-footer{background:var(--bg-secondary);border-top:1px solid var(--border-light);display:flex;gap:8px;justify-content:flex-end;padding:16px 20px}.button-primary,.button-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;min-width:80px;padding:10px 20px}.button-primary{background:var(--color-primary)}.button-primary:hover{background:var(--interactive-hover)}.button-secondary{background:var(--bg-light);border:1px solid var(--border-light);color:var(--text-primary)}.button-secondary:hover{background:var(--bg-hover)}.button-primary:disabled,.button-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.create-flashcard-popup-overlay{align-items:center;justify-content:center;padding:20px}.create-flashcard-popup,.create-flashcard-popup.preview-mode{max-height:90vh;max-width:400px;width:100%}.popup-footer{flex-direction:column}.button-primary,.button-secondary{width:100%}}:root{--react-pdf-text-layer:1}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;bottom:0;forced-color-adjust:none;left:0;line-height:1;overflow:hidden;position:absolute;right:0;text-align:left;text-align:initial;top:0}.textLayer br,.textLayer span{color:#0000;cursor:text;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400}.textLayer br::selection{background:#0000}.textLayer .endOfContent{bottom:0;cursor:default;display:block;left:0;position:absolute;right:0;top:100%;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer .endOfContent.active{top:0}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000}@media (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight}.annotationLayer .buttonWidgetAnnotation.checkBox input:required,.annotationLayer .buttonWidgetAnnotation.radioButton input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation input:required,.annotationLayer .textWidgetAnnotation textarea:required{outline:1.5px solid selectedItem}}.annotationLayer{--scale-factor:1;left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0}.annotationLayer section{box-sizing:border-box;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .buttonWidgetAnnotation.pushButton>a,.annotationLayer .linkAnnotation>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation.pushButton>canvas{height:100%;width:100%}.annotationLayer .buttonWidgetAnnotation.pushButton>a:hover,.annotationLayer .linkAnnotation>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;position:absolute;width:100%}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation input,.annotationLayer .textWidgetAnnotation textarea{background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation.checkBox input:required,.annotationLayer .buttonWidgetAnnotation.radioButton input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation input:required,.annotationLayer .textWidgetAnnotation textarea:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation input[disabled],.annotationLayer .textWidgetAnnotation textarea[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .buttonWidgetAnnotation.radioButton input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation input:hover,.annotationLayer .textWidgetAnnotation textarea:hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation input:hover,.annotationLayer .textWidgetAnnotation textarea:hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation input:focus,.annotationLayer .textWidgetAnnotation textarea:focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox :focus,.annotationLayer .buttonWidgetAnnotation.radioButton :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .popupWrapper{font-size:calc(9px*var(--scale-factor));min-width:calc(180px*var(--scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--scale-factor));box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--scale-factor));max-width:calc(180px*var(--scale-factor));padding:calc(6px*var(--scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer .annotationTextContent,.annotationLayer section svg{height:100%;position:absolute;width:100%}.annotationLayer .annotationTextContent{color:#0000;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}.pdf-sync-manager{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:800px;padding:20px}.pdf-sync-header{margin-bottom:30px;text-align:center}.pdf-sync-header h3{color:#2c3e50;font-size:24px;margin:0 0 10px}.pdf-sync-header p{color:#7f8c8d;margin:0}.upload-section{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px;text-align:center}.upload-area{margin-bottom:15px}.upload-button{background:#3498db;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-weight:500;padding:12px 24px;text-decoration:none;transition:background .2s}.upload-button:hover{background:#2980b9}.upload-button.uploading{background:#95a5a6;cursor:not-allowed}.upload-progress{background:#ecf0f1;border-radius:4px;font-weight:500;padding:10px}.pdf-lists{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:30px}@media (max-width:768px){.pdf-lists{grid-template-columns:1fr}}.cloud-pdfs,.local-pdfs{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:20px}.cloud-pdfs h4,.local-pdfs h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 15px}.empty-message{color:#95a5a6;font-style:italic;padding:20px;text-align:center}.pdf-list{display:flex;flex-direction:column;gap:10px}.pdf-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;padding:12px;transition:background .2s}.pdf-item:hover{background:#e9ecef}.pdf-info{flex:1 1}.pdf-name{color:#2c3e50;font-weight:500;margin-bottom:4px}.pdf-meta{color:#7f8c8d;font-size:12px}.pdf-actions{display:flex;gap:8px}.delete-btn,.download-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px 8px;transition:background .2s}.download-btn:hover{background:#e3f2fd}.delete-btn:hover{background:#ffebee}.download-btn:disabled{cursor:not-allowed;opacity:.5}.sync-info{background:#e8f4fd;border-left:4px solid #3498db;border-radius:8px;padding:20px}.sync-info h4{color:#2c3e50;font-size:16px;margin:0 0 15px}.sync-info ul{margin:0;padding-left:20px}.sync-info li{color:#34495e;line-height:1.5;margin-bottom:8px}.sync-info strong{color:#2c3e50}.user-menu{align-items:center;display:flex;gap:.5rem;position:relative}.login-btn,.register-btn{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.login-btn{background:#0000;border-color:var(--border-color);color:var(--text-primary)}.login-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.register-btn{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:none;color:#fff}.register-btn:hover{box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.3);transform:translateY(-1px)}.user-button{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:all .2s ease}.user-button:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:600;height:32px;justify-content:center;width:32px}.user-name{font-size:.9rem;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:var(--text-secondary);transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{animation:dropdownFadeIn .2s ease-out;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000001a;margin-top:.5rem;min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-info{background:var(--bg-secondary);padding:1rem}.user-name-display{color:var(--text-primary);font-weight:600;margin-bottom:.25rem}.user-email{color:var(--text-secondary);font-size:.85rem}.dropdown-divider{background:var(--border-color);height:1px;margin:0}.dropdown-item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:hover{background:var(--bg-secondary)}.dropdown-item svg{color:var(--text-secondary);flex-shrink:0}.logout-item{color:#dc3545}.logout-item:hover{background:#dc35451a}.logout-item svg{color:#dc3545}@media (prefers-color-scheme:dark){.user-dropdown{box-shadow:0 8px 24px #0000004d}}@media (max-width:640px){.user-name{display:none}.login-btn,.register-btn{font-size:.85rem;padding:.4rem .8rem}.user-dropdown{min-width:180px;right:-1rem}}.modal-overlay{background:#00000080}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 25px #0003;overflow:hidden}.modal-header{border-bottom:1px solid #e1e8ed;padding:20px}.modal-header h2{color:#2c3e50;font-size:20px}.modal-close{align-items:center;color:#95a5a6;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.modal-close:hover{color:#7f8c8d}.modal-body{max-height:calc(90vh - 80px);overflow-y:auto;padding:0}.auth-form{background:var(--bg-primary);border-radius:12px;box-shadow:0 8px 32px #0000001a;max-width:400px;padding:2rem;width:100%}.auth-form h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin-bottom:2rem;text-align:center}.auth-error{background-color:#dc35451a;border:1px solid #dc354533;border-radius:8px;color:#dc3545;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group input{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.1);outline:none}.form-group input:disabled{cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:var(--text-tertiary)}.auth-submit-btn{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:1.5rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.auth-submit-btn:hover:not(:disabled){box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.3);transform:translateY(-1px)}.auth-submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.auth-toggle{color:var(--text-secondary);font-size:.9rem;text-align:center}.auth-toggle-btn{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:inherit;font-weight:600;text-decoration:underline}.auth-toggle-btn:hover:not(:disabled){color:var(--accent-secondary)}.auth-toggle-btn:disabled{cursor:not-allowed;opacity:.6}.auth-modal .modal-content{background:#0000;border:none;max-width:450px;padding:0}.auth-modal .modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#00000080}@media (prefers-color-scheme:dark){.auth-form{background:var(--bg-primary);border:1px solid var(--border-color)}.auth-error{background-color:#dc354526;border-color:#dc35454d}}@media (max-width:480px){.auth-form{margin:1rem;padding:1.5rem}.auth-form h2{font-size:1.3rem}.auth-subtitle{font-size:.85rem}}.modal-overlay{background-color:#00000080;padding:1rem;z-index:1000}.modal-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #00000026;overflow:auto}.modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:32px;z-index:1001}.modal-close-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}body.modal-open{overflow:hidden}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-overlay{animation:modalFadeIn .2s ease-out}@media (prefers-color-scheme:dark){.modal-content{background:var(--bg-primary);border-color:var(--border-color)}}.sync-status{position:relative}.sync-button,.sync-status{align-items:center;display:flex}.sync-button{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.sync-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--text-primary)}.sync-button:disabled{cursor:not-allowed;opacity:.6}.sync-icon{flex-shrink:0;transition:transform .2s ease}.sync-icon.syncing{animation:spin 1s linear infinite;color:var(--accent-primary)}.sync-icon.success{color:#28a745}.sync-icon.error{color:#dc3545}.sync-text{white-space:nowrap}.sync-button.syncing{border-color:var(--accent-primary);color:var(--accent-primary)}.sync-button.success{border-color:#28a745;color:#28a745}.sync-button.error{border-color:#dc3545;color:#dc3545}.sync-error-tooltip{background:#dc3545;border-radius:4px;box-shadow:0 2px 8px #00000026;color:#fff;font-size:.8rem;margin-top:.5rem;max-width:200px;padding:.5rem;position:absolute;right:0;top:100%;z-index:1000}.sync-error-tooltip:before{border-bottom:4px solid #dc3545;border-left:4px solid #0000;border-right:4px solid #0000;content:"";height:0;position:absolute;right:1rem;top:-4px;width:0}@media (max-width:768px){.sync-text{display:none}.sync-button{padding:.5rem}}.topnav{background-color:var(--bg-light);border-bottom:1px solid var(--border-dark);box-shadow:var(--shadow-sm);flex-shrink:0;gap:var(--spacing-xl);min-height:60px;padding:.75rem var(--spacing-xl);position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:100}.topnav,.topnav-brand{align-items:center;color:var(--text-dark);display:flex}.topnav-brand{font-size:1.5rem;font-weight:600;gap:var(--spacing-sm);text-decoration:none}.topnav-content{height:100%;justify-content:space-between;min-height:48px;position:relative;width:100%}.topnav-content,.topnav-links{align-items:center;display:flex}.topnav-links{flex:1 1;gap:var(--spacing-md);justify-content:center}.topnav-link,.topnav-settings{align-items:center;display:flex}.topnav-link{border-radius:var(--border-radius-sm);color:var(--text-muted);font-size:.95rem;font-weight:500;gap:.6rem;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:var(--transition-fast);white-space:nowrap}.topnav-link:hover{background-color:var(--bg-hover);color:var(--text-primary)}.topnav-link.active{background-color:var(--bg-active);color:var(--color-primary);font-weight:600}.topnav-link .nav-icon{height:20px;width:20px}.settings-link{background-color:initial!important;border-radius:var(--border-radius)!important;justify-content:center;min-width:44px;padding:var(--spacing-sm)!important}.settings-link:hover{background-color:initial!important;transform:scale(1.05);transition:all var(--transition-fast)}.settings-link.active{background-color:initial!important;color:var(--color-primary)!important}@media (max-width:900px){.settings-link{min-width:40px;padding:var(--spacing-xs)!important}.settings-link .nav-icon+*{display:none}}.resume-link{background-color:var(--bg-active);border:1px solid var(--color-primary);color:var(--color-primary)}.resume-link:hover{background-color:var(--color-primary);color:#fff}.sidebar-footer{align-items:center;display:flex;flex-direction:column;margin-top:auto}.sidebar-footer,.sidebar-footer-link{padding-top:var(--spacing-md);text-align:center;width:100%}.sidebar-footer-link{border-radius:0!important;border-top:1px solid var(--border-light)}@media (max-width:900px){.topnav{gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg)}.topnav-links{gap:var(--spacing-sm)}.topnav-link{font-size:.9rem;padding:var(--spacing-xs) var(--spacing-sm)}}@media (max-width:600px){.topnav{flex-direction:row;gap:var(--spacing-sm);max-height:60px;min-height:60px;overflow-x:auto;overflow-y:hidden;padding:var(--spacing-sm);white-space:nowrap}.topnav-content{flex-direction:row;gap:var(--spacing-sm)}.topnav-content,.topnav-links{min-width:-webkit-max-content;min-width:max-content;width:auto}.topnav-links{flex-wrap:nowrap;justify-content:center}.topnav-settings{justify-content:center;min-width:-webkit-max-content;min-width:max-content;width:auto}.topnav-brand{flex-shrink:0;font-size:1.25rem;white-space:nowrap}.topnav::-webkit-scrollbar{height:4px}.topnav::-webkit-scrollbar-track{background:var(--bg-light)}.topnav::-webkit-scrollbar-thumb{background-color:var(--border-dark);border-radius:2px}.topnav::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}}.settings-page{margin:0 auto;max-width:800px;padding:2rem}.setting-item{border-bottom:1px solid var(--border-light);margin-bottom:3rem;padding-bottom:2rem}.setting-item:last-child{border-bottom:none;margin-bottom:0}.setting-item label{color:var(--text-primary);display:block;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.setting-item .description{color:var(--text-muted);font-size:.9rem;line-height:1.4;margin-bottom:1.5rem}.theme-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.theme-card{background-color:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--border-radius);cursor:pointer;padding:1rem;transition:all var(--transition-fast)}.theme-card:hover{border-color:var(--border-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.theme-card.selected{background-color:var(--bg-active);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.theme-preview{border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);display:flex;height:40px;margin-bottom:.75rem;overflow:hidden}.theme-color-accent,.theme-color-primary,.theme-color-secondary{flex:1 1}.theme-info h4{color:var(--text-primary);font-size:.95rem;margin:0 0 .25rem}.theme-info p{color:var(--text-muted);font-size:.8rem;line-height:1.3;margin:0}.setting-item input{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:1rem;margin-bottom:1rem;max-width:400px;padding:.75rem;transition:border-color var(--transition-fast);width:100%}.setting-item input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--bg-active);outline:none}.setting-item button{background-color:var(--color-primary);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color var(--transition-fast)}.setting-item button:hover{background-color:var(--interactive-hover)}.setting-item button:active{background-color:var(--interactive-active)}.status-message{color:var(--success);font-weight:500;margin-top:1rem}@media (max-width:600px){.settings-page{padding:1rem}.theme-grid{grid-template-columns:1fr}.setting-item input{max-width:none}}.button-base{align-items:center;border:none;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:var(--transition-fast)}.button-primary{background-color:var(--color-primary);color:#fff}.button-primary:hover{background-color:var(--interactive-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.button-secondary{background-color:var(--color-secondary);color:#fff}.button-secondary:hover{background-color:#a0553d;box-shadow:var(--shadow-md);transform:translateY(-1px)}.button-accent{background-color:var(--color-accent);color:var(--text-dark)}.button-accent:hover{background-color:#d4a020;box-shadow:var(--shadow-md);transform:translateY(-1px)}.button-outline{background-color:initial;border:2px solid var(--color-primary);color:var(--color-primary)}.button-outline:hover{background-color:var(--color-primary);color:#fff}.button-ghost{background-color:initial;color:var(--text-secondary)}.button-ghost:hover{background-color:var(--bg-hover);color:var(--text-primary)}.button-danger{background-color:var(--error);color:#fff}.button-danger:hover{background-color:#c82333;box-shadow:var(--shadow-md);transform:translateY(-1px)}.button-small{font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm)}.button-large{font-size:1rem;padding:var(--spacing-md) var(--spacing-lg)}.input-base{background-color:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--border-radius);color:var(--text-primary);font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-fast);width:100%}.input-base:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4788791a;outline:none}.input-base::placeholder{color:var(--text-muted)}.textarea-base{font-family:inherit;min-height:100px;resize:vertical}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{color:var(--text-primary);font-size:.9rem;font-weight:500}.form-error{color:var(--error);font-size:.8rem;margin-top:var(--spacing-xs)}.card-base{background-color:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);transition:var(--transition-fast)}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{border-bottom:1px solid var(--border-light)}.card-body,.card-footer,.card-header{padding:var(--spacing-lg)}.card-footer{background-color:var(--bg-light);border-radius:0 0 var(--border-radius) var(--border-radius);border-top:1px solid var(--border-light)}.nav-item-base{align-items:center;background-color:initial;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;text-decoration:none;transition:var(--transition-fast);width:100%}.nav-item-base:hover{background-color:var(--bg-hover)}.nav-item-base.active{background-color:var(--color-primary);color:#fff;font-weight:600}.nav-item-base.active:hover{background-color:var(--interactive-hover)}.badge-base{align-items:center;border-radius:var(--border-radius-lg);display:inline-flex;font-size:.75rem;font-weight:500;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm)}.badge-primary{background-color:var(--color-primary);color:#fff}.badge-secondary{background-color:var(--bg-light);color:var(--text-secondary)}.badge-success{background-color:var(--success);color:#fff}.badge-warning{background-color:var(--warning);color:#fff}.badge-error{background-color:var(--error);color:#fff}.loading-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--border-light);border:2px solid var(--border-light);border-radius:50%;border-top-color:var(--color-primary);height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-overlay{align-items:center;background-color:initial;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-md);position:fixed;right:0;top:0;z-index:9999}.modal-content{background-color:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-height:90vh;max-width:90vw;overflow-y:auto;position:relative}.modal-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.modal-header h2{color:var(--text-primary);font-size:1.25rem;margin:0}.modal-close{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-muted);cursor:pointer;font-size:1.5rem;padding:var(--spacing-xs)}.modal-close:hover{background-color:var(--bg-hover);color:var(--text-primary)}.modal-body,.modal-footer{padding:var(--spacing-lg)}.modal-footer{border-top:1px solid var(--border-light);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.custom-scrollbar{scrollbar-color:var(--border-dark) var(--bg-light);scrollbar-width:thin}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-light);border-radius:var(--border-radius-sm)}.custom-scrollbar::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--border-dark);border:2px solid #0000;border-radius:var(--border-radius-sm)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.score-excellent{color:var(--color-primary)}.score-good{color:#17a2b8}.score-ok{color:#ffc107}.score-poor{color:#fd7e14}.score-bad{color:#dc3545}:root{--color-primary:#6f4e37;--color-secondary:#a1866f;--color-accent:#dab894;--bg-primary:#fdf6f0;--bg-secondary:#f3e9e1;--bg-light:#fff;--bg-card:#fff;--bg-hover:#efe2d8;--bg-active:#6f4e3726;--text-primary:#2e2e2e;--text-secondary:#4d3b33;--text-dark:#000;--text-muted:#8c7669;--border-light:#e9d9cc;--border-dark:#c5b4a8;--border-accent:#6f4e37;--interactive-hover:#5c3f2e;--interactive-active:#4b3224;--interactive-focus:#dab894;--success:#8cc084;--warning:#ffc75f;--error:#d65d5d;--info:#b3cde0;--modal-overlay:#6f4e37bf;--modal-overlay-light:#6f4e3780;--modal-overlay-subtle:#6f4e3766;--sidebar-width:300px;--header-height-mobile:60px;--title-bar-height:32px;--total-header-height:calc(var(--title-bar-height) + var(--header-height-mobile));--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--border-radius:6px;--border-radius-sm:4px;--border-radius-lg:10px;--shadow-sm:0 2px 5px #0000000a;--shadow-md:0 4px 10px #0000000f;--shadow-lg:0 8px 18px #00000014;--transition-fast:0.2s ease-in;--transition-medium:0.3s ease-out}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fdf6f0;background-color:var(--bg-primary);color:#2e2e2e;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%}.app-layout,.window-container{display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}body.dashboard-page .app-layout{height:auto;min-height:100vh;overflow:visible}.main-content-area{background-color:#fdf6f0;background-color:var(--bg-primary);flex:1 1;height:calc(100vh - 92px);height:calc(100vh - var(--total-header-height));overflow-y:auto;padding:2rem 2.5rem;padding:var(--spacing-xl) 2.5rem}.main-content-area.dashboard-main{height:auto;min-height:calc(100vh - 92px);min-height:calc(100vh - var(--total-header-height));overflow:visible}body.modal-open{overflow:hidden!important}.modal-content,[class*=modal-content]{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;background-color:#fff!important;background-color:var(--bg-card)!important;isolation:isolate!important;opacity:1!important;transform:translateZ(0)!important}body.modal-open .header :hover,body.modal-open .main-content-area :hover,body.modal-open .sidebar :hover{box-shadow:0 2px 5px #0000000a!important;box-shadow:var(--shadow-sm)!important;transform:none!important;transition:none!important}body.modal-open [data-rbd-draggable],body.modal-open [data-rbd-droppable],body.modal-open>[data-react-beautiful-dnd-draggable],body>[data-react-beautiful-dnd-draggable]{z-index:1000!important}[data-react-beautiful-dnd-drag-handle]{z-index:1001!important}.dashboard-layout [data-react-beautiful-dnd-draggable]{z-index:1002!important}body>div[data-react-beautiful-dnd-draggable]{position:fixed!important;z-index:9999!important}[data-rbd-droppable-id]{pointer-events:auto!important}@media (max-width:900px){.main-content-area{padding:1.5rem;padding:var(--spacing-lg)}}@media (max-width:500px){.main-content-area{padding:1rem;padding:var(--spacing-md)}}.button-group-column{display:flex;flex-direction:column;gap:.75rem;height:100%;min-height:0;overflow-y:auto}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.62eb6d3c.css.map*/