.tooltip-trigger{display:inline-flex;align-items:center}.tooltip{background:#282c34f5;color:#fff;padding:12px 16px;border-radius:8px;font-size:13px;line-height:1.6;max-width:400px;min-width:200px;word-wrap:break-word;pointer-events:none;box-shadow:0 4px 16px #0000004d,0 0 0 1px #ffffff14;animation:tooltip-fade-in .15s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tooltip img{max-width:100%;height:auto}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tooltip-bottom{animation:tooltip-fade-in-bottom .15s ease-out}@keyframes tooltip-fade-in-bottom{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.image-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.image-viewer-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.image-viewer-image{max-width:100%;max-height:85vh;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 8px 32px #00000080}.image-viewer-close{position:absolute;top:-40px;right:0;background:#ffffff1a;color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.image-viewer-close:hover{background:#fff3}.image-viewer-filename{margin-top:16px;color:#fff;font-size:14px;padding:8px 16px;background:#00000080;border-radius:4px;max-width:90vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-status-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.pwa-status-dialog{background:var(--background-color, #ffffff);border-radius:12px;box-shadow:0 8px 32px #0003;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column}.pwa-status-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-color, #e0e0e0)}.pwa-status-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-color, #333)}.pwa-status-close{background:none;border:none;font-size:24px;color:var(--text-secondary-color, #666);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.pwa-status-close:hover{color:var(--text-color, #333)}.pwa-status-content{flex:1;overflow-y:auto;padding:20px}.pwa-status-section{margin-bottom:24px}.pwa-status-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text-color, #333)}.pwa-status-item{display:flex;align-items:flex-start;justify-content:space-between;padding:8px 0;gap:12px}.pwa-status-label{font-size:14px;color:var(--text-secondary-color, #666);flex-shrink:0}.pwa-status-value{font-size:14px;color:var(--text-color, #333);text-align:right;word-break:break-all}.pwa-status-small{font-size:12px}.pwa-status-ok{color:#22c55e;font-weight:500}.pwa-status-error{color:#ef4444;font-weight:500}.pwa-status-warning{color:#f59e0b;font-weight:500}.pwa-status-info{color:var(--text-secondary-color, #666)}.pwa-status-footer{margin-top:16px;padding:16px;background:var(--hover-color, #f5f5f5);border-radius:8px}.pwa-status-note{margin:0;font-size:14px;line-height:1.5;color:var(--text-color, #333)}.pwa-status-actions{display:flex;gap:12px;padding:20px;border-top:1px solid var(--border-color, #e0e0e0)}.pwa-status-button{flex:1;padding:10px 20px;font-size:14px;font-weight:500;color:var(--text-color, #333);background:var(--hover-color, #f5f5f5);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;cursor:pointer;transition:all .2s ease}.pwa-status-button:hover{background:var(--border-color, #e0e0e0)}@media (max-width: 768px){.pwa-status-dialog{max-height:95vh}.pwa-status-header,.pwa-status-content{padding:16px}.pwa-status-item{flex-direction:column;gap:4px}.pwa-status-value{text-align:left}}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.settings-dialog{background-color:var(--bg-primary);border-radius:8px;box-shadow:var(--shadow-lg);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;color:var(--text-secondary)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-default);background-color:var(--bg-primary)}.settings-header h2{margin:0;font-size:20px;font-weight:600}.settings-tabs{display:flex;border-bottom:1px solid var(--border-default);background-color:var(--bg-primary)}.settings-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-tertiary);transition:all .2s}.settings-tab:hover{color:var(--text-secondary);background-color:var(--bg-tertiary)}.settings-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue);background-color:transparent}.close-button{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:var(--bg-hover)}.settings-content{flex:1;overflow-y:auto;padding:24px;background-color:var(--bg-primary)}.settings-section{margin-bottom:32px}.settings-section:last-child{margin-bottom:0}.settings-section h3{margin:0 0 16px;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.settings-loading,.settings-error{text-align:center;padding:32px;color:var(--text-secondary)}.settings-error{color:var(--error-color, #e74c3c)}.retry-button{margin-top:12px;padding:8px 16px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.retry-button:hover{background-color:var(--bg-hover)}.stats-container{display:flex;flex-direction:column;gap:16px}.summary-stats-row{display:flex;flex-direction:column;gap:16px;margin-bottom:4px}.stat-card{display:flex;align-items:center;gap:16px;padding:16px;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-default)}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--accent-bg, rgba(59, 130, 246, .1));border-radius:8px;color:var(--accent-color, #3b82f6)}.stat-info{flex:1}.stat-label{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.stat-value{font-size:24px;font-weight:600;color:var(--text-primary)}.stat-group{padding:16px;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-default)}.stat-group h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.stat-list{display:flex;flex-direction:column;gap:8px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.stat-row-label{color:var(--text-secondary)}.stat-row-value{color:var(--text-primary);font-weight:500}.info-text{font-size:14px;line-height:1.6}.info-text p{margin:0 0 12px}.info-text p:last-child{margin-bottom:0}.info-text strong{color:var(--text-primary);font-weight:600}.info-description{color:var(--text-secondary);font-size:13px}.settings-footer{padding:16px 24px;border-top:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center;gap:12px;background-color:var(--bg-primary)}.version-info{font-size:12px;color:var(--text-secondary, #666);font-family:monospace}.primary-button{padding:8px 16px;background-color:var(--accent-color, #3b82f6);color:var(--text-inverse);border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:opacity .2s}.primary-button:hover{opacity:.9}.error-section h3{color:var(--accent-red)}.error-panel{padding:16px;background-color:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:8px}.error-message{margin-bottom:16px}.error-message p{margin:0 0 8px;font-size:14px;color:var(--text-primary)}.error-message p:last-child{margin-bottom:0}.error-actions{display:flex;gap:12px;margin-bottom:12px}.error-actions .retry-button,.error-actions .clear-button{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.error-actions .retry-button{background-color:var(--accent-blue);color:var(--text-inverse)}.error-actions .retry-button:hover:not(:disabled){background-color:var(--accent-blue-hover)}.error-actions .retry-button:disabled{opacity:.5;cursor:not-allowed}.error-actions .clear-button{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.error-actions .clear-button:hover:not(:disabled){background-color:var(--bg-hover)}.error-actions .clear-button:disabled{opacity:.5;cursor:not-allowed}.settings-action{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-default)}.secondary-button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:4px;cursor:pointer;color:var(--text-secondary);font-size:14px;font-weight:500;transition:background-color .2s}.secondary-button:hover:not(:disabled){background-color:var(--bg-hover)}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.rebuild-progress{margin-top:8px;font-size:13px;color:var(--accent-color, #3b82f6);font-weight:500}.account-info{display:flex;flex-direction:column;gap:16px}.account-card{display:flex;align-items:center;gap:16px;padding:16px;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-default)}.account-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:#3b82f61a;border-radius:8px;color:var(--accent-blue)}.account-details{flex:1}.account-label{font-size:13px;color:var(--text-tertiary);margin-bottom:4px}.account-email{font-size:16px;font-weight:500;color:var(--text-secondary)}.account-actions{display:flex;gap:12px}.master-key-card{display:flex;align-items:center;gap:16px;padding:16px;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-default);margin-bottom:12px}.master-key-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:#22c55e1a;border-radius:8px;color:var(--accent-green)}.master-key-details{flex:1}.master-key-label{font-size:13px;color:var(--text-tertiary);margin-bottom:4px}.master-key-status{font-size:16px;font-weight:500;color:var(--text-secondary)}.settings-editor-container{display:flex;flex-direction:column;height:100%;background-color:var(--bg-primary)!important;color:var(--text-secondary)!important;overflow:hidden}.settings-editor-header{padding:16px 24px;background-color:var(--bg-primary)!important}.settings-editor-header h2{margin:0;font-size:24px;font-weight:600;color:var(--text-secondary)!important}.settings-editor-container .settings-tabs{flex-shrink:0;background-color:var(--bg-primary)!important;border-bottom-color:var(--border-default)!important}.settings-editor-container .settings-content{flex:1;overflow-y:auto;background-color:var(--bg-primary)!important}.settings-editor-container .settings-footer{flex-shrink:0;background-color:var(--bg-primary)!important}.shortcut-list{display:flex;flex-direction:column;gap:8px}.shortcut-row{display:flex;align-items:center;gap:12px;padding:8px 0}.shortcut-row kbd{display:inline-block;padding:4px 8px;font-family:monospace;font-size:13px;font-weight:600;color:var(--text-secondary);background-color:var(--bg-tertiary);border:1px solid var(--border-strong);border-radius:4px;box-shadow:0 1px 2px #0000001a;min-width:40px;text-align:center}.shortcut-row span{color:var(--text-secondary);font-size:14px}.info-list{padding-left:20px;margin:8px 0}.info-list li{margin-bottom:8px;line-height:1.6;color:var(--text-secondary);font-size:14px}.info-list li strong{color:var(--text-primary);font-weight:600}.auto-backup-status{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;margin-bottom:12px}.status-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.status-row:last-child{margin-bottom:0}.status-label{font-weight:500;color:var(--text-secondary);font-size:.9em}.status-value{color:var(--text-primary);font-weight:600}.status-value.active{color:var(--accent-green)}.status-value.inactive{color:var(--text-muted)}.setting-item{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.setting-label{font-weight:500;color:var(--text-secondary);font-size:.9em;min-width:180px}.setting-select,.setting-input{flex:1;padding:6px 12px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.9em;font-family:inherit}.setting-select:focus,.setting-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.setting-input[type=number]{width:80px;flex:0 0 80px}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:14px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;padding:8px 0}.checkbox-label:hover{color:var(--text-primary)}.settings-content .checkbox-label input[type=checkbox]{margin:0 12px 0 0;cursor:pointer;width:18px;height:18px;min-width:18px;min-height:18px;accent-color:var(--accent-blue, #3b82f6);appearance:auto!important;-webkit-appearance:checkbox!important;-moz-appearance:checkbox!important;opacity:1!important}.settings-content .checkbox-label input[type=checkbox]:not(:checked){border:2px solid var(--border-default, #ccc);background-color:var(--bg-primary, white)}.review-editor{display:flex;flex-direction:column;height:100%;background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden}.review-editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-default);background-color:var(--bg-primary)}.review-editor-title{display:flex;align-items:center;gap:16px}.review-editor-title h2{margin:0;font-size:20px;font-weight:600}.review-progress-indicator{font-size:14px;color:var(--text-secondary);font-weight:500}.review-editor-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.review-editor-close:hover{background-color:var(--bg-hover)}.review-editor-content{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:24px}.review-editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center;color:var(--text-secondary)}.review-editor-completed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center}.review-editor-completed h2{margin:0;font-size:24px;font-weight:600;color:var(--text-primary)}.review-editor-completed p{margin:0;font-size:16px;color:var(--text-secondary)}.review-hint{font-size:14px!important;font-style:italic}.review-completed-stats{display:flex;gap:24px;margin-top:16px}.review-completed-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.review-completed-stat .stat-value{font-size:28px;font-weight:700;color:var(--text-primary)}.review-completed-stat .stat-label{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.review-progress-bar{width:100%;max-width:700px;height:4px;background-color:var(--bg-secondary);border-radius:2px;overflow:hidden}.review-progress-fill{height:100%;background-color:var(--accent-blue);transition:width .3s ease}.review-card-counter{display:none;width:100%;max-width:700px}.review-card{background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:12px;padding:32px;width:100%;max-width:700px;display:flex;flex-direction:column;justify-content:center;min-height:300px}.review-question{margin-bottom:0}.review-question-title-container{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px}.review-question-bullet{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;padding:2px;margin:0;transition:all .15s ease;border-radius:4px}.review-question-bullet svg{display:block}.review-question-bullet:hover{color:#333;background-color:var(--bg-hover)}.review-question-bullet:active{color:#000;background-color:var(--bg-active)}.review-question-title{flex:1;margin:0;font-size:24px;font-weight:600;color:var(--text-primary);line-height:1.4}.review-question-description{color:var(--text-secondary);line-height:1.6;font-size:16px}.review-answer{margin-top:24px}.review-answer-heading{margin:0 0 16px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.review-no-answer{color:var(--text-secondary, #999);font-style:italic;margin:0}.review-answer-outline{display:flex;flex-direction:column;gap:4px}.answer-outline-node{display:flex;flex-direction:column}.answer-outline-content{display:flex;align-items:flex-start;gap:4px;padding:4px 0}.answer-outline-toggle{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;padding:0;margin:2px 0 0 8px;border-radius:3px;transition:all .15s ease}.answer-outline-toggle:hover{color:#333;background-color:var(--bg-hover)}.answer-outline-bullet{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;padding:2px;margin:0;transition:all .15s ease;border-radius:4px}.answer-outline-bullet svg{display:block}.answer-outline-bullet:hover{color:#333;background-color:var(--bg-hover)}.answer-outline-bullet:active{color:#000;background-color:var(--bg-active)}.answer-outline-text{flex:1;min-width:0}.answer-outline-name{font-weight:500;font-size:16px;color:var(--text-primary);line-height:1.5}.answer-outline-description{color:var(--text-secondary);line-height:1.6;font-size:15px;margin-top:4px}.answer-outline-children{display:flex;flex-direction:column}.review-actions{display:flex;justify-content:center;margin-top:auto}.button-primary{display:inline-flex;align-items:center;gap:12px;padding:14px 32px;background-color:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.button-primary:hover{background-color:var(--accent-blue-hover)}.button-primary:active{transform:scale(.98)}.button-primary kbd{padding:4px 8px;background-color:#fff3;border-radius:4px;font-size:13px;font-family:monospace}.button-large{font-size:18px;padding:16px 48px}.review-rating-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;width:100%;max-width:700px}.review-rating-button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 16px;border:2px solid var(--border-default);border-radius:8px;background-color:var(--bg-primary);cursor:pointer;transition:all .2s;flex:1 1 auto;min-width:80px;max-width:150px}.review-rating-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.review-rating-button:active:not(:disabled){transform:translateY(0)}.review-rating-button:disabled{opacity:.5;cursor:not-allowed}.review-rating-button .rating-label{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.review-rating-button .rating-interval{font-size:16px;font-weight:700;color:var(--text-primary)}.review-rating-button kbd{padding:2px 6px;background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:3px;font-size:12px;font-family:monospace;color:var(--text-secondary)}.rating-again{border-color:var(--accent-red)}.rating-again .rating-label{color:#ef4444}.rating-again:hover:not(:disabled){background-color:var(--status-error-bg);border-color:var(--accent-red)}.rating-hard{border-color:var(--accent-orange)}.rating-hard .rating-label{color:#f59e0b}.rating-hard:hover:not(:disabled){background-color:var(--status-warning-bg);border-color:var(--accent-orange)}.rating-good{border-color:var(--accent-green)}.rating-good .rating-label{color:#10b981}.rating-good:hover:not(:disabled){background-color:var(--status-success-bg);border-color:var(--accent-green)}.rating-easy{border-color:var(--accent-blue)}.rating-easy .rating-label{color:#3b82f6}.rating-easy:hover:not(:disabled){background-color:var(--status-info-bg);border-color:var(--accent-blue-hover)}.review-stats{display:flex;gap:24px;justify-content:center;padding:16px;background-color:var(--bg-secondary);border-radius:8px;margin-top:24px}.review-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.review-stat-value{font-size:24px;font-weight:700;color:var(--text-primary)}.review-stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.review-restart-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;margin-top:12px;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.review-restart-button:hover{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color, #ccc)}.review-restart-button:active{transform:scale(.98)}@media (prefers-color-scheme: dark){.review-editor{background-color:var(--bg-primary, #1a1a1a);color:var(--text-primary, #e0e0e0)}.review-editor-header{background-color:var(--bg-primary, #1a1a1a);border-bottom-color:var(--border-color, #333)}.review-card{background-color:var(--bg-secondary, #2a2a2a);border-color:var(--border-color, #333)}.review-rating-button{background-color:var(--bg-secondary, #2a2a2a);border-color:var(--border-color, #444)}.review-stats{background-color:var(--bg-secondary, #2a2a2a)}.answer-outline-toggle:hover,.answer-outline-bullet:hover{color:#e0e0e0;background-color:#3a3a3a}.answer-outline-bullet:active{color:#fff;background-color:#4a4a4a}}@media (max-width: 768px){.review-editor-content{padding:12px;gap:16px}.review-editor-header{padding:12px 16px}.review-editor-title h2{font-size:18px}.review-progress-indicator{font-size:13px}.review-card{padding:20px 16px;margin-bottom:16px}.review-question-title{font-size:20px}.review-question-description{font-size:15px}.review-answer-heading{font-size:14px}.review-answer-item{padding:12px}.review-answer-name{font-size:15px}.review-answer-description{font-size:14px}.button-primary{padding:16px 32px;font-size:16px;width:100%;max-width:280px}.button-large{font-size:17px;padding:18px 40px}.review-rating-buttons{gap:10px;width:100%;max-width:400px;margin:0 auto}.review-rating-button{flex:1 1 calc(50% - 5px);min-width:0;min-height:88px;padding:14px 12px}.review-rating-button .rating-label{font-size:13px}.review-rating-button .rating-interval{font-size:18px}.review-rating-button kbd{font-size:11px;padding:2px 5px}.review-stats{gap:16px;padding:12px;margin-top:16px}.review-stat-value{font-size:20px}.review-stat-label{font-size:11px}.review-completed-stats{gap:16px}.review-completed-stat .stat-value{font-size:24px}.review-completed-stat .stat-label{font-size:12px}.settings-content,.settings-section{padding:16px}.settings-tabs{padding:0 12px}.settings-tab{font-size:14px;padding:10px 14px}}@media (max-width: 430px){.review-editor-content{padding:8px;gap:8px}.review-card{padding:20px 16px;border-radius:10px;margin-bottom:0;min-height:200px;display:flex;flex-direction:column;justify-content:center}.review-question-title-container{margin-bottom:12px;gap:8px}.review-question-bullet{width:24px;height:24px;padding:2px}.review-question-title{font-size:19px;line-height:1.4;font-weight:500}.review-question-description{font-size:15px;line-height:1.6}.review-divider{margin:16px 0}.review-answer{margin-top:16px}.review-answer-heading{font-size:13px;margin-bottom:12px}.review-answer-item{padding:10px}.button-primary{min-height:54px;padding:16px 32px;font-size:17px;width:100%;max-width:none;border-radius:12px}.button-large{min-height:54px;padding:16px 32px;font-size:17px}.review-actions{margin-top:8px}.review-rating-buttons{gap:8px;display:grid;grid-template-columns:1fr 1fr}.review-rating-button{flex:none;min-height:82px;padding:12px 8px}.review-rating-button .rating-label{font-size:12px;letter-spacing:.3px}.review-rating-button .rating-interval{font-size:17px}.button-primary kbd,.review-rating-button kbd{display:none}.review-stats{gap:12px;padding:10px;flex-wrap:wrap}.review-stat{min-width:calc(25% - 20px)}.review-stat-value{font-size:18px}.review-stat-label{font-size:10px}.review-editor-completed{padding:32px 16px}.review-editor-completed h2{font-size:20px}.review-editor-completed p{font-size:15px}.review-completed-stats{gap:12px;flex-wrap:wrap}.review-completed-stat{min-width:calc(25% - 9px)}.review-completed-stat .stat-value{font-size:22px}.review-completed-stat .stat-label{font-size:11px}.settings-editor-header{padding:14px 16px}.settings-editor-header h2{font-size:19px;font-weight:600}.settings-tabs{padding:0 8px;gap:4px;border-bottom:1px solid var(--border-default)}.settings-tab{font-size:14px;padding:12px 14px;gap:6px;font-weight:500}.settings-tab.active{border-bottom:2px solid #3b82f6}.settings-section h3{font-size:15px}.settings-content,.settings-section{padding:12px}.review-progress-indicator{font-size:13px;font-weight:500;color:var(--text-primary)}.review-progress-bar{height:3px;margin:0 0 8px}.review-card-counter{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin:0 0 6px;text-align:center}.review-progress-indicator{display:none!important}}@supports (padding: env(safe-area-inset-bottom)){.review-editor-content{padding-bottom:max(24px,env(safe-area-inset-bottom))}@media (max-width: 768px){.review-editor-content{padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media (max-width: 430px){.review-editor-content{padding-bottom:max(12px,env(safe-area-inset-bottom))}}}.toast-container{position:fixed;top:20px;right:20px;z-index:100000;display:flex;flex-direction:column;gap:10px;max-width:400px}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 4px 12px #00000026;animation:toast-enter .3s ease-out;min-width:300px}.toast-exit{animation:toast-exit .3s ease-out;opacity:0;transform:translate(400px)}@keyframes toast-enter{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(400px)}}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-content{flex:1;display:flex;flex-direction:column;gap:4px}.toast-title{font-weight:600;font-size:14px;color:var(--text-primary)}.toast-message{font-size:13px;color:var(--text-secondary);line-height:1.4}.toast-action{margin-top:8px;padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:4px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;align-self:flex-start;transition:all .2s}.toast-action:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;color:var(--text-tertiary);cursor:pointer;transition:color .2s}.toast-close:hover{color:var(--text-primary)}.pwa-install-prompt{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:12px;background:linear-gradient(to top,rgba(0,0,0,.05) 0%,transparent 100%);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.pwa-install-content{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--background-color, #ffffff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;box-shadow:0 4px 12px #0000001a}.pwa-install-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--primary-color, #007acc);border-radius:8px;color:#fff}.pwa-install-text{flex:1;min-width:0}.pwa-install-title{font-size:14px;font-weight:600;color:var(--text-color, #333);margin-bottom:2px}.pwa-install-description{font-size:12px;color:var(--text-secondary-color, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-install-button{flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:500;color:#fff;background:var(--primary-color, #007acc);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.pwa-install-button:hover{background:var(--primary-hover-color, #005a9e);transform:scale(1.02)}.pwa-install-button:active{transform:scale(.98)}.pwa-install-close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary-color, #999);font-size:16px;cursor:pointer;padding:0;transition:color .2s ease}.pwa-install-close:hover{color:var(--text-color, #333)}@media (min-width: 769px){.pwa-install-prompt{display:none}}@media (max-width: 360px){.pwa-install-content{padding:10px 12px;gap:8px}.pwa-install-icon{width:28px;height:28px}.pwa-install-title{font-size:13px}.pwa-install-description{font-size:11px}.pwa-install-button{padding:6px 12px;font-size:13px}}:root{--bg-primary: #ffffff;--bg-secondary: #f3f3f3;--bg-tertiary: #f5f5f5;--bg-hover: #e8e8e8;--bg-active: #e0e0e0;--bg-elevated: #ffffff;--text-primary: #000000;--text-secondary: #333333;--text-tertiary: #666666;--text-muted: #888888;--text-disabled: #999999;--text-inverse: #ffffff;--border-default: #e0e0e0;--border-subtle: #eee;--border-strong: #ccc;--border-focus: #4a9eff;--accent-blue: #4a9eff;--accent-blue-hover: #3a8eef;--accent-green: #4caf50;--accent-red: #f44336;--accent-orange: #ff9800;--accent-purple: #9c27b0;--status-error-bg: #ffebee;--status-error-border: #fcc;--status-error-text: #c33;--status-warning-bg: #fff3e0;--status-warning-text: #e65100;--status-success-bg: #e8f5e9;--status-success-text: #2e7d32;--status-info-bg: #e3f2fd;--status-info-text: #1565c0;--bg-warning: #fff3cd;--border-warning: #ffc107;--card-bg: #ffffff;--card-border: #e0e0e0;--card-shadow: rgba(0, 0, 0, .1);--button-bg: #f3f3f3;--button-hover: #e8e8e8;--button-active: #e0e0e0;--button-text: #333;--input-bg: #ffffff;--input-border: #ddd;--input-focus-border: #4a9eff;--input-text: #000000;--input-placeholder: #999999;--scrollbar-track: #f5f5f5;--scrollbar-thumb: rgba(0, 0, 0, .2);--scrollbar-thumb-hover: rgba(0, 0, 0, .35);--scrollbar-thumb-active: rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--shadow-xl: 0 10px 40px rgba(0, 0, 0, .2);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%)}.dark-theme{--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--bg-tertiary: #333333;--bg-hover: #3a3a3a;--bg-active: #404040;--bg-elevated: #2a2a2a;--text-primary: #e0e0e0;--text-secondary: #c0c0c0;--text-tertiary: #a0a0a0;--text-muted: #808080;--text-disabled: #606060;--text-inverse: #1a1a1a;--border-default: #404040;--border-subtle: #383838;--border-strong: #4a4a4a;--border-focus: #4a9eff;--accent-blue: #5aa9ff;--accent-blue-hover: #4a9eff;--accent-green: #66bb6a;--accent-red: #ef5350;--accent-orange: #ffa726;--accent-purple: #ab47bc;--status-error-bg: #3a1f1f;--status-error-border: #5a2f2f;--status-error-text: #ff6b6b;--status-warning-bg: #3a2f1f;--status-warning-text: #ffb74d;--bg-warning: #3a2f1f;--border-warning: #5a4a2f;--status-success-bg: #1f3a1f;--status-success-text: #81c784;--status-info-bg: #1f2f3a;--status-info-text: #64b5f6;--card-bg: #2a2a2a;--card-border: #404040;--card-shadow: rgba(0, 0, 0, .3);--button-bg: #3a3a3a;--button-hover: #404040;--button-active: #4a4a4a;--button-text: #e0e0e0;--input-bg: #2a2a2a;--input-border: #404040;--input-focus-border: #5aa9ff;--input-text: #e0e0e0;--input-placeholder: #606060;--scrollbar-track: #2a2a2a;--scrollbar-thumb: rgba(255, 255, 255, .2);--scrollbar-thumb-hover: rgba(255, 255, 255, .3);--scrollbar-thumb-active: rgba(255, 255, 255, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .5);--shadow-xl: 0 10px 40px rgba(0, 0, 0, .6);--gradient-primary: linear-gradient(135deg, #5a6ed8 0%, #6a4a92 100%)}*{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:6px}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:6px;border:2px solid var(--scrollbar-track)}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}*::-webkit-scrollbar-corner{background:var(--scrollbar-track)}html{width:100%;max-width:100vw}input,textarea,button,select{font-family:inherit;font-size:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,textarea:focus,button:focus,select:focus{outline:none}*:focus{outline:none}input,textarea,button{-webkit-tap-highlight-color:transparent}svg{display:block;flex-shrink:0}button{background:none;border:none;padding:0;cursor:pointer;color:inherit}input[type=text],input[type=email],input[type=password],input[type=date],textarea{border-radius:0;background-color:transparent;color:var(--input-text);-webkit-text-fill-color:var(--input-text);-webkit-padding-before:0;-webkit-padding-after:0;-webkit-margin-before:0;-webkit-margin-after:0;font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Noto Sans CJK SC,Noto Sans CJK TC,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);width:100%;max-width:100vw;overflow-x:hidden}.app{display:flex;flex-direction:column;height:100vh;max-height:100vh;background-color:var(--bg-primary);overflow:hidden!important;width:100%;max-width:100vw;touch-action:pan-y}.sync-error-banner{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background-color:var(--status-error-bg);border-bottom:1px solid var(--status-error-border);color:var(--status-error-text);font-size:13px;gap:8px;position:fixed;top:44px;left:0;right:0;z-index:9;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.sync-error-banner button{padding:0 8px;font-size:18px;font-weight:700;color:var(--status-error-text);cursor:pointer;background:none;border:none;line-height:1}.sync-error-banner button:hover{opacity:.7}.app-loading,.app-error{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:20px;text-align:center}.app-error{color:var(--accent-red)}.app-error p{margin-top:10px;color:var(--text-tertiary)}.directory-selector{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--gradient-primary);padding:20px}.directory-selector-content{text-align:center;color:#fff}.directory-selector h1{font-size:3rem;margin-bottom:10px;font-weight:700}.subtitle{font-size:1.2rem;margin-bottom:40px;opacity:.9}.selector-card{background:var(--card-bg);border-radius:16px;padding:40px;max-width:500px;margin:0 auto;box-shadow:var(--shadow-xl);color:var(--text-secondary)}.selector-card .icon{font-size:4rem;margin-bottom:20px}.selector-card h2{font-size:1.5rem;margin-bottom:15px;color:var(--text-secondary)}.selector-card p{color:var(--text-tertiary);line-height:1.6;margin-bottom:20px}.select-button{background:var(--gradient-primary);color:#fff;border:none;padding:14px 32px;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;margin:20px 0}.select-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.select-button:active{transform:translateY(0)}.error-message{background-color:var(--status-error-bg);color:var(--status-error-text);padding:12px;border-radius:6px;margin:15px 0;border-left:4px solid var(--status-error-text)}.info{margin-top:30px;padding-top:20px;border-top:1px solid var(--border-subtle)}.info p{font-size:.9rem;color:var(--text-disabled)}body{overflow:auto;-webkit-overflow-scrolling:auto}.action-bar{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background-color:var(--bg-secondary);padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-top:calc(6px + env(safe-area-inset-top));position:fixed;top:0;left:0;right:0;z-index:10;border-bottom:1px solid var(--border-default);gap:8px;transition:transform .2s ease-out;pointer-events:none}.action-bar .action-button{pointer-events:auto}.editor-container:not(.split-view) .editor-pane,.editor-container:not(.split-view) .editor-panel,.editor-container:not(.split-view) .outliner-editor,.editor-container:not(.split-view) .markdown-editor,.editor-container:not(.split-view) .node-editor{overflow:visible!important;min-height:min-content;max-height:none!important}@media (max-width: 768px){.action-bar.mobile-hidden{transform:translateY(-100%)}}.action-bar-left,.action-bar-right{display:flex;gap:4px;align-items:center;min-height:32px;flex-shrink:0}.action-bar-center{flex:1;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;position:relative}.action-bar-center::-webkit-scrollbar{display:none}.action-bar-center-inner{display:inline-flex;gap:8px;align-items:center;min-height:32px;min-width:100%;width:max-content;user-select:none;-webkit-user-select:none}.action-bar-center .action-button{flex-shrink:0;touch-action:pan-x pan-y;-webkit-tap-highlight-color:transparent;pointer-events:auto}.app-name{font-size:18px;font-weight:600;color:var(--text-secondary);margin:0 6px;-webkit-user-select:none;user-select:none}.action-button{padding:8px;border:none;background-color:transparent;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:background-color .1s ease;font-weight:400;display:flex;align-items:center;justify-content:center;line-height:1;-webkit-tap-highlight-color:transparent}@media (hover: hover) and (pointer: fine){.action-button:hover{background-color:var(--bg-hover)}}.action-button:active{background-color:var(--bg-active)}.action-button.nav-button{padding:6px;font-size:16px;font-weight:400}.action-button:disabled{opacity:.35;cursor:default;background-color:transparent}.action-button:disabled:hover{background-color:transparent}.action-button.active-filter{background-color:var(--status-info-bg);color:var(--status-info-text)}.action-button.active-filter:hover{background-color:var(--status-info-bg);opacity:.8}.action-button.syncing svg{animation:spin-icon 1s linear infinite}.flashcard-review-button{position:relative}.due-badge{position:absolute;top:4px;right:4px;background-color:var(--accent-red);width:8px;height:8px;border-radius:50%;border:1.5px solid var(--bg-primary);box-shadow:var(--shadow-sm)}@keyframes spin-icon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-separator{width:1px;height:20px;background-color:var(--border-default);margin:0 6px}.current-node-id{font-size:11px;color:var(--text-tertiary);padding:4px 8px;background-color:transparent;border-radius:3px;font-family:Consolas,Monaco,monospace}.editor-container{flex:1;padding:0;background-color:var(--bg-primary);margin:0;padding-bottom:env(safe-area-inset-bottom);width:100%;max-width:100%;display:flex;flex-direction:column;overflow:hidden;min-height:0}.editor-container:not(.split-view){overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.editor-container.split-view{flex-direction:row;padding:44px 0 0;background-color:var(--bg-primary);gap:0}.editor-pane{background-color:var(--bg-primary);overflow:visible;flex:1;max-width:100%;position:relative;-webkit-overflow-scrolling:touch;padding:52px 16px 8px}.editor-container.with-error-banner .editor-pane{padding-top:89px}.editor-container:not(.split-view) .editor-pane{width:100%;max-width:800px;margin:0 auto;overflow:visible}.editor-container:not(.split-view) .editor-pane:has(.excalidraw-editor),.editor-container:not(.split-view) .editor-pane:has(.pdf-editor){max-width:100%;margin:0;overflow:hidden;display:flex;flex-direction:column}.editor-container.split-view .editor-pane{overflow-y:auto;overflow-x:hidden;min-height:0;-webkit-overflow-scrolling:touch;padding-top:8px!important}.editor-container.split-view .editor-pane:has(.excalidraw-editor),.editor-container.split-view .editor-pane:has(.pdf-editor){overflow:hidden;display:flex;flex-direction:column}.resizer{width:5px;background-color:transparent;cursor:col-resize;flex-shrink:0;position:relative;z-index:1000;display:flex;align-items:center;justify-content:center}.resizer:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;cursor:col-resize}.resizer:after{content:"";width:1px;height:100%;background-color:var(--bg-active);transition:background-color .15s;pointer-events:none}.resizer:hover:after{background-color:var(--accent-blue)}.editor-panel{flex:1;width:100%;background-color:var(--bg-primary);display:flex;flex-direction:column;min-height:0;padding:12px;overflow:visible!important;outline:none}.editor-panel .editor-navigation{display:flex;gap:4px;align-items:center;border-bottom:none;background-color:transparent;transition:background-color .15s ease}.editor-panel.active .editor-navigation{background-color:transparent;border-bottom:none}.editor-panel .editor-navigation .nav-button{padding:4px 10px;border:none;background-color:transparent;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .15s ease;color:var(--text-secondary)}.editor-panel .editor-navigation .nav-button:hover:not(:disabled){background-color:var(--bg-active)}.editor-panel .editor-navigation .nav-button:disabled{opacity:.35;cursor:default;background-color:transparent}.editor-placeholder{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-disabled);font-size:16px}.markdown-editor{width:100%;display:flex;flex-direction:column;background-color:var(--bg-primary);padding:16px 24px}.markdown-title-container{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:8px}.markdown-title{font-size:20px;font-weight:400;color:var(--text-primary);margin:0;padding:4px 0;flex:1;cursor:default}.markdown-title-input{font-size:20px;font-weight:400;color:var(--text-primary);border:1px solid #007acc;border-radius:4px;padding:4px 8px;flex:1;outline:none;background-color:var(--bg-primary)}.saving-indicator{font-size:12px;color:var(--text-disabled);margin-right:8px}.markdown-textarea{flex:1;width:100%;border:1px solid var(--border-default);border-radius:4px;padding:12px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;resize:none;outline:none;background-color:var(--bg-primary);color:var(--text-secondary)}.markdown-textarea:focus{border-color:var(--accent-blue)}.markdown-editor .editor-loading,.markdown-editor .editor-empty{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-disabled);font-size:16px}.file-editor{width:100%;flex:1;display:flex;flex-direction:column;background-color:var(--bg-primary);padding:16px 24px}.file-title-container{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-default)}.file-title{font-size:20px;font-weight:400;color:var(--text-primary);margin:0;padding:4px 0;flex:1;cursor:default}.file-title-input{font-size:20px;font-weight:400;color:var(--text-primary);border:1px solid #007acc;border-radius:4px;padding:4px 8px;flex:1;outline:none;background-color:var(--bg-primary)}.file-content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.file-info{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-tertiary)}.file-info p{margin:0;font-size:14px}.open-system-button{padding:10px 20px;background-color:var(--accent-blue);color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .15s ease;display:flex;align-items:center;gap:6px}.open-system-button:hover{background-color:var(--accent-blue-hover)}.file-location{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:var(--text-secondary);max-width:600px;word-break:break-all}.file-path{color:var(--accent-blue)}.file-instruction{font-size:13px;color:var(--text-muted);text-align:center;max-width:400px;line-height:1.5}.file-actions{display:flex;gap:12px;margin-top:8px}.copy-path-button{padding:8px 16px;background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid #ddd;border-radius:4px;font-size:13px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.copy-path-button:hover:not(:disabled){background-color:var(--bg-active);border-color:var(--border-strong)}.copy-path-button:disabled{opacity:.5;cursor:not-allowed}.show-folder-button{padding:8px 16px;background-color:var(--accent-blue);color:#fff;border:1px solid #007acc;border-radius:4px;font-size:13px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.show-folder-button:hover:not(:disabled){background-color:var(--accent-blue-hover);border-color:var(--accent-blue-hover)}.show-folder-button:disabled{opacity:.5;cursor:not-allowed}.download-file-button{padding:8px 16px;background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid #ddd;border-radius:4px;font-size:13px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.download-file-button:hover{background-color:var(--bg-active);border-color:var(--border-strong)}.file-editor .editor-empty{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-disabled);font-size:16px}.image-preview-container{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;height:100%;padding:20px;overflow:auto}.image-preview{max-width:100%;max-height:calc(100vh - 300px);object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #0000001a;background-color:var(--bg-tertiary)}.image-info{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.image-filename{font-size:16px;font-weight:500;color:var(--text-secondary);margin:0}.image-metadata{font-size:13px;color:var(--text-tertiary);margin:0}.pdf-editor{width:100%;flex:1;display:flex;flex-direction:column;background-color:var(--bg-primary);overflow:hidden}.pdf-editor.active{background-color:var(--bg-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-dialog{background-color:var(--bg-primary);border-radius:8px;padding:24px;min-width:400px;max-width:90vw;box-shadow:0 4px 12px #0000004d}.modal-title{margin:0 0 16px;font-size:18px;font-weight:500;color:var(--text-secondary)}.modal-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;margin-bottom:20px;box-sizing:border-box}.modal-input:focus{outline:none;border-color:var(--accent-blue)}.modal-buttons{display:flex;justify-content:flex-end;gap:8px}.modal-button{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s ease}.modal-button-cancel{background-color:var(--bg-hover);color:var(--text-secondary)}.modal-button-cancel:hover{background-color:var(--bg-active)}.modal-button-primary{background-color:var(--accent-blue);color:#fff}.modal-button-primary:hover{background-color:var(--accent-blue-hover)}.pdf-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-default);flex-shrink:0;gap:10px}.pdf-toolbar-group{display:flex;align-items:center;gap:4px}.pdf-toolbar-button{display:flex;align-items:center;justify-content:center;padding:4px;min-height:32px;background-color:var(--bg-primary);border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .15s ease;color:var(--text-secondary)}.pdf-toolbar-button:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--accent-blue)}.pdf-toolbar-button:disabled{opacity:.4;cursor:not-allowed}.pdf-toolbar-button.active{background-color:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.pdf-toolbar-button.pdf-text-button{font-size:14px;line-height:1;padding:4px;min-width:24px;min-height:32px}.pdf-settings-menu{position:relative;display:inline-block}.pdf-page-info,.pdf-zoom-level{font-size:13px;color:var(--text-secondary);min-width:70px;text-align:center}.pdf-page-info-full{display:inline}.pdf-page-info-compact{display:none}@media (max-width: 768px){.pdf-page-info-full{display:none}.pdf-page-info-compact{display:inline}.pdf-hide-mobile{display:none!important}.pdf-page-info{min-width:30px}}.pdf-search-bar{display:flex;align-items:center;gap:6px;padding:6px 16px;background-color:var(--bg-primary);border-bottom:1px solid var(--border-default);flex-shrink:0}.pdf-search-input{flex:1;padding:5px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s ease}.pdf-search-input:focus{border-color:var(--accent-blue)}.pdf-search-button{display:flex;align-items:center;justify-content:center;padding:4px;background-color:var(--bg-primary);border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .15s ease;color:var(--text-secondary)}.pdf-search-button:hover{background-color:var(--bg-hover);border-color:var(--accent-blue)}.pdf-search-results{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.pdf-content{flex:1;display:flex;overflow:hidden}.pdf-sidebar{width:200px;background-color:var(--bg-tertiary);border-right:1px solid #e0e0e0;display:flex;flex-direction:column;flex-shrink:0}.pdf-sidebar-header{padding:12px;font-weight:500;font-size:14px;border-bottom:1px solid var(--border-default);background-color:var(--bg-tertiary)}.pdf-thumbnails{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.pdf-thumbnail{cursor:pointer;padding:4px;border:2px solid transparent;border-radius:4px;background-color:var(--bg-primary);transition:all .15s ease}.pdf-thumbnail:hover{border-color:var(--accent-blue);background-color:var(--status-info-bg)}.pdf-thumbnail.active{border-color:var(--accent-blue);background-color:#e3f2fd;box-shadow:0 2px 4px #007acc33}.pdf-thumbnail-canvas{display:block;width:100%;height:auto;box-shadow:0 1px 3px #0003}.pdf-thumbnail-label{text-align:center;font-size:12px;color:var(--text-tertiary);margin-top:4px}.pdf-viewer-container{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:20px;background-color:#525659}.pdf-page-wrapper{margin-bottom:20px;position:relative}.pdf-canvas{display:block;box-shadow:0 4px 12px #0000004d;background-color:var(--bg-primary)}.pdf-highlight-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.pdf-text-layer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;cursor:text;line-height:1;overflow:hidden}.pdf-text-layer.highlight-mode{background-color:#c8c8ff1a}.pdf-text-layer span{color:transparent!important;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important}.pdf-text-layer ::selection{background:#007bff99;color:transparent!important}.pdf-text-layer ::-moz-selection{background:#007bff99;color:transparent!important}.pdf-text-item{position:absolute;color:transparent;white-space:pre;cursor:text;transform-origin:0% 0%;-webkit-user-select:text;user-select:text;line-height:1}.pdf-search-highlight{position:absolute;background-color:#ff06;pointer-events:none;transition:background-color .2s ease}.pdf-search-highlight.current{background-color:#ffa50099}.pdf-user-highlight{position:absolute;background-color:#ff06;pointer-events:none;transition:background-color .2s ease}.pdf-outline{flex:1;overflow-y:auto;padding:8px}.pdf-outline-empty{padding:20px;text-align:center;color:var(--text-disabled);font-size:14px}.pdf-outline-tree,.pdf-outline-item{display:flex;flex-direction:column}.pdf-outline-item-content{display:flex;align-items:center;gap:4px}.pdf-outline-expand-button{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:color .2s ease;flex-shrink:0}.pdf-outline-expand-button:hover{color:var(--accent-blue)}.pdf-outline-title{background:none;border:none;padding:6px 8px;cursor:pointer;text-align:left;font-size:13px;color:var(--text-secondary);flex:1;border-radius:4px;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-outline-title:hover{background-color:var(--bg-hover);color:var(--accent-blue)}.pdf-loading,.pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;color:var(--text-tertiary)}.pdf-error{color:#d32f2f}.pdf-loading .spinning{animation:spin 1s linear infinite}.outliner-editor{width:100%;max-width:100%;min-height:500px;font-family:inherit;background-color:var(--bg-primary);overflow:visible}.editor-navigation{display:flex;gap:4px;align-items:center;padding:4px 0 12px}.editor-navigation .nav-button{padding:4px 10px;border:none;background-color:transparent;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .15s ease;color:var(--text-secondary)}.editor-navigation .nav-button:hover:not(:disabled){background-color:var(--bg-active)}.editor-navigation .nav-button:disabled{opacity:.35;cursor:default;background-color:transparent}.editor-navigation .breadcrumb{margin-bottom:0;padding:0}.outliner-editor.loading,.outliner-editor.empty{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-disabled);font-size:16px}.node-title-container{display:flex;flex-direction:column;position:relative}.node-title-row{display:flex;align-items:center;padding:0;width:100%;gap:8px}.node-title{font-size:28px;font-weight:600;color:#000;cursor:default}.node-title-input{font-size:24px;font-weight:600;color:#000;border:1px solid #007acc;border-radius:4px;padding:2px 6px;outline:none;background-color:var(--bg-primary)}.node-title-readonly{font-size:24px;font-weight:600;color:var(--text-secondary);margin:0;flex:1;display:flex;align-items:center}.journal-date-info{color:var(--text-muted);font-weight:400;margin:4px 0}.journal-date-info-inline{color:var(--text-muted);font-weight:400;font-size:.85em;margin-left:8px;display:inline-block}.journal-date-navigation{display:inline-flex;align-items:center;gap:4px;margin-left:12px;position:relative}.journal-nav-button{padding:6px!important}.journal-date-picker-wrapper{position:relative;display:inline-block;width:28px;height:28px;border-radius:4px;transition:all .15s ease}.journal-date-picker-input{position:absolute;left:0;top:0;width:100%;height:100%;padding:6px;border:none;background:transparent;border-radius:4px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:transparent;font-size:0;line-height:0;text-indent:-9999px;overflow:hidden}.journal-date-picker-input::-webkit-datetime-edit{display:none}.journal-date-picker-input::-webkit-datetime-edit-fields-wrapper{display:none}.journal-date-picker-input::-webkit-datetime-edit-text{display:none}.journal-date-picker-input::-webkit-datetime-edit-month-field,.journal-date-picker-input::-webkit-datetime-edit-day-field,.journal-date-picker-input::-webkit-datetime-edit-year-field{display:none}.journal-date-picker-input::-webkit-inner-spin-button,.journal-date-picker-input::-webkit-clear-button{display:none}.journal-date-picker-input::-webkit-calendar-picker-indicator{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer;opacity:0;z-index:2}.journal-date-picker-wrapper:before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-color:var(--text-secondary);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;pointer-events:none;z-index:1}@media (hover: hover) and (pointer: fine){.journal-date-picker-wrapper:hover{background-color:var(--bg-hover)}}.journal-date-picker-wrapper:active{background-color:var(--bg-active)}.node-title-editable{font-size:24px;font-weight:600;color:var(--text-secondary);margin:0;padding:2px 0;flex:1;border:none;outline:none;cursor:text;min-height:40px}.node-title-editable+.related-topics-container{flex:1}.node-title-editable:has(+.related-topics-container){flex:0 1 auto;max-width:none}.node-title-editable:focus{outline:2px solid #007acc;outline-offset:2px;border-radius:4px}.node-title-editable:empty:before{content:attr(data-placeholder);color:var(--text-disabled);font-style:italic}.node-settings-menu{position:relative}.settings-menu-button{background-color:transparent;border:none;border-radius:4px;padding:2px 6px;font-size:20px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;line-height:1;opacity:1}.settings-menu-button:hover{background-color:var(--bg-active)}.expand-collapse-button{background-color:transparent;border:none;border-radius:4px;padding:2px 6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;line-height:1;opacity:.7;display:inline-flex;align-items:center;justify-content:center}.expand-collapse-button:hover{background-color:var(--bg-active);opacity:1}.view-mode-toggle-button{background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px;padding:4px 10px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;line-height:1;white-space:nowrap}.view-mode-toggle-button:hover{background-color:#e8e8e8;border-color:#d0d0d0}.view-mode-toggle-button:active{transform:scale(.98)}.topic-tasks-view{padding:0}.topic-view-mode-toggle{display:flex;gap:4px;background:var(--bg-tertiary);border-radius:6px;padding:2px}.topic-graph-view{padding:10px 0;display:flex;justify-content:center;align-items:center}.topic-graph-container{width:100%;max-width:1200px;position:relative;display:flex;flex-direction:column;align-items:center}.topic-graph-legend{position:absolute;top:10px;left:10px;z-index:10;display:flex;gap:16px;flex-wrap:wrap;background-color:var(--bg-elevated);padding:8px 12px;border-radius:6px;box-shadow:0 2px 4px #0000001a;border:1px solid var(--border-default)}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-tertiary)}.legend-color{width:12px;height:12px;border-radius:50%;border:1px solid var(--border-default)}.topic-graph-controls{position:absolute;top:10px;right:10px;z-index:10;display:flex;gap:8px}.topic-graph-control-button{background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0000001a}.topic-graph-control-button:hover{background-color:var(--bg-hover);border-color:var(--border-strong);box-shadow:0 2px 8px #00000026}.topic-graph-control-button:active{transform:scale(.95)}.topic-graph-control-button.active{background-color:var(--accent-blue);border-color:var(--accent-blue-hover);color:var(--text-inverse)}@media (max-width: 768px){.topic-graph-legend{top:auto;bottom:10px;left:50%;transform:translate(-50%);gap:8px;padding:6px 10px;max-width:calc(100% - 20px)}.legend-item{font-size:11px;gap:4px}.legend-color{width:10px;height:10px}}.topic-graph-loading,.topic-graph-empty{padding:40px;text-align:center;color:var(--text-tertiary);font-size:14px}.settings-dropdown{position:absolute;top:100%;right:0;background-color:var(--bg-primary);border:1px solid var(--border-default);border-radius:4px;box-shadow:0 2px 8px #00000026;min-width:150px;z-index:1000;margin-top:4px}.settings-menu-item{width:100%;background:none;border:none;padding:8px 12px;text-align:left;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:background-color .15s ease;display:flex;align-items:center;gap:8px}.settings-menu-item:hover{background-color:var(--bg-hover)}.settings-menu-item.delete-item{color:#d32f2f}.settings-menu-item.delete-item:hover{background-color:#ffebee}.node-attachments{padding:8px 0;display:flex;flex-wrap:wrap;gap:6px}.attachment-item{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:4px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.attachment-item:hover{background-color:#e8e8e8;border-color:#d0d0d0}.attachment-item.attachment-orphaned{background-color:var(--status-warning-bg);border-color:#ffb74d}.attachment-item.attachment-orphaned:hover{background-color:#ffe0b2;border-color:#ffa726}.attachment-item.attachment-orphaned .attachment-icon{color:#f57c00}.attachment-badge{font-size:10px;color:#f57c00;font-weight:500}.attachment-icon{font-size:14px;line-height:1}.attachment-name{font-family:Consolas,Monaco,monospace;font-size:12px}.node-children-root{margin-left:-18px}.add-child-button-container{margin-top:16px;margin-left:18px;display:flex;align-items:center;gap:0}.add-child-button{background:none;border:none;color:var(--text-disabled);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.add-child-button svg{display:block;flex-shrink:0}.add-child-button:hover{background-color:var(--bg-hover);color:var(--text-secondary)}.breadcrumb{font-size:13px;color:var(--text-tertiary);display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;max-width:100%}.breadcrumb-path{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;position:relative;flex-shrink:1}.breadcrumb-path>span{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:1}.breadcrumb-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.breadcrumb-action-button{background:none;border:none;color:var(--text-disabled);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.breadcrumb-action-button:hover{background-color:var(--bg-hover);color:var(--text-secondary)}.editor-panel:not(.active) .breadcrumb-action-button{opacity:.4}.editor-panel:not(.active) .breadcrumb-action-button:hover{background-color:var(--bg-hover);opacity:.6}.breadcrumb-link{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:0;font-size:13px;font-family:inherit;text-decoration:none;transition:color .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;min-width:0;flex-shrink:1}.breadcrumb-link:hover{color:var(--text-secondary);text-decoration:underline}.breadcrumb-text{color:var(--text-tertiary);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;min-width:0;flex-shrink:1;display:inline-flex;align-items:center;gap:4px}.breadcrumb-icon{flex-shrink:0}.editor-panel:not(.active) .breadcrumb-text{opacity:.5}.editor-panel:not(.active) .breadcrumb-link{opacity:.5}.editor-panel:not(.active) .breadcrumb-link:hover{opacity:.7}.breadcrumb-ellipsis{background:none;border:none;color:var(--text-disabled);cursor:pointer;padding:0 4px;font-size:13px;font-family:inherit;font-weight:700;letter-spacing:1px;transition:all .15s ease}.breadcrumb-ellipsis:hover{color:var(--text-secondary);background-color:var(--bg-hover);border-radius:3px}.editor-panel:not(.active) .breadcrumb-ellipsis{opacity:.5}.editor-panel:not(.active) .breadcrumb-ellipsis:hover{opacity:.7;background-color:var(--bg-tertiary)}.breadcrumb-separator{color:var(--text-disabled);margin:0 6px}.editor-panel:not(.active) .breadcrumb-separator{opacity:.5}.breadcrumb-path-selector{position:relative}.breadcrumb-path-toggle{background:none;border:none;padding:0 4px;cursor:pointer;font-size:12px;color:var(--text-disabled);transition:color .15s ease}.breadcrumb-path-toggle:hover{color:var(--text-tertiary)}.breadcrumb-path-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-primary);border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:200px;max-width:400px;z-index:1000;overflow:hidden}.breadcrumb-path-option{display:block;width:100%;padding:8px 12px;border:none;background:none;text-align:left;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:background-color .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb-path-option:hover{background-color:var(--bg-tertiary)}.outliner-node{position:relative;max-width:100%;overflow-x:hidden;overflow-y:visible;contain:layout style;will-change:contents}.outliner-node.hidden-node{opacity:.7}.outliner-node.hidden-node .editable-node-text{color:var(--text-secondary)}.node-content-container{padding-left:0}.node-content{display:flex;align-items:flex-start;gap:2px;padding-bottom:4px;line-height:1.5;-webkit-box-align:start;max-width:100%;overflow:hidden;overflow-wrap:break-word}.node-ancestor-path{font-size:.8rem;color:var(--text-tertiary);opacity:.7;line-height:1.2;display:flex;align-items:center;max-width:100%;overflow:hidden;margin-left:24px;margin-bottom:1px}.dark-theme .node-ancestor-path{color:var(--text-secondary);opacity:.6}.node-ancestor-link{background:none;border:none;padding:0;margin:0;font-size:inherit;color:inherit;cursor:pointer;text-decoration:none;transition:opacity .15s ease;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.node-ancestor-link:hover{opacity:1;text-decoration:underline}.node-ancestor-separator{margin:0 2px;opacity:.5;flex-shrink:0}.node-content.selected{background-color:#e8f4fd}.dark-theme .node-content.selected{background-color:#204460}.node-lock-indicator{display:inline-flex;align-items:center;margin-left:4px;margin-right:4px;color:var(--text-tertiary);opacity:.6;flex-shrink:0}@media (max-width: 768px) and (pointer: coarse){.node-content,.node-text-readonly,.node-title-row,.node-description-display,.description-placeholder,.task-counts-container,.task-progress-bar,.add-child-button,.add-child-button-container,.breadcrumb,.editor-navigation,.mobile-node-action-bar,button{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-user-drag:none!important;-webkit-tap-highlight-color:transparent!important}.node-content{cursor:default!important}.node-children-root{margin:0!important}.node-textarea,.node-title-input,.node-description-input{-webkit-user-select:text!important;user-select:text!important}.node-description{margin-left:24px!important}.node-children .task-counts-container{padding-left:0!important}}.collapse-button{background:none;border:none;cursor:pointer;font-size:11px;padding:0;color:var(--text-muted);width:16px;min-width:16px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:opacity .15s ease,background-color .15s ease;flex-shrink:0;align-self:flex-start;outline:none;-webkit-tap-highlight-color:transparent}@media (pointer: fine){.collapse-button{opacity:0}.outliner-node:hover>.node-content>.collapse-button{opacity:1}@supports (-moz-appearance: none){.collapse-button{transition:background-color .15s ease}}}.collapse-button:hover{background-color:#e8e8e8;color:#555}.collapse-button-placeholder{width:16px;min-width:16px;height:24px;flex-shrink:0}.bullet{background:none;border:none;cursor:pointer;padding:0;color:var(--text-secondary);width:20px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s ease;flex-shrink:0;line-height:1;margin-top:2px;align-self:flex-start;outline:none;-webkit-tap-highlight-color:transparent}.bullet svg{display:block;width:20px;height:20px}.bullet:hover{background-color:var(--status-info-bg);color:var(--accent-blue);transform:scale(1)}.node-textarea{width:100%;max-width:100%;border:none;outline:none;font-size:16px;line-height:1.5;padding:0!important;margin:0!important;background-color:transparent;border-radius:0;resize:none;overflow-x:visible;overflow-y:visible;overflow-wrap:break-word;word-wrap:break-word;font-family:inherit;color:var(--text-secondary);box-sizing:border-box;white-space:pre-wrap;word-break:break-word;display:block;height:auto;min-height:24px;max-height:none;-webkit-text-size-adjust:100%;vertical-align:top;-webkit-padding-start:0!important;-webkit-padding-end:0!important;-webkit-padding-before:0!important;-webkit-padding-after:0!important;-webkit-margin-before:0!important;-webkit-margin-after:0!important;-webkit-margin-start:0!important;-webkit-margin-end:0!important}@supports (field-sizing: content){.node-textarea{field-sizing:content;height:auto!important}}.node-textarea:focus{background-color:transparent}.node-textarea::placeholder{color:var(--text-disabled);font-style:italic}.ref-link-wrapper{display:inline-flex;align-items:center;gap:2px;position:relative}.ref-link{color:#2196f3;text-decoration:none;border-bottom:1px solid rgba(33,150,243,.3);cursor:pointer;padding:0 2px;transition:all .2s ease}.ref-link:hover{background-color:#2196f31a;border-bottom-color:#2196f3}.ref-link:focus{outline:none}.ref-link-edit-btn{display:none;background:none;border:none;color:#2196f3;cursor:pointer;padding:0 2px;font-size:12px;line-height:1;opacity:.6;transition:opacity .2s}.ref-link-wrapper:hover .ref-link-edit-btn{display:inline-block}.ref-link-edit-btn:hover{opacity:1}.ref-link.editing{background-color:var(--bg-primary);border:1px solid #2196f3;border-radius:3px;padding:2px 4px;outline:none;box-shadow:0 0 0 2px #2196f333}.http-link{text-decoration:underline;cursor:pointer;padding:0 2px;transition:all .2s ease;word-break:break-all}.http-link:hover{background-color:#4caf501a;border-bottom-color:#4caf50}.http-link:focus{outline:none}.http-link.editing{background-color:var(--bg-primary);border:1px solid #4caf50;border-radius:3px;padding:2px 4px;outline:none}.link-open-popup{display:flex;gap:8px;background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:4px;animation:fadeInUp .2s ease}.link-open-button,.link-rename-button{border:none;border-radius:6px;padding:10px 20px;font-size:16px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .2s}.link-open-button{background-color:#4caf50;color:#fff}.link-open-button:hover{background-color:#45a049}.link-open-button:active{background-color:#3d8b40}.link-rename-button{background-color:#2196f3;color:#fff}.link-rename-button:hover{background-color:#1976d2}.link-rename-button:active{background-color:#1565c0}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%,calc(-100% + 10px))}to{opacity:1;transform:translate(-50%,-100%)}}.node-textarea[contenteditable]:empty:before{content:attr(data-placeholder);color:var(--text-disabled);font-style:italic;pointer-events:none}.node-text-readonly{flex:1;font-size:16px;line-height:1.5;padding:0;color:var(--text-secondary);cursor:default;white-space:pre-wrap;word-break:break-word}.topic-text{font-weight:600}.node-children{margin-left:20px;position:relative}.calendar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.calendar-picker{background:var(--bg-primary);border-radius:12px;padding:24px;box-shadow:0 10px 40px #0003;min-width:320px;max-width:400px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-title{font-size:1.2rem;font-weight:600;color:var(--text-secondary)}.calendar-nav{background:none;border:none;font-size:1.5rem;color:#667eea;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .2s}.calendar-nav:hover{background-color:var(--bg-hover)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-weekday{text-align:center;font-size:.85rem;font-weight:600;color:var(--text-disabled);padding:8px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s;color:var(--text-secondary)}.calendar-day:not(.empty):hover{background-color:#e8ebf8;transform:scale(1.05)}.calendar-day.empty{cursor:default}.calendar-day.today{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.calendar-day.today:hover{transform:scale(1.1)}.calendar-footer{margin-top:20px;display:flex;justify-content:flex-end}.calendar-button{padding:8px 16px;border:1px solid #ddd;background-color:var(--bg-primary);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.calendar-button:hover{background-color:var(--bg-hover);border-color:var(--border-strong)}@media (max-width: 768px){.action-bar-center{flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch}.breadcrumb-link{max-width:150px}.editor-container{padding-top:calc(44px + env(safe-area-inset-top,0px))}.editor-container.with-error-banner{padding-top:calc(81px + env(safe-area-inset-top,0px))}.calendar-picker{margin:20px;min-width:auto;width:calc(100% - 40px)}.breadcrumb-action-button[title="Split editor"],.breadcrumb-action-button[title="Swap editors"],.breadcrumb-action-button[title="Close editor"],.editor-pane.secondary-pane,.resizer{display:none}.editor-container.split-view .editor-pane.primary-pane{width:100%!important}.node-description{margin-left:32px}.node-title-container{padding:0}.task-settings{padding-left:8px!important}}@media (pointer: coarse){.add-child-button-container{display:flex;justify-content:space-between;align-items:center;margin-left:1px;margin-right:1px}.collapse-button{order:10;margin-left:auto;width:24px;min-width:24px;height:24px;color:var(--text-disabled)}.collapse-button:hover{background-color:transparent}.node-ancestor-path{margin-left:2px}.collapse-button svg{width:16px;height:16px}.collapse-button-placeholder{order:10;margin-left:auto}}.node-description-input{width:100%;padding:4px 0;font-size:14px;color:var(--text-muted);border:none;outline:none;background-color:transparent;transition:color .15s ease;font-family:inherit;line-height:1.4;white-space:pre-wrap;word-break:break-word;min-height:24px;max-height:none}.node-description-input.editing{overflow:hidden;resize:none}.node-description-input:focus{color:var(--text-tertiary)}.node-description-input:empty:before{content:attr(data-placeholder);color:var(--text-disabled);font-style:italic;pointer-events:none}.node-description-input::placeholder{color:var(--text-disabled);font-style:italic}.node-description-container{width:100%}.node-description-display{width:100%;padding:4px 0;font-size:14px;color:var(--text-muted);cursor:pointer;white-space:pre-wrap;line-height:1.4;transition:color .15s ease}.node-description-display:hover{color:var(--text-tertiary)}.description-placeholder,.node-placeholder{color:var(--text-disabled);font-style:italic}.node-description-expand,.node-description-collapse{display:inline-block;margin-top:4px;padding:2px 8px;font-size:12px;color:var(--text-tertiary);background:none;border:none;cursor:pointer;text-decoration:underline;transition:color .15s ease}.node-description-expand:hover,.node-description-collapse:hover{color:var(--text-secondary)}.task-counts-container{display:flex;align-items:center;gap:6px}.node-children .task-counts-container{padding-left:24px}.task-progress-bar{width:60px;height:4px;background-color:var(--bg-active);border-radius:2px;overflow:hidden}.task-progress-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:2px}.task-counts{font-size:11px;color:var(--text-disabled);font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,Consolas,monospace;line-height:24px}.task-text-row{cursor:text}.task-due-date-wrapper{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary);margin-top:2px;margin-left:-16px;font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,Consolas,monospace}.task-due-date-wrapper .icon{color:var(--text-disabled)}.task-due-date-wrapper span.overdue{color:#d32f2f;font-weight:500}.overdue-badge{display:inline-block;background-color:#e74444;color:#fff;font-size:10px;padding:0 4px;border-radius:10px;font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,Consolas,monospace}.task-due-date-text{cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .15s ease}.task-due-date-text:hover{background-color:var(--bg-hover);text-decoration:underline}.task-due-date-picker-container{display:flex;align-items:center;gap:4px}.task-due-date-picker{font-size:11px;font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,Consolas,monospace;border:1px solid #ddd;border-radius:3px;padding:2px 4px;outline:none}.task-due-date-picker:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.task-due-date-clear{display:flex;align-items:center;justify-content:center;padding:2px;background:var(--accent-red);border:none;border-radius:3px;cursor:pointer;color:#fff;transition:background-color .15s ease;min-width:20px;height:20px}.task-due-date-clear:hover{background:#d32f2f}.task-due-date-clear:active{background:#c62828}.task-count-badge{display:inline-block;margin-left:6px;font-size:10px;color:var(--text-tertiary);background:var(--bg-hover);padding:2px 6px;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,Consolas,monospace;line-height:1;vertical-align:super;pointer-events:none}.hide-completed-button{display:inline-flex;align-items:center;justify-content:center;padding:2px;color:var(--text-disabled);background:transparent;border:none;cursor:pointer;opacity:.6;transition:opacity .15s ease}.hide-completed-button:hover{opacity:1}.node-description{font-size:12px;color:var(--text-muted);margin-top:0;margin-left:40px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .15s ease}.node-description:hover{color:var(--text-tertiary)}.outline-content-editor{margin-left:40px}.outline-content-editor .editor-pane{border:none;background:transparent;padding:0}.outline-content-editor .markdown-container{padding:8px;background:var(--bg-tertiary);border-radius:4px;min-height:100px}.outline-content-editor .markdown-editor{font-size:14px;min-height:100px}.node-text-container{flex:1;display:flex;flex-direction:column;justify-content:flex-start;min-height:0;max-width:100%;overflow:visible;overflow-wrap:break-word}.node-header-buttons{display:flex;gap:4px;align-items:center;margin-left:auto}.favorite-button{background-color:transparent;border:none;border-radius:4px;padding:4px 8px;font-size:20px;color:#ffa726;cursor:pointer;transition:all .15s ease;line-height:1}.favorite-button:hover{background-color:var(--bg-tertiary);transform:scale(1.1)}.favorite-action-button{font-size:16px}.settings-menu-item.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer}.settings-menu-item.checkbox-item input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0}.settings-menu-item.checkbox-item span{flex:1}.settings-menu-item.checkbox-item:hover{background-color:var(--bg-tertiary)}.settings-menu-item.submenu-item{position:relative;justify-content:space-between}.settings-submenu{position:absolute;left:100%;top:0;background-color:var(--bg-primary);border:1px solid var(--border-default);border-radius:4px;box-shadow:0 2px 8px #00000026;min-width:150px;margin-left:4px}.settings-menu-item.active{background-color:var(--bg-hover);justify-content:space-between}.settings-menu-item.submenu-child-item{padding-left:28px;font-size:12px;color:var(--text-tertiary)}.topic-actions-top-row{display:flex;align-items:center;gap:0px;min-height:20px;margin:4px}.broader-topics-list{display:flex;gap:0px;flex-wrap:wrap;align-items:center}.topic-link-wrapper{display:inline-flex;align-items:center;gap:0px;position:relative}.topic-link-wrapper:hover .topic-remove-button{opacity:1}.broader-topic-link{background-color:transparent;border:none;padding:0;font-size:12px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.broader-topic-link:hover{color:var(--accent-blue)}.topic-remove-button{background-color:transparent;border:none;padding:0 2px;font-size:10px;color:var(--text-disabled);cursor:pointer;opacity:0;transition:opacity .15s ease;line-height:1}.topic-remove-button:hover{color:#f44}.node-title-wrapper{display:flex;align-items:center;gap:8px}.topic-action-button{background-color:transparent;border:1px dashed #ccc;border-radius:50%;width:16px;height:16px;font-size:14px;line-height:14px;color:var(--text-muted);cursor:pointer;transition:all .15s ease;padding:0;display:flex;align-items:center;justify-content:center;font-family:monospace;font-weight:300}.topic-action-button:hover{border-color:var(--accent-blue);color:var(--accent-blue);background-color:var(--status-info-bg)}.related-topics-container{display:flex;align-items:center;gap:0px;flex:1}.related-topics-list{display:flex;gap:0px;flex-wrap:wrap;align-items:center}.related-topic-link{background-color:transparent;border:none;padding:0;font-size:12px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.related-topic-link:hover{color:var(--accent-blue)}.task-checkbox{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:color .15s ease;flex-shrink:0;height:24px;margin-right:2px}.task-checkbox:hover{color:var(--text-secondary)}.flashcard-icon{background:none;border:none;padding:0;cursor:default;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0;align-self:flex-start;margin-top:4px}.node-title-container .flashcard-icon{margin-top:10px}.flashcard-actions{display:flex;gap:8px;align-items:center;margin-top:8px}.flashcard-action-button{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-disabled);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease}.flashcard-action-button:hover{background-color:var(--bg-hover);color:var(--text-secondary)}.task-meta-bar{display:flex;gap:12px;align-items:center;padding:8px 0;margin-top:4px}.task-meta-group{display:flex;align-items:center;gap:4px;color:var(--text-tertiary)}.task-meta-select,.task-meta-date{font-size:13px;padding:4px 6px;border:1px solid var(--input-border);border-radius:4px;background-color:var(--input-bg);color:var(--input-text);cursor:pointer;transition:all .15s ease}.task-meta-select:hover,.task-meta-date:hover{border-color:var(--border-strong, var(--text-disabled));background-color:var(--bg-hover)}.task-meta-select:focus,.task-meta-date:focus{outline:none;border-color:var(--input-focus-border);background-color:var(--input-bg);box-shadow:0 0 0 2px #4a90e21a}.task-meta-date{width:110px;height:30px;font-size:13px!important}.task-meta-clear-button{background:none;border:none;color:var(--text-disabled);cursor:pointer;padding:2px;border-radius:3px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;margin-left:-2px;position:relative;z-index:10;pointer-events:auto}.task-meta-clear-button:hover{background-color:var(--bg-hover);color:var(--text-tertiary)}.task-meta-clear-button:active{background-color:var(--bg-active)}@media (max-width: 768px){.task-meta-bar{gap:8px;flex-wrap:wrap}.task-meta-select,.task-meta-date{font-size:13px;padding:5px 3px}.outline-content-editor{margin-left:24px}}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--bg-primary);border-radius:8px;box-shadow:0 4px 24px #00000026;max-width:500px;width:90%;animation:slideUp .2s ease;outline:none}@media (max-width: 768px){.confirm-dialog{width:95%;max-width:95%}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.sync-spinner{animation:spin 1s linear infinite}.sync-badge svg,.warning-badge svg{width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;max-width:10px!important;max-height:10px!important}.confirm-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid var(--border-default)}.confirm-dialog-header h3,.confirm-dialog-title{margin:0;font-size:18px;font-weight:600;color:var(--text-secondary)}.confirm-dialog-body{padding:20px 24px}.confirm-dialog-message{margin:0;font-size:14px;line-height:1.6;color:var(--text-tertiary);white-space:pre-wrap}.confirm-dialog-footer{padding:16px 24px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e0e0e0}.confirm-dialog-button{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none;outline:none;height:auto;line-height:1.5;box-sizing:border-box}.confirm-dialog-button:focus{outline:none;box-shadow:none}.confirm-dialog-button.cancel{background:var(--bg-tertiary);color:var(--text-tertiary)}.confirm-dialog-button.cancel:hover{background:var(--bg-hover)}.confirm-dialog-button.confirm{background:#1976d2;color:#fff}.confirm-dialog-button.confirm:hover{background:#1565c0}.confirm-dialog-button.confirm:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.confirm-dialog-button.confirm.info{background:#007acc;margin-top:0!important;padding-top:8px!important;border-top:none!important}.confirm-dialog-button.confirm.info:hover{background:#005a9e}.confirm-dialog-button.confirm.danger{background:#d32f2f}.confirm-dialog-button.confirm.danger:hover{background:#b71c1c}.confirm-dialog-button.confirm.warning{background:var(--accent-orange)}.confirm-dialog-button.confirm.warning:hover{background:#e65100}.input-dialog-input{width:100%;padding:12px 14px;margin-top:16px;margin-bottom:20px;border:1.5px solid #ddd;border-radius:8px;font-size:15px;font-family:inherit;background-color:var(--bg-primary);color:var(--text-secondary);transition:all .2s ease}.input-dialog-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.input-dialog-input::placeholder{color:var(--text-disabled)}.confirm-dialog-content{padding:20px 24px 24px}.confirm-dialog-content p{margin:0 0 4px;font-size:14px;line-height:1.6;color:var(--text-tertiary)}.confirm-dialog-actions{padding:16px 24px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e0e0e0}@media (max-width: 768px){.confirm-dialog{min-width:90%;max-width:90%}}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.dialog{background:var(--bg-primary);border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;width:90%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.close-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:4px;transition:all .2s}.dialog-error{padding:12px 16px;background:#ffebee;border:1px solid #ef5350;border-radius:6px;color:#c62828;font-size:14px;margin-bottom:16px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-group small{display:block;font-size:12px;color:var(--text-tertiary);margin-top:4px;margin-bottom:8px}.dialog-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.dialog-input:focus{outline:none;border-color:#667eea}.dialog-input:disabled{background:var(--bg-tertiary);cursor:not-allowed}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.dialog-button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.dialog-button:disabled{opacity:.5;cursor:not-allowed}.dialog-button-secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.dialog-button-secondary:hover:not(:disabled){background:#e0e0e0}.dialog-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dialog-button-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.dialog-container{background:var(--bg-primary);border-radius:8px;box-shadow:0 4px 24px #00000026;max-width:90%;max-height:90%;display:flex;flex-direction:column}.node-info-dialog{width:800px}.dialog-header{padding:20px 24px;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-secondary)}.dialog-close-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:4px;transition:background-color .15s ease}.dialog-close-button:hover{background-color:var(--bg-tertiary)}.dialog-content{padding:20px 24px;overflow:auto;flex:1}.node-info-stats{display:flex;gap:20px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px;margin-bottom:16px}.node-info-stats .stat-item{font-size:13px;color:var(--text-secondary)}.node-info-stats .stat-item strong{margin-right:6px;color:#555}.node-info-actions{margin-bottom:16px}.copy-button{padding:8px 16px;background:#007acc;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.copy-button:hover{background:#005a9e}.copy-button:disabled{background:#ccc;cursor:not-allowed}.node-info-json{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px;padding:16px;margin:0;font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;color:var(--text-secondary);overflow-x:auto;white-space:pre}.node-info-loading,.node-info-error{padding:20px;text-align:center;color:var(--text-tertiary);font-size:14px}.node-info-error{color:#d32f2f}.task-setting-item select,.task-setting-item input[type=date]{font-size:12px;padding:4px 8px;border:1px solid #ccc;border-radius:4px;outline:none;background-color:var(--bg-primary);color:var(--text-secondary);-webkit-appearance:none;-moz-appearance:none;appearance:none}.task-setting-item select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}.task-setting-item select:focus,.task-setting-item input[type=date]:focus{border-color:var(--accent-blue)}.narrower-topics-row{display:flex;align-items:center;margin:4px}.narrower-topics-list{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.narrower-topic-link{background-color:transparent;border:none;padding:0;font-size:12px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.narrower-topic-link:hover{color:var(--accent-blue)}.topic-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:60px;z-index:10000;pointer-events:auto}@media (min-width: 769px){.topic-selector-overlay{align-items:center;padding-top:0}}.topic-selector-dialog{background-color:var(--bg-primary);border-radius:8px;width:90%;max-width:600px;max-height:min(80vh,80svh);display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026;overflow:hidden}@supports (height: 100svh){.topic-selector-dialog{max-height:80svh}}.topic-selector-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-default);background-color:var(--bg-primary)}.topic-selector-header h3{margin:0;font-size:16px;font-weight:500;color:var(--text-secondary);flex:1;background:none}.topic-selector-header .filter-button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.topic-selector-header .filter-button:hover{background-color:var(--bg-hover);color:var(--text-secondary)}.close-button{background:none;border:none;font-size:24px;color:var(--text-disabled);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.close-button:hover{background-color:var(--bg-tertiary);color:var(--text-secondary)}.topic-selector-search{padding:12px 16px;border-bottom:1px solid var(--border-default);background-color:var(--bg-primary)}.topic-selector-search input{width:100%;padding:8px 12px;border:1px solid var(--border-default);border-radius:4px;font-size:15px;outline:none;background-color:var(--bg-primary);color:var(--text-primary);transition:border-color .15s ease}.topic-selector-search input:focus{border-color:var(--accent-blue)}.topic-selector-list{flex:1;overflow-y:auto;padding:8px 0;background-color:var(--bg-primary)}.topic-selector-loading,.topic-selector-empty{padding:40px 20px;text-align:center;color:var(--text-disabled)}.topic-selector-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid var(--border-subtle);transition:background-color .15s ease;background-color:var(--bg-primary)}.topic-selector-item:hover,.topic-selector-item.selected{background:var(--bg-hover)!important}.topic-selector-item:last-child{border-bottom:none}.node-selector-divider{padding:8px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background-color:var(--bg-secondary);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-top:4px}.topic-selector-item .topic-name{font-size:15px;font-weight:500;color:var(--text-secondary);margin-bottom:2px;word-break:break-word;overflow-wrap:break-word;white-space:normal;line-height:1.5}.topic-selector-item .topic-description{font-size:13px;color:var(--text-muted);line-height:1.4;word-break:break-word;overflow-wrap:break-word;white-space:normal}.topic-selector-item .search-filter-option{display:flex;align-items:center;gap:8px;color:var(--accent-blue)}.topic-selector-item .search-filter-option .filter-label{font-weight:500}.topic-selector-item .search-filter-option .filter-keyword{font-weight:600}.search-debug-option{background-color:var(--bg-warning);border:1px solid var(--border-warning);padding:8px;border-radius:4px}.node-info-panel{background-color:var(--bg-primary);border-radius:8px;padding:20px;max-width:800px;max-height:80vh;overflow:auto;box-shadow:0 4px 6px #0000004d}.node-info-panel code{background-color:var(--bg-secondary);padding:2px 6px;border-radius:3px;font-family:monospace}.node-info-panel h4{margin-top:0;margin-bottom:8px;color:var(--text-primary)}.node-info-panel pre{background-color:var(--bg-secondary);color:var(--text-primary);padding:12px;border-radius:4px;overflow:auto;max-height:200px;border:1px solid var(--border-default);font-family:monospace;margin:0}.node-debug-data{background-color:var(--bg-secondary);padding:12px;border-radius:4px;border:1px solid var(--border-default)}.text-muted{color:var(--text-muted)}.node-error-message{color:var(--status-error-text);padding:16px;background-color:var(--status-error-bg);border-radius:4px;border:1px solid var(--status-error-border)}.context-menu{background:var(--bg-primary);border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px 0;min-width:160px}.context-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;background:none;width:100%;text-align:left;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:background-color .15s ease}.context-menu-item:hover{background-color:var(--bg-tertiary)}.context-menu-item.delete{color:#d32f2f}.context-menu-item.delete:hover{background-color:#ffebee}.context-menu-item.icon-edit{flex-direction:row;padding:8px;gap:4px}.context-menu-item.icon-edit input{flex:1;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;outline:none}.context-menu-item.icon-edit input:focus{border-color:var(--accent-blue)}.context-menu-item.icon-edit button{padding:4px 12px;background-color:var(--accent-blue);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.context-menu-item.icon-edit button:hover{background-color:var(--accent-blue-hover)}.node-content.drag-over-before{border-top:2px solid #007acc}.node-content.drag-over-after{border-bottom:2px solid #007acc}.node-content.drag-over-child{background-color:#007acc1a;border-radius:4px}.bullet{cursor:grab}.bullet:active{cursor:grabbing}.bullet.mirror-bullet svg{transform:rotate(45deg)}@keyframes breathing{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}}.bullet.sync-local-syncing,.bullet.sync-cloud-syncing{animation:breathing 1.5s ease-in-out infinite}.bullet.sync-cloud-syncing{cursor:not-allowed}.tags-filter-container{margin:2px 0}.tags-filter-label{display:none}.tags-filter-list{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.tag-filter-button{padding:2px 6px;background:none;border:none;border-radius:12px;font-size:12px;color:#5c5c5c;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;-webkit-tap-highlight-color:transparent}.tag-filter-button:active{background-color:transparent}.tag-filter-button:hover{background-color:var(--bg-hover);color:#555}.tag-filter-button.selected{background-color:var(--bg-hover);color:#000}.tag-filter-button.selected:hover,.tag-filter-button.selected:active{background-color:var(--bg-hover)}.node-tags-section{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:0}.tag-badge{padding:1px 6px;background-color:transparent;font-size:12px;color:var(--text-tertiary);display:inline-flex;align-items:center;transition:all .2s;border-radius:16px}.tag-badge:hover{color:#2196f3}.tag-badge.selected{color:var(--text-primary);font-weight:500;background-color:var(--bg-tertiary)}.clear-tag-filter{padding:2px 8px;background-color:var(--bg-hover);border-radius:4px;font-size:12px;color:var(--text-tertiary);cursor:pointer;border:none}.clear-tag-filter:hover{background-color:var(--bg-active)}.tag-count{font-size:10px;opacity:.7;vertical-align:super}.search-filter-container{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:8px;border-bottom:1px solid #eee}.search-filter-label{font-size:12px;color:var(--text-tertiary);font-weight:500}.search-filter-keyword{display:flex;align-items:center;gap:6px;padding:4px 8px;background-color:var(--bg-hover);border-radius:12px;font-size:12px;color:var(--text-secondary)}.search-filter-clear{padding:0 4px;font-size:16px;font-weight:700;color:var(--text-tertiary);cursor:pointer;background:none;border:none;line-height:1}.search-filter-clear:hover{color:var(--text-secondary)}.node-text-with-counts{display:inline-flex;align-items:baseline;width:100%;max-width:100%;overflow:hidden}.node-text-with-counts .node-textarea{flex:0 1 auto;min-width:0}.node-text-with-counts .tag-count{flex-shrink:0;white-space:nowrap}.tag-filter-clear{padding:2px 8px;background:none;border:none;border-radius:12px;font-size:11px;color:#d32f2f;cursor:pointer;transition:all .2s ease;font-weight:500}.tag-filter-clear:hover{background-color:#d32f2f;color:#fff}.task-list{padding:20px 0}.task-list.loading,.task-list.empty{padding:20px 24px;color:var(--text-disabled);font-size:14px;text-align:center}.task-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.task-list-title{font-size:18px;font-weight:600;color:var(--text-secondary);margin:0;display:flex;align-items:center}.task-list-view-toggle{display:flex;gap:4px;background-color:var(--bg-tertiary);border-radius:6px;padding:2px}.view-toggle-btn{padding:4px 8px;border:none;background:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .2s;display:flex;align-items:center;justify-content:center}.view-toggle-btn:hover{background-color:var(--bg-active)}.view-toggle-btn.active{background-color:var(--bg-primary);color:var(--text-secondary);box-shadow:0 1px 2px #0000001a}.task-list-outliner{margin-left:0}.task-kanban{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px}.kanban-column{flex:1;min-width:280px;background-color:var(--bg-tertiary);border-radius:8px;overflow:hidden}.kanban-column-header{padding:12px 16px;background-color:#e9ecef;border-bottom:2px solid #dee2e6;display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#495057}.kanban-column-todo .kanban-column-header{border-bottom-color:#6c757d}.kanban-column-in-progress .kanban-column-header{border-bottom-color:#0d6efd}.kanban-column-done .kanban-column-header{border-bottom-color:#198754}.kanban-column-title{flex:1}.kanban-column-count{background-color:var(--bg-primary);padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;color:#495057}.kanban-column-content{padding:12px;min-height:100px;max-height:calc(100vh - 200px);overflow-y:auto;display:flex;flex-direction:column;gap:8px}.kanban-column-content .node-content{overflow:visible;max-width:100%}.kanban-column-content .outliner-node{overflow:visible}.kanban-column-content .node-content{display:flex;flex-direction:row;align-items:flex-start}.kanban-column-content .collapse-button{order:10;margin-left:auto;opacity:1!important}.kanban-column-content .collapse-button-placeholder{order:10}.kanban-column-content .bullet{order:1}.kanban-column-content .task-checkbox{order:2}.kanban-column-content .flashcard-icon{order:3}.kanban-column-content .node-text-container{order:4;flex:1}.kanban-column-drag-over{background-color:#2196f31a;outline:2px dashed #2196f3;outline-offset:-2px}.vault-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000}.vault-selector{background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.vault-selector-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-default)}.vault-selector-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-secondary)}.vault-selector-header .close-button{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center}.vault-selector-header .close-button:hover{background-color:var(--bg-hover)}.vault-selector-header-actions{display:flex;align-items:center;gap:8px}.user-email{font-size:13px;color:var(--text-tertiary);margin-right:4px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-button,.sync-button,.logout-button{background:none;border:1px solid #ddd;cursor:pointer;padding:6px 12px;border-radius:4px;font-size:13px;display:flex;align-items:center;gap:4px;transition:all .2s}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.login-button:hover{opacity:.9}.sync-button:hover,.logout-button:hover{background-color:var(--bg-hover);border-color:var(--border-strong)}.vault-warning{display:flex;align-items:flex-start;gap:10px;margin:12px 16px;padding:12px 14px;background:var(--status-warning-bg);border:1px solid #ffc107;border-radius:8px;font-size:13px;line-height:1.5;color:#856404}.vault-warning svg{flex-shrink:0;margin-top:2px;color:#ffc107}.vault-list{flex:1;overflow-y:auto;padding:8px}.vault-empty{padding:40px 20px;text-align:center;color:var(--text-disabled)}.vault-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:6px;margin-bottom:4px;transition:background-color .15s ease}.vault-item:hover{background-color:var(--bg-tertiary)}.vault-item.current{background-color:#e3f2fd}.vault-item.current:hover{background-color:#bbdefb}.vault-item.invalid{background-color:#ffebee;border-left:3px solid #f44336}.vault-item.invalid:hover{background-color:#ffcdd2}.vault-info{flex:1;min-width:0}.vault-name{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:4px;display:flex;align-items:center;gap:8px}.vault-badge{display:inline-block;padding:2px 8px;background-color:#1976d2;color:#fff;font-size:11px;font-weight:600;border-radius:10px;text-transform:uppercase}.vault-badge.error{background-color:var(--accent-red)}.vault-badge.checking{background-color:#ff9800}.vault-badge.success{background-color:#4caf50}.vault-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-disabled)}.vault-adapter{text-transform:uppercase;font-weight:500}.vault-separator{color:#ddd}.vault-name-input{width:100%;padding:6px 8px;border:1px solid #1976d2;border-radius:4px;font-size:14px;outline:none}.vault-actions{display:flex;gap:4px;margin-left:12px}.vault-action-button{background:none;border:none;cursor:pointer;padding:6px;border-radius:4px;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.vault-action-button:hover{background-color:var(--bg-active);color:var(--text-secondary)}.vault-action-button:disabled{opacity:.4;cursor:not-allowed}.vault-action-button:disabled:hover{background-color:transparent;color:inherit}.vault-action-button.delete:hover{background-color:#ffebee;color:#d32f2f}.vault-selector-footer{padding:12px;border-top:1px solid #e0e0e0;display:flex;gap:8px}.vault-open-button{flex:1;padding:10px 16px;background-color:#1976d2;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s ease}.vault-open-button:hover{background-color:#1565c0}.vault-clear-button{padding:10px 12px;background-color:var(--bg-tertiary);color:var(--text-tertiary);border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.vault-clear-button:hover{background-color:#ffebee;color:#d32f2f}.vault-storage{font-weight:500;color:var(--text-tertiary);font-family:monospace;font-size:11px}.login-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.login-dialog{background:var(--bg-primary);border-radius:12px;width:90%;max-width:400px;box-shadow:0 4px 20px #0000004d;animation:slideUp .2s ease}.login-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-default)}.login-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-secondary)}.login-dialog-content{padding:28px 24px}.login-description{margin-bottom:24px;color:var(--text-tertiary);font-size:14px;line-height:1.6}.login-input{width:100%;padding:13px 14px;border:1.5px solid #ddd;border-radius:8px;font-size:15px;margin-bottom:20px;background-color:var(--bg-primary);color:var(--text-secondary);transition:all .2s ease}.login-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-input::placeholder{color:var(--text-disabled)}.login-error{color:#d32f2f;font-size:13px;margin-bottom:16px;padding:10px 14px;background:#ffebee;border-radius:8px;line-height:1.5}.login-submit-button{width:100%;padding:13px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:4px}.login-submit-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.login-submit-button:disabled{opacity:.6;cursor:not-allowed}.login-actions{display:flex;gap:12px}.login-back-button{width:100%;padding:13px 16px;background:var(--bg-primary);color:var(--text-tertiary);border:1.5px solid #ddd;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:12px}.login-back-button:hover{background:var(--bg-tertiary);border-color:#bbb;transform:translateY(-1px)}.login-actions .login-submit-button{flex:2}.login-success{text-align:center}.login-success-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.login-success h4{margin:0 0 12px;font-size:18px;color:var(--text-secondary)}.login-success .login-description{text-align:center;margin-bottom:24px}.login-success .login-back-button{width:100%;margin-top:12px}.sync-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.sync-dialog{background:var(--bg-primary);border-radius:12px;width:90%;max-width:600px;max-height:80vh;box-shadow:0 4px 20px #0000004d;animation:slideUp .2s ease;display:flex;flex-direction:column}.sync-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-default)}.sync-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-secondary)}.sync-dialog-header-actions{display:flex;align-items:center;gap:12px}.master-key-auto-lock{display:flex;align-items:center;padding:6px 12px;background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px}.master-key-auto-lock .auto-lock-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary);margin:0}.master-key-auto-lock .auto-lock-select{padding:3px 6px;font-size:12px;border:1px solid #ddd;border-radius:4px;background:var(--bg-primary);cursor:pointer;outline:none}.master-key-auto-lock .auto-lock-select:focus{border-color:#4a90e2}.export-master-key-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--bg-tertiary);color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.export-master-key-button:hover{background-color:var(--bg-active);color:var(--text-secondary);border-color:var(--border-strong)}.reset-master-key-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--status-error-bg);color:#d32f2f;border:1px solid #ffcdd2;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.reset-master-key-button:hover{background-color:#ffebee;border-color:#ef9a9a}.reset-master-key-button:disabled{opacity:.5;cursor:not-allowed}.sync-dialog-content{flex:1;overflow-y:auto;padding:20px}.sync-current-vault{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-default)}.sync-current-vault h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.sync-vault-info{display:flex;justify-content:space-between;align-items:center;gap:12px}.sync-vault-name{font-size:16px;font-weight:500;color:var(--text-secondary)}.sync-upload-button{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s;white-space:nowrap}.sync-upload-button:hover:not(:disabled){opacity:.9}.sync-upload-button:disabled{opacity:.6;cursor:not-allowed}.sync-remote-vaults h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.sync-status{color:#1976d2;font-size:13px;margin-bottom:12px;padding:8px 12px;background:#e3f2fd;border-radius:6px;font-weight:500}.sync-error{color:#d32f2f;font-size:13px;margin-bottom:12px;padding:8px 12px;background:#ffebee;border-radius:6px}.sync-loading,.sync-empty{padding:40px 20px;text-align:center;color:var(--text-disabled)}.sync-vault-list{display:flex;flex-direction:column;gap:8px}.sync-vault-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-tertiary);border-radius:8px;transition:background .2s}.sync-vault-item:hover{background:#eee}.sync-vault-item-info{flex:1;min-width:0}.sync-vault-item-name{font-size:15px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.sync-vault-item-meta{font-size:12px;color:var(--text-disabled)}.sync-vault-item-actions{display:flex;gap:4px;margin-left:12px}.sync-action-button{background:var(--bg-primary);border:1px solid #ddd;cursor:pointer;padding:6px 10px;border-radius:4px;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;min-width:32px;height:32px}.sync-action-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-strong)}.sync-action-button:disabled{opacity:.5;cursor:not-allowed}.sync-action-button.delete:hover{background:#ffebee;border-color:#d32f2f;color:#d32f2f}.password-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease}.password-dialog{background:var(--bg-primary);border-radius:12px;width:90%;max-width:450px;box-shadow:0 4px 20px #0000004d;animation:slideUp .2s ease}.password-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-default)}.password-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-secondary)}.password-dialog-content{padding:20px}.password-description{margin:0 0 16px;color:var(--text-tertiary);font-size:14px;line-height:1.5}.password-warning{display:flex;gap:10px;padding:12px;background:var(--status-warning-bg);border-radius:6px;margin-bottom:20px;color:#e65100;font-size:13px;line-height:1.4}.password-warning strong{display:block;margin-bottom:4px}.password-field{margin-bottom:16px}.password-field label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.password-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.password-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.password-error{color:#d32f2f;font-size:13px;margin-bottom:16px;padding:8px 12px;background:#ffebee;border-radius:6px}.password-actions{display:flex;gap:12px}.password-cancel-button{flex:1;padding:10px;background:var(--bg-primary);color:var(--text-tertiary);border:1px solid #ddd;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.password-cancel-button:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.password-submit-button{flex:2;padding:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.password-submit-button:hover:not(:disabled){opacity:.9}.password-submit-button:disabled{opacity:.6;cursor:not-allowed}.unlock-lock-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:10002;animation:fadeIn .3s ease}.unlock-lock-screen-content{background:var(--bg-primary);border-radius:16px;width:90%;max-width:400px;padding:40px 30px;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease}.unlock-lock-screen-content .password-dialog-header{padding:0 0 20px;border-bottom:none;justify-content:center}.unlock-lock-screen-content .password-dialog-header h3{font-size:24px;font-weight:600;color:var(--text-secondary);text-align:center}.unlock-lock-screen-content .password-dialog-content{padding:0}.unlock-lock-screen-content .password-description{text-align:center;font-size:15px;color:var(--text-tertiary);margin-bottom:24px}.unlock-lock-screen-content .password-field{margin-bottom:20px}.unlock-lock-screen-content .password-actions{justify-content:center}.unlock-lock-screen-content .password-submit-button{flex:none;width:100%;padding:12px;font-size:15px}.sync-dialog-two-column{background:var(--bg-primary);border-radius:12px;width:90%;max-width:900px;max-height:85vh;box-shadow:0 4px 20px #0000004d;animation:slideUp .2s ease;display:flex;flex-direction:column}.sync-two-column-content{display:flex;flex:1;overflow:hidden;border-top:1px solid #e0e0e0}.sync-column{flex:1;display:flex;flex-direction:column;overflow:hidden}.sync-column-left{border-right:1px solid #e0e0e0}.sync-column-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-default);background:var(--bg-tertiary)}.sync-column-header h4{margin:0;font-size:13px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.sync-add-button{padding:4px 10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;gap:4px}.sync-add-button:hover{opacity:.9}.sync-vault-list,.sync-device-list{flex:1;overflow-y:auto;padding:4px}.sync-vault-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin:2px 0;border-radius:6px;cursor:pointer;transition:all .2s}.sync-vault-item:hover{background:var(--bg-tertiary)}.sync-vault-item.selected{background:#e3f2fd;border-left:3px solid #667eea}.sync-vault-item.creating{background:var(--bg-tertiary);cursor:default}.sync-vault-item.invalid{background:#ffebee;border-left:3px solid #f44336}.sync-vault-item.invalid:hover{background:#ffcdd2}.sync-vault-item-content{flex:1;min-width:0}.sync-vault-item-name{font-size:14px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:8px}.sync-vault-item-meta{font-size:11px;color:var(--text-disabled);margin-top:2px}.sync-vault-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.sync-vault-item:hover .sync-vault-item-actions{opacity:1}.sync-action-button-small{background:var(--bg-primary);border:1px solid #ddd;cursor:pointer;padding:4px 6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.sync-action-button-small:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.sync-action-button-small.delete:hover{background:#ffebee;border-color:#d32f2f;color:#d32f2f}.sync-vault-name-input{width:100%;padding:6px 8px;border:1px solid #667eea;border-radius:4px;font-size:14px;outline:none}.sync-device-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin:2px 0;background:var(--bg-tertiary);border-radius:6px;transition:all .2s}.sync-device-item:hover{background:var(--bg-hover)}.sync-device-info{flex:1;min-width:0}.sync-device-name{font-size:14px;font-weight:500;color:var(--text-secondary)}.sync-device-meta{font-size:11px;color:var(--text-disabled);margin-top:2px}.sync-device-actions{display:flex;gap:4px}.current-device-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#e3f2fd;color:#1976d2;font-size:11px;font-weight:500;border-radius:10px}.sync-device-auto-sync{margin-top:8px}.auto-sync-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.auto-sync-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;-webkit-appearance:checkbox;-moz-appearance:checkbox;appearance:checkbox}.auto-sync-label{font-size:13px;color:var(--text-tertiary)}.master-key-intro{font-size:14px;color:var(--text-tertiary);margin-bottom:24px;line-height:1.5}.master-key-choices{display:flex;gap:16px;margin-bottom:24px}.master-key-choice-button{flex:1;display:flex;flex-direction:column;align-items:center;padding:24px 16px;background:var(--bg-tertiary);border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s;text-align:center}.master-key-choice-button:hover{background:var(--bg-hover);border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.master-key-choice-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;margin-bottom:16px;color:#fff}.master-key-choice-button h4{font-size:16px;font-weight:600;color:var(--text-secondary);margin:0 0 8px}.master-key-choice-button p{font-size:13px;color:var(--text-tertiary);margin:0;line-height:1.4}.file-input-container{display:flex;align-items:center;gap:12px;margin-bottom:12px}.file-input{display:none}.file-input-label{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#667eea;color:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.file-input-label:hover{background:#5568d3}.file-input-status{display:inline-flex;align-items:center;gap:6px;color:#4caf50;font-size:13px;font-weight:500}.key-data-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-family:Monaco,Menlo,Courier New,monospace;font-size:12px;resize:vertical;margin-top:8px}.key-data-input:focus{outline:none;border-color:#667eea}.mobile-node-action-bar{position:fixed!important;top:0!important;left:0!important;right:0!important;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;padding:4px 8px;padding-top:calc(4px + env(safe-area-inset-top));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));z-index:999!important;gap:2px}.mobile-node-action-btn{padding:6px;border:none;background-color:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .1s ease;min-width:32px;min-height:32px;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:var(--text-secondary)}.mobile-node-action-btn:active{background-color:var(--bg-hover)}.mobile-node-action-btn-cancel{color:var(--text-tertiary)}.mobile-node-action-btn-cancel:active{background-color:var(--bg-hover)}.mobile-node-action-btn-danger{color:#d32f2f}.mobile-node-action-btn-danger:active{background-color:var(--bg-hover);opacity:.8}.mobile-editing-action-bar-fixed{position:fixed;background-color:var(--bg-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-default);border-radius:8px;padding:4px;z-index:9999;box-shadow:0 2px 8px #0000004d;pointer-events:auto;max-width:80vw;width:max-content}.mobile-editing-action-bar-scroller{display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.mobile-editing-action-bar-scroller::-webkit-scrollbar{display:none}.mobile-editing-action-btn{padding:6px;border:none;background-color:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .1s ease;min-width:32px;min-height:32px;flex-shrink:0;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:var(--text-secondary)}.mobile-editing-action-btn:active{background-color:var(--bg-hover)}.mobile-editing-action-btn:disabled{opacity:.4;pointer-events:none}.mobile-editing-action-btn-danger{color:#d32f2f}.mobile-editing-action-btn-danger:active{background-color:#ffebee}.mobile-quick-actions-container{position:fixed;right:16px;display:flex;align-items:center;gap:8px;z-index:1000}.mobile-quick-actions-fab{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #0000004d;display:flex;align-items:center;justify-content:center;color:#fff;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0}.mobile-quick-actions-fab:active{transform:scale(.95)}.mobile-quick-actions-fab.active{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 16px #0006}.mobile-quick-actions-menu{display:flex;align-items:center;gap:8px;animation:slideLeft .2s ease-out}@keyframes slideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.mobile-quick-action-item{width:44px;height:44px;border-radius:50%;background:var(--bg-primary);box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border:none;cursor:pointer;transition:background-color .15s,transform .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;flex-shrink:0}.mobile-quick-action-item:active{background-color:var(--bg-hover);transform:scale(.95)}@media (min-width: 769px){.mobile-quick-actions-container{display:none}}.deck-stats{background-color:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px;padding:16px;margin:16px 0}.deck-stats.loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-tertiary)}.deck-stats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.deck-stats-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin:0}.deck-stats-review-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:#4caf50;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s}.deck-stats-review-button:hover{background-color:#45a049}.deck-stats-review-button:active{background-color:#3d8b40}.deck-stats-empty{text-align:center;padding:24px;color:var(--text-disabled)}.deck-stats-empty p{margin:0;font-size:14px}.deck-stats-summary{display:flex;justify-content:center;margin-bottom:16px}.deck-stat-card{display:flex;flex-direction:column;align-items:center;padding:20px;border-radius:8px;background-color:var(--bg-tertiary);min-width:120px}.deck-stat-card.primary{background-color:#e3f2fd;border:2px solid #2196f3}.deck-stat-card .deck-stat-value{font-size:32px;font-weight:700;color:#2196f3;line-height:1;margin-bottom:8px}.deck-stat-card .deck-stat-label{font-size:13px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.deck-stats-details{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:var(--bg-tertiary);border-radius:6px}.deck-stat-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.deck-stat-row .deck-stat-label{font-size:14px;color:var(--text-tertiary)}.deck-stat-row .deck-stat-value{font-size:14px;font-weight:600;color:var(--text-secondary)}.mirror-node-container{margin-top:1rem;margin-bottom:1rem;padding:1rem;border-left:3px solid #9c27b0;background:#9c27b00d;border-radius:4px}.mirror-node-header{display:flex;align-items:center;gap:.5rem;color:#9c27b0;font-weight:600;margin-bottom:.5rem;font-size:14px}.mirror-navigate-button{margin-left:auto;background:none;border:none;color:#9c27b0;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.mirror-navigate-button:hover{background-color:#9c27b01a}.mirror-node-children{margin-top:.5rem}.node-content [data-link-ref]{color:#2196f3;text-decoration:underline;cursor:pointer}.node-content [data-link-mirror]{color:#9c27b0;font-weight:600}.backlinks-container{margin-top:2rem;padding:1rem;border-top:2px solid var(--border-color);background-color:var(--bg-secondary);border-radius:4px;font-family:inherit}.backlinks-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 1rem}.backlinks-section-title{font-size:14px;font-weight:600;color:var(--text-secondary);margin:1rem 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.backlinks-section{margin-bottom:1.5rem}.backlinks-section:last-child{margin-bottom:0}.backlinks-section-title{font-size:14px;font-weight:600;color:var(--text-tertiary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.backlinks-group{margin-bottom:1rem}.backlinks-group:last-child{margin-bottom:0}.backlinks-group-header{font-size:13px;font-weight:600;color:#2196f3;margin-bottom:.5rem}.backlinks-list{list-style:none;padding:0;margin:0}.backlinks-item{margin-bottom:.25rem}.backlinks-node-link{background:none;border:none;color:#2196f3;text-decoration:none;cursor:pointer;padding:.25rem .5rem;font-size:14px;text-align:left;display:block;width:100%;border-radius:4px;transition:background-color .2s}.backlinks-node-link:hover{background-color:#2196f31a;text-decoration:underline}.lightweight-markdown-editor{margin:8px 0}.markdown-textarea{width:100%;border:1px solid #ddd;border-radius:4px;padding:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6;resize:vertical;min-height:100px;outline:none;box-sizing:border-box}.markdown-textarea:focus{border-color:var(--accent-blue);outline:2px solid rgba(0,122,204,.1)}.excalidraw-editor{flex:1;width:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.excalidraw-container{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.dark-theme .excalidraw.theme--dark .excalidraw-textEditorContainer>textarea,.dark-theme .excalidraw.theme--dark .excalidraw-textEditorContainer textarea,.dark-theme .excalidraw.theme--dark .excalidraw-wysiwyg,.dark-theme .excalidraw.theme--dark textarea.excalidraw-wysiwyg{color:#fff!important;caret-color:#fff!important;background:#000000b3!important;padding:4px!important}.excalidraw-loading,.excalidraw-error{display:flex;align-items:center;justify-content:center;height:100%;font-size:16px;color:var(--text-tertiary)}.excalidraw-error{flex-direction:column;gap:12px;color:#d32f2f}.excalidraw-saving-indicator{position:absolute;top:16px;right:16px;background:#fffffff2;border:1px solid #ddd;border-radius:6px;padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-tertiary);box-shadow:0 2px 8px #0000001a;z-index:100}.excalidraw-saving-indicator .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.editor-pane:has(.excalidraw-editor),.editor-pane:has(.pdf-editor){padding:0}.editor-pane{padding:8px}}.activity-timeline-container{padding:20px 0}.activity-timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.activity-timeline-title{font-size:18px;font-weight:600;color:var(--text-secondary);margin:0;display:flex;align-items:center}.activity-grouping-toggle{display:flex;gap:4px;background:var(--bg-tertiary);border-radius:6px;padding:2px}.grouping-toggle-button{display:flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text-tertiary);transition:all .2s}.grouping-toggle-button:hover{background:var(--bg-hover);color:var(--text-secondary)}.grouping-toggle-button.active{background:var(--bg-primary);color:var(--accent-blue);box-shadow:0 1px 3px #0000001a}@media (max-width: 768px){.grouping-toggle-button span{display:none}.grouping-toggle-button{padding:6px}}.grouping-toggle-button span{font-weight:500}.activity-timeline-outliner{margin-left:0}.activity-timeline.loading,.activity-timeline.empty{padding:32px;text-align:center;color:var(--text-disabled);font-size:14px}@media (max-width: 768px){.action-button svg,.settings-menu-button svg,.context-menu-item svg,.mobile-node-action-btn svg,button svg[width="16"],svg[width="16"]{width:18px!important;height:18px!important}}.topics-editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.topics-editor-header{padding:16px 20px;font-size:24px;font-weight:600;display:flex;gap:16px;align-items:center}.topics-editor-current{color:var(--text-secondary);font-weight:600}.topics-editor-link{cursor:pointer;color:var(--accent-blue);text-decoration:none;font-weight:500}.topics-editor-link:hover{text-decoration:underline}.topics-editor-content{display:flex;flex:1;overflow:hidden}.topics-editor-left,.topics-editor-right{flex:1;overflow-y:auto;padding:10px;border-right:1px solid #e0e0e0}.topics-editor-right{border-right:none}.topics-editor-loading,.topics-editor-empty{padding:20px;color:var(--text-tertiary);font-style:italic;text-align:center}.topics-editor .outliner-node.selected{background:#e3f2fd}.all-notes-header{display:flex;align-items:center;justify-content:space-between;width:100%}.topics-link{cursor:pointer;color:var(--accent-blue);text-decoration:none}.topics-link:hover{text-decoration:underline}.topics-link-button{padding:4px;background:transparent;border:none;color:var(--text-tertiary);font-size:13px;cursor:pointer;transition:all .2s ease;margin-left:auto}.topics-link-button:hover{color:var(--text-secondary);opacity:.8}.topics-link-button:active{opacity:.6}.header-separator{color:var(--text-disabled);margin:0 4px}@media (max-width: 768px){.topics-editor-left,.topics-editor-right{flex:0 0 50%;padding:12px}}.fullsync-dialog{max-width:600px}@media (max-width: 768px){.fullsync-dialog{width:95%;max-width:95%}}.fullsync-dialog .confirm-dialog-body{min-height:120px;max-height:200px;display:flex;flex-direction:column;justify-content:center}.fullsync-progress-content{padding:8px 0}.fullsync-progress-stage{font-size:14px;color:var(--text-tertiary);font-weight:500;text-align:center;margin-bottom:8px}.fullsync-progress-bar-container{height:8px;background-color:var(--bg-active);border-radius:4px;overflow:hidden;margin-bottom:16px}.fullsync-progress-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#45a049);border-radius:4px;transition:width .3s ease-out}.fullsync-progress-text{display:flex;justify-content:space-between;align-items:center;gap:12px}.fullsync-progress-percentage{font-size:24px;font-weight:700;color:#4caf50;min-width:60px}.fullsync-progress-message{font-size:14px;color:var(--text-tertiary);flex:1;text-align:right}.fullsync-progress-footer{padding-top:16px;border-top:1px solid #e0e0e0}.fullsync-progress-warning{font-size:13px;color:#ff9800;text-align:center;margin:0}@media (max-width: 768px){.fullsync-progress-dialog{min-width:320px;max-width:calc(100vw - 32px);padding:24px}.fullsync-progress-header h3{font-size:18px}.fullsync-progress-percentage{font-size:20px}.fullsync-progress-message{font-size:13px}}.special-editor-header{padding:4px 0;font-size:24px;font-weight:600;display:flex;align-items:center;background:transparent;width:100%}.special-editor-header .all-notes-header{display:flex;align-items:center;width:100%;gap:4px}.special-editor-header .topics-link-button:first-of-type{margin-left:auto}.special-editor-header .topics-link-button:not(:first-of-type){margin-left:0}.tasks-editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.tasks-editor-content{flex:1;overflow-y:auto;padding:20px 10px}.tasks-editor .task-list{margin:0;padding:0}.tasks-editor-summary{padding:12px 16px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:20px;font-size:14px;color:var(--text-tertiary)}.flashcards-editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.flashcards-editor-content{flex:1;overflow-y:auto;padding:20px 10px}.flashcards-editor-loading,.flashcards-editor-empty{padding:20px;color:var(--text-tertiary);font-style:italic;text-align:center}.flashcards-editor-summary{padding:12px 16px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:20px;font-size:14px;color:var(--text-tertiary)}.flashcards-editor-topics{display:flex;flex-direction:column;gap:12px}.flashcards-topic-group{border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.flashcards-topic-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.flashcards-topic-header:hover{background:var(--bg-hover)}.flashcards-topic-icon{flex-shrink:0;color:var(--text-tertiary)}.flashcards-topic-name{flex:1;font-weight:500;color:var(--text-secondary)}.flashcards-topic-count{color:var(--text-disabled);font-size:13px}.flashcards-topic-cards{padding:8px;background:#fff}.flashcard-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:4px;cursor:pointer;transition:background .2s}.flashcard-item:hover{background:var(--bg-tertiary)}.flashcard-item-icon{flex-shrink:0;color:var(--accent-blue)}.flashcard-item-name{flex:1;color:var(--text-secondary);font-size:14px}.flashcard-item-date{color:var(--text-disabled);font-size:12px}.load-timing-info{position:fixed;bottom:8px;right:8px;padding:4px 8px;background:#000000b3;color:#fff;font-size:11px;font-family:monospace;border-radius:4px;z-index:1000;pointer-events:none}.template-selector{background:#fff!important;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;min-width:250px;max-width:400px;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;isolation:isolate;position:relative}.template-selector:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:6px;z-index:-1;-webkit-transform:translateZ(0);transform:translateZ(0)}.template-selector-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-subtle);transition:background-color .15s ease;background:#fff!important}.template-selector-item:hover,.template-selector-item.selected{background:#f0f7ff!important}.template-selector-item:last-child{border-bottom:none}.template-selector-name{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:2px}.template-selector-description{font-size:12px;color:var(--text-muted);line-height:1.4;margin-top:4px}.template-selector-empty{padding:12px;text-align:center;color:var(--text-disabled);font-size:13px}.topic-selector{background:var(--bg-primary)!important;border:1px solid var(--border-default);border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;min-width:250px;max-width:400px;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden}.topic-selector::-webkit-scrollbar{width:8px}.topic-selector::-webkit-scrollbar-track{background:var(--bg-primary)}.topic-selector::-webkit-scrollbar-thumb{background:var(--text-disabled);border-radius:4px}.topic-selector::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.topic-selector:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--bg-primary)!important;border-radius:6px;z-index:-1;-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none;background-color:var(--bg-primary)!important}.topic-selector-title{padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary)!important}.topic-selector-name{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:2px}.topic-selector-description{font-size:12px;color:var(--text-muted);line-height:1.4;margin-top:4px}.topic-selector-loading,.topic-selector-empty{padding:12px;text-align:center;color:var(--text-disabled);font-size:13px}.file-image-preview{margin-top:8px;margin-bottom:4px}.file-image-preview img{max-width:100%;width:auto;height:auto;border-radius:4px;cursor:pointer;display:block}.reload-prompt{background:var(--status-warning-bg);border-bottom:1px solid #ffc107;padding:12px 16px;display:flex;align-items:center;justify-content:center;z-index:1000}.reload-prompt-content{display:flex;align-items:center;gap:12px;font-size:14px;color:#856404}.reload-prompt-content span{font-weight:500}.reload-button,.dismiss-button{padding:6px 12px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.reload-button{background:#ffc107;color:var(--text-secondary)}.reload-button:hover{background:#e0a800}.dismiss-button{background:transparent;color:#856404}.dismiss-button:hover{background:#0000000d}.backup-progress-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.backup-progress-dialog{background:var(--bg-primary);border-radius:12px;width:480px;max-width:90vw;box-shadow:0 10px 40px #0003;overflow:hidden}.backup-progress-header{padding:20px 24px;border-bottom:1px solid var(--border-default);display:flex;align-items:center;gap:12px}.backup-progress-header h2{font-size:18px;font-weight:600;margin:0}.backup-progress-content{padding:24px}.backup-progress-stage{font-size:16px;font-weight:500;margin-bottom:16px;color:var(--text-secondary)}.backup-progress-bar-container{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:12px}.backup-progress-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#45a049);transition:width .3s ease;border-radius:4px}.backup-progress-text{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--text-tertiary);margin-bottom:8px}.backup-progress-message{flex:1}.backup-progress-percentage{font-weight:600;color:var(--text-secondary);margin-left:12px}.backup-progress-details{font-size:13px;color:var(--text-disabled);text-align:right}.backup-progress-actions{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.backup-progress-button{padding:8px 16px;border:1px solid #ddd;border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.backup-progress-button:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.backup-progress-button.primary{background:#4caf50;color:#fff;border-color:#4caf50}.backup-progress-button.primary:hover{background:#45a049;border-color:#45a049}.backup-progress-spinner{display:flex;align-items:center;gap:8px;color:var(--text-disabled);font-size:14px}.backup-progress-spinner .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.selection-box-overlay{position:absolute;border:2px solid #2196f3;background-color:#2196f31a;pointer-events:none;z-index:1000}.node-children-root.selecting{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.bulk-action-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#2196f3;color:#fff;padding:12px 24px;border-radius:24px;box-shadow:0 4px 12px #00000026;font-size:14px;font-weight:500;z-index:1000;pointer-events:auto;display:flex;align-items:center;gap:12px}.bulk-action-bar button{background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:4px 12px;border-radius:12px;cursor:pointer;font-size:13px;transition:background-color .2s}.bulk-action-bar button:hover{background-color:#ffffff4d}.command-palette-item{display:flex;align-items:flex-start;gap:12px;padding:8px 0;width:100%}.command-palette-item>svg{flex-shrink:0;margin-top:2px;color:var(--accent-blue)}.command-details{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.command-name{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.command-category-badge{font-size:12px;opacity:.7}.command-description{font-size:12px;color:var(--text-tertiary);line-height:1.4}.command-matched-keyword{font-size:11px;color:var(--text-muted);font-style:italic}.topic-selector-item:has(.command-palette-item){border-left:3px solid var(--accent-blue)}.topic-selector-item:has(.command-palette-item).selected{background-color:var(--bg-hover);border-left-color:var(--accent-blue-hover)}.topic-selector-item:has(.command-palette-item):hover{background-color:var(--bg-hover)}.search-dialog input[value^=">"]{color:var(--accent-blue);font-weight:500}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}html,body{height:100%;overflow:auto}.journal-date-info{margin-top:4px}
