.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:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.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}.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:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;color:#333}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;background-color:#fff}.settings-header h2{margin:0;font-size:20px;font-weight:600}.settings-tabs{display:flex;border-bottom:1px solid #e0e0e0;background-color:#fff}.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:#666;transition:all .2s}.settings-tab:hover{color:#333;background-color:#f5f5f5}.settings-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;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:#fff}.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:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0}.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:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0}.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 #e0e0e0;display:flex;justify-content:space-between;align-items:center;gap:12px;background-color:#fff}.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:#fff;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:#ef4444}.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:#3b82f6;color:#fff}.error-actions .retry-button:hover:not(:disabled){background-color:#2563eb}.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 #e0e0e0}.secondary-button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;color:#333;font-size:14px;font-weight:500;transition:background-color .2s}.secondary-button:hover:not(:disabled){background-color:#e0e0e0}.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:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0}.account-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:#3b82f61a;border-radius:8px;color:#3b82f6}.account-details{flex:1}.account-label{font-size:13px;color:#666;margin-bottom:4px}.account-email{font-size:16px;font-weight:500;color:#333}.account-actions{display:flex;gap:12px}.master-key-card{display:flex;align-items:center;gap:16px;padding:16px;background-color:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0;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:#22c55e}.master-key-details{flex:1}.master-key-label{font-size:13px;color:#666;margin-bottom:4px}.master-key-status{font-size:16px;font-weight:500;color:#333}.settings-editor-container{display:flex;flex-direction:column;height:100%;background-color:#fff!important;color:#333!important;overflow:hidden}.settings-editor-header{padding:16px 24px;background-color:#fff!important}.settings-editor-header h2{margin:0;font-size:24px;font-weight:600;color:#333!important}.settings-editor-container .settings-tabs{flex-shrink:0;background-color:#fff!important;border-bottom-color:#e0e0e0!important}.settings-editor-container .settings-content{flex:1;overflow-y:auto;background-color:#fff!important}.settings-editor-container .settings-footer{flex-shrink:0;background-color:#fff!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:#333;background-color:#f5f5f5;border:1px solid #ccc;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}@media (prefers-color-scheme: dark){.settings-dialog{background-color:var(--bg-primary, #1a1a1a)}.settings-dialog .settings-header,.settings-dialog .settings-tabs{background-color:#fff;border-bottom-color:#e0e0e0}.settings-dialog .settings-content{background-color:#fff}.settings-dialog .settings-footer{background-color:#fff;border-top-color:#e0e0e0}.stat-card,.stat-group{background-color:#f5f5f5;border-color:#e0e0e0}.error-panel{background-color:#ef44440d;border-color:#ef444433}.shortcut-row kbd{color:#333;background-color:#f5f5f5;border-color:#ccc}}.review-editor{display:flex;flex-direction:column;height:100%;background-color:var(--bg-primary, #ffffff);color:var(--text-primary, #333);overflow:hidden}.review-editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color, #e0e0e0);background-color:var(--bg-primary, #ffffff)}.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, #666);font-weight:500}.review-editor-close{background:none;border:none;cursor:pointer;color:var(--text-secondary, #666);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, #f5f5f5)}.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, #666)}.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, #333)}.review-editor-completed p{margin:0;font-size:16px;color:var(--text-secondary, #666)}.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, #333)}.review-completed-stat .stat-label{font-size:13px;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.review-progress-bar{width:100%;max-width:700px;height:4px;background-color:var(--bg-secondary, #f5f5f5);border-radius:2px;overflow:hidden}.review-progress-fill{height:100%;background-color:#3b82f6;transition:width .3s ease}.review-card-counter{display:none;width:100%;max-width:700px}.review-card{background-color:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-color, #e0e0e0);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-title{flex:1;margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #333);line-height:1.4}.review-question-description{color:var(--text-secondary, #666);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, #666);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:#f0f0f0}.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:#f0f0f0}.answer-outline-bullet:active{color:#000;background-color:#e0e0e0}.answer-outline-text{flex:1;min-width:0}.answer-outline-name{font-weight:500;font-size:16px;color:var(--text-primary, #333);line-height:1.5}.answer-outline-description{color:var(--text-secondary, #666);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:#3b82f6;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:#2563eb}.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:12px;justify-content:center;flex-wrap:wrap}.review-rating-button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 24px;border:2px solid var(--border-color, #e0e0e0);border-radius:8px;background-color:var(--bg-primary, #ffffff);cursor:pointer;transition:all .2s;min-width:100px}.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 .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, #333)}.review-rating-button kbd{padding:2px 6px;background-color:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-color, #e0e0e0);border-radius:3px;font-size:12px;font-family:monospace;color:var(--text-secondary, #666)}.rating-again{border-color:#ef4444}.rating-again .rating-label{color:#ef4444}.rating-again:hover:not(:disabled){background-color:#fef2f2;border-color:#dc2626}.rating-hard{border-color:#f59e0b}.rating-hard .rating-label{color:#f59e0b}.rating-hard:hover:not(:disabled){background-color:#fffbeb;border-color:#d97706}.rating-good{border-color:#10b981}.rating-good .rating-label{color:#10b981}.rating-good:hover:not(:disabled){background-color:#f0fdf4;border-color:#059669}.rating-easy{border-color:#3b82f6}.rating-easy .rating-label{color:#3b82f6}.rating-easy:hover:not(:disabled){background-color:#eff6ff;border-color:#2563eb}.review-stats{display:flex;gap:24px;justify-content:center;padding:16px;background-color:var(--bg-secondary, #f5f5f5);border-radius:8px;margin-top:24px}.review-stat-value{font-size:24px;font-weight:700;color:var(--text-primary, #333)}.review-stat-label{font-size:12px;color:var(--text-secondary, #666);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, #666);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.review-restart-button:hover{background-color:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333);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-color, #e0e0e0)}.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, #333)}.review-progress-bar{height:3px;margin:0 0 8px}.review-card-counter{display:block;font-size:14px;font-weight:500;color:var(--text-secondary, #666);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:10000;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);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);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)}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;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}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:#000;-webkit-text-fill-color:#000000;-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,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;background-color:#fff;overflow-x:hidden;width:100%;max-width:100vw}.app{display:flex;flex-direction:column;height:100vh;background-color:#fff;overflow:hidden;width:100%;max-width:100vw;position:relative;touch-action:pan-y}.sync-error-banner{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background-color:#fee;border-bottom:1px solid #fcc;color:#c33;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:#c33;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:#d32f2f}.app-error p{margin-top:10px;color:#666}.directory-selector{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);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:#fff;border-radius:16px;padding:40px;max-width:500px;margin:0 auto;box-shadow:0 10px 40px #0003;color:#333}.selector-card .icon{font-size:4rem;margin-bottom:20px}.selector-card h2{font-size:1.5rem;margin-bottom:15px;color:#333}.selector-card p{color:#666;line-height:1.6;margin-bottom:20px}.select-button{background:linear-gradient(135deg,#667eea,#764ba2);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:#ffebee;color:#c62828;padding:12px;border-radius:6px;margin:15px 0;border-left:4px solid #c62828}.info{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.info p{font-size:.9rem;color:#999}body{overflow:auto;-webkit-overflow-scrolling:auto}.action-bar{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background-color:#f3f3f3;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 #e5e5e5;gap:8px;transition:transform .2s ease-out;pointer-events:none}.action-bar .action-button{pointer-events:auto}@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{display:flex;gap:4px;align-items:center;min-height:32px;flex:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.action-bar-center::-webkit-scrollbar{display:none}.app-name{font-size:18px;font-weight:600;color:#424242;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:#424242;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:#e0e0e0}}.action-button:active{background-color:#d0d0d0}.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:#e3f2fd;color:#1976d2}.action-button.active-filter:hover{background-color:#bbdefb}.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:#f44336;width:8px;height:8px;border-radius:50%;border:1.5px solid white;box-shadow:0 1px 2px #0003}@keyframes spin-icon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-separator{width:1px;height:20px;background-color:#d0d0d0;margin:0 6px}.current-node-id{font-size:11px;color:#616161;padding:4px 8px;background-color:transparent;border-radius:3px;font-family:Consolas,Monaco,monospace}.editor-container{flex:1;padding:44px 0 0;background-color:#fff;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.with-error-banner{padding-top:81px}.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:#fff;gap:0}.editor-pane{background-color:#fff;overflow:visible;flex:1;max-width:100%;position:relative;-webkit-overflow-scrolling:touch;padding:8px 16px}.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}.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}.editor-container.split-view .primary-pane{border-left:1px solid #e5e5e5}.editor-container.split-view .secondary-pane{border-right:1px solid #e5e5e5}.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:#e5e5e5;transition:background-color .15s;pointer-events:none}.resizer:hover:after{background-color:#007acc}.editor-panel{flex:1;width:100%;background-color:#fff;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:12px;overflow:visible}.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:#424242}.editor-panel .editor-navigation .nav-button:hover:not(:disabled){background-color:#e0e0e0}.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:#999;font-size:16px}.markdown-editor{width:100%;display:flex;flex-direction:column;background-color:#fff;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:#1e1e1e;margin:0;padding:4px 0;flex:1;cursor:default}.markdown-title-input{font-size:20px;font-weight:400;color:#1e1e1e;border:1px solid #007acc;border-radius:4px;padding:4px 8px;flex:1;outline:none;background-color:#fff}.saving-indicator{font-size:12px;color:#999;margin-right:8px}.markdown-textarea{flex:1;width:100%;border:1px solid #e5e5e5;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:#fff;color:#333}.markdown-textarea:focus{border-color:#007acc}.markdown-editor .editor-loading,.markdown-editor .editor-empty{display:flex;justify-content:center;align-items:center;height:100%;color:#999;font-size:16px}.file-editor{width:100%;flex:1;display:flex;flex-direction:column;background-color:#fff;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 #e5e5e5}.file-title{font-size:20px;font-weight:400;color:#1e1e1e;margin:0;padding:4px 0;flex:1;cursor:default}.file-title-input{font-size:20px;font-weight:400;color:#1e1e1e;border:1px solid #007acc;border-radius:4px;padding:4px 8px;flex:1;outline:none;background-color:#fff}.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:#666}.file-info p{margin:0;font-size:14px}.open-system-button{padding:10px 20px;background-color:#007acc;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:#005a9e}.file-location{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:#333;max-width:600px;word-break:break-all}.file-path{color:#007acc}.file-instruction{font-size:13px;color:#888;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:#f5f5f5;color:#333;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:#e0e0e0;border-color:#ccc}.copy-path-button:disabled{opacity:.5;cursor:not-allowed}.show-folder-button{padding:8px 16px;background-color:#007acc;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:#005a9e;border-color:#005a9e}.show-folder-button:disabled{opacity:.5;cursor:not-allowed}.download-file-button{padding:8px 16px;background-color:#f5f5f5;color:#333;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:#e0e0e0;border-color:#ccc}.file-editor .editor-empty{display:flex;justify-content:center;align-items:center;height:100%;color:#999;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:#f5f5f5}.image-info{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.image-filename{font-size:16px;font-weight:500;color:#333;margin:0}.image-metadata{font-size:13px;color:#666;margin:0}.pdf-editor{width:100%;flex:1;display:flex;flex-direction:column;background-color:#fff;overflow:hidden}.pdf-editor.active{background-color:#fff}.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:#fff;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:#333}.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:#007acc}.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:#f0f0f0;color:#333}.modal-button-cancel:hover{background-color:#e0e0e0}.modal-button-primary{background-color:#007acc;color:#fff}.modal-button-primary:hover{background-color:#005a9e}.pdf-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px;background-color:#f8f8f8;border-bottom:1px solid #e0e0e0;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:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .15s ease;color:#333}.pdf-toolbar-button:hover:not(:disabled){background-color:#f0f0f0;border-color:#007acc}.pdf-toolbar-button:disabled{opacity:.4;cursor:not-allowed}.pdf-toolbar-button.active{background-color:#007acc;border-color:#007acc;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:#333;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:#fff;border-bottom:1px solid #e0e0e0;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:#007acc}.pdf-search-button{display:flex;align-items:center;justify-content:center;padding:4px;background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .15s ease;color:#333}.pdf-search-button:hover{background-color:#f0f0f0;border-color:#007acc}.pdf-search-results{font-size:12px;color:#666;white-space:nowrap}.pdf-content{flex:1;display:flex;overflow:hidden}.pdf-sidebar{width:200px;background-color:#f5f5f5;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 #e0e0e0;background-color:#f8f8f8}.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:#fff;transition:all .15s ease}.pdf-thumbnail:hover{border-color:#007acc;background-color:#f0f8ff}.pdf-thumbnail.active{border-color:#007acc;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:#666;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:#fff}.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%;opacity:0;z-index:2;pointer-events:none}.pdf-text-layer.highlight-mode{opacity:.1;cursor:text;pointer-events:auto;-webkit-user-select:text;user-select:text;background-color:#c8c8ff0d}.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:#999;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:#666;transition:color .2s ease;flex-shrink:0}.pdf-outline-expand-button:hover{color:#007acc}.pdf-outline-title{background:none;border:none;padding:6px 8px;cursor:pointer;text-align:left;font-size:13px;color:#333;flex:1;border-radius:4px;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-outline-title:hover{background-color:#f0f0f0;color:#007acc}.pdf-loading,.pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;color:#666}.pdf-error{color:#d32f2f}.pdf-loading .spinning{animation:spin 1s linear infinite}.outliner-editor{width:100%;max-width:100%;min-height:500px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#fff;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:#424242}.editor-navigation .nav-button:hover:not(:disabled){background-color:#e0e0e0}.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:#999;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:#fff}.node-title-readonly{font-size:24px;font-weight:600;color:#333;margin:0;flex:1;display:flex;align-items:center}.journal-date-info{color:#888;font-weight:400;font-size:.9em;margin-left:8px}.journal-date-info-inline{color:#888;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-input{position:relative;width:28px;height:28px;padding:6px;border:none;background:transparent;border-radius:4px;cursor:pointer;transition:all .15s ease;-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-input{background-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='%23666666' 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");background-size:16px 16px;background-repeat:no-repeat;background-position:center}@media (hover: hover) and (pointer: fine){.journal-date-picker-input:hover{background-color:#e0e0e0;background-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='%23333333' 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")}}.journal-date-picker-input:active{background-color:#d0d0d0}.node-title-editable{font-size:24px;font-weight:600;color:#333;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:#999;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:#424242;cursor:pointer;transition:all .15s ease;line-height:1;opacity:1}.settings-menu-button:hover{background-color:#e0e0e0}.expand-collapse-button{background-color:transparent;border:none;border-radius:4px;padding:2px 6px;color:#424242;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:#e0e0e0;opacity:1}.view-mode-toggle-button{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;padding:4px 10px;color:#333;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:#f5f5f5;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:#ffffffe6;padding:8px 12px;border-radius:6px;box-shadow:0 2px 4px #0000001a}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#666}.legend-color{width:12px;height:12px;border-radius:50%;border:1px solid #ddd}.topic-graph-controls{position:absolute;top:10px;right:10px;z-index:10;display:flex;gap:8px}.topic-graph-control-button{background-color:#f5f5f5;border:1px solid #e0e0e0;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:#e8e8e8;border-color:#d0d0d0;box-shadow:0 2px 8px #00000026}.topic-graph-control-button:active{transform:scale(.95)}.topic-graph-control-button.active{background-color:#007acc;border-color:#06a;color:#fff}@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:#666;font-size:14px}.settings-dropdown{position:absolute;top:100%;right:0;background-color:#fff;border:1px solid #e5e5e5;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:#424242;transition:background-color .15s ease;display:flex;align-items:center;gap:8px}.settings-menu-item:hover{background-color:#f0f0f0}.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:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;font-size:13px;color:#424242;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:#fff3e0;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}.add-child-button{background:none;border:none;color:#999;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease}.add-child-button:hover{background-color:#f0f0f0;color:#333}.breadcrumb{font-size:13px;color:#666;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:#999;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:#e8e8e8;color:#333}.editor-panel:not(.active) .breadcrumb-action-button{color:#ccc}.editor-panel:not(.active) .breadcrumb-action-button:hover{background-color:#f0f0f0;color:#999}.breadcrumb-link{background:none;border:none;color:#666;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:#333;text-decoration:underline}.breadcrumb-text{color:#666;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{color:#bbb}.editor-panel:not(.active) .breadcrumb-link{color:#bbb}.editor-panel:not(.active) .breadcrumb-link:hover{color:#999}.breadcrumb-ellipsis{background:none;border:none;color:#999;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:#333;background-color:#f0f0f0;border-radius:3px}.editor-panel:not(.active) .breadcrumb-ellipsis{color:#ccc}.editor-panel:not(.active) .breadcrumb-ellipsis:hover{color:#999;background-color:#f5f5f5}.breadcrumb-separator{color:#ccc;margin:0 6px}.editor-panel:not(.active) .breadcrumb-separator{color:#ddd}.breadcrumb-path-selector{position:relative}.breadcrumb-path-toggle{background:none;border:none;padding:0 4px;cursor:pointer;font-size:12px;color:#999;transition:color .15s ease}.breadcrumb-path-toggle:hover{color:#666}.breadcrumb-path-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;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:#333;transition:background-color .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb-path-option:hover{background-color:#f5f5f5}.outliner-node{position:relative;max-width:100%;overflow-x:hidden;overflow-y:visible}.node-content-container{padding-left:0}.node-content{display:flex;align-items:flex-start;gap:2px;margin-top:6px;line-height:1.5;-webkit-box-align:start;max-width:100%;overflow:hidden;overflow-wrap:break-word}.node-content.selected{background-color:#e8f4fd}@media (max-width: 768px){.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:#888;width:16px;min-width:16px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:all .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}}.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:#333;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:#e8f4fd;color:#06c;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:#333;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:#bbb;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-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:#fff;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.editing{background-color:#fff;border:1px solid #4caf50;border-radius:3px;padding:2px 4px;outline:none}.link-open-popup{display:flex;gap:8px;background-color:#fff;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:#bbb;font-style:italic;pointer-events:none}.node-text-readonly{flex:1;font-size:16px;line-height:1.5;padding:0;color:#555;font-weight:500;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:#fff;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:#333}.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:#f0f0f0}.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:#999;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:#333}.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:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.calendar-button:hover{background-color:#f0f0f0;border-color:#ccc}@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:28px;color:#999}.collapse-button:hover{background-color:transparent}.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:#888;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:#666}.node-description-input:empty:before{content:attr(data-placeholder);color:#bbb;font-style:italic;pointer-events:none}.node-description-input::placeholder{color:#bbb;font-style:italic}.node-description-container{width:100%}.node-description-display{width:100%;padding:4px 0;font-size:14px;color:#888;cursor:pointer;white-space:pre-wrap;line-height:1.4;transition:color .15s ease}.node-description-display:hover{color:#666}.description-placeholder{color:#bbb;font-style:italic}.node-description-expand,.node-description-collapse{display:inline-block;margin-top:4px;padding:2px 8px;font-size:12px;color:#666;background:none;border:none;cursor:pointer;text-decoration:underline;transition:color .15s ease}.node-description-expand:hover,.node-description-collapse:hover{color:#333}.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:#e0e0e0;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:#999;font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,Consolas,monospace;line-height:24px}.task-due-date{display:flex;align-items:center;gap:4px;font-size:11px;color:#666;margin-top:2px;margin-bottom:4px;font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,Consolas,monospace}.task-due-date .icon{color:#999}.task-due-date 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;margin-left:4px;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:#f0f0f0;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:#f44336;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:#666;background:#f0f0f0;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:#999;background:transparent;border:none;cursor:pointer;opacity:.6;transition:opacity .15s ease}.hide-completed-button:hover{opacity:1}.node-description{font-size:12px;color:#888;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:#666}.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:#f9f9f9;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:#f5f5f5;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:#f5f5f5}.settings-menu-item.submenu-item{position:relative;justify-content:space-between}.settings-submenu{position:absolute;left:100%;top:0;background-color:#fff;border:1px solid #e5e5e5;border-radius:4px;box-shadow:0 2px 8px #00000026;min-width:150px;margin-left:4px}.settings-menu-item.active{background-color:#f0f0f0;justify-content:space-between}.settings-menu-item.submenu-child-item{padding-left:28px;font-size:12px;color:#666}.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:#666;cursor:pointer;transition:all .15s ease}.broader-topic-link:hover{color:#007acc}.topic-remove-button{background-color:transparent;border:none;padding:0 2px;font-size:10px;color:#999;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:#888;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:#007acc;color:#007acc;background-color:#f0f8ff}.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:#666;cursor:pointer;transition:all .15s ease}.related-topic-link:hover{color:#007acc}.task-checkbox{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:color .15s ease;flex-shrink:0;height:24px;margin-right:4px}.task-checkbox:hover{color:#333}.flashcard-icon{background:none;border:none;padding:0;cursor:default;display:flex;align-items:center;justify-content:center;color:#666;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:#999;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease}.flashcard-action-button:hover{background-color:#f0f0f0;color:#333}.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:#666}.task-meta-select,.task-meta-date{font-size:13px;padding:4px 6px;border:1px solid #ddd;border-radius:4px;background-color:#fafafa;color:#333;cursor:pointer;transition:all .15s ease}.task-meta-select:hover,.task-meta-date:hover{border-color:#999;background-color:#fff}.task-meta-select:focus,.task-meta-date:focus{outline:none;border-color:#4a90e2;background-color:#fff;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:#999;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:#f0f0f0;color:#666}.task-meta-clear-button:active{background-color:#e0e0e0}@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:#fff;border-radius:8px;box-shadow:0 4px 24px #00000026;min-width:400px;max-width:500px;animation:slideUp .2s ease;outline:none}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.sync-spinner{animation:spin 1s linear infinite}.confirm-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #e0e0e0}.confirm-dialog-header h3,.confirm-dialog-title{margin:0;font-size:18px;font-weight:600;color:#333}.confirm-dialog-body{padding:20px 24px}.confirm-dialog-message{margin:0;font-size:14px;line-height:1.6;color:#666;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}.confirm-dialog-button.cancel{background:#f5f5f5;color:#666}.confirm-dialog-button.cancel:hover{background:#e8e8e8}.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}.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:#f57c00}.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:#fff;color:#333;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:#999}.confirm-dialog-content{padding:20px 24px 24px}.confirm-dialog-content p{margin:0 0 4px;font-size:14px;line-height:1.6;color:#666}.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:#fff;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:#666;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:#333;margin-bottom:8px}.form-group small{display:block;font-size:12px;color:#666;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:#f5f5f5;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:#f5f5f5;color:#333}.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:#fff;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 #e0e0e0;display:flex;justify-content:space-between;align-items:center}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.dialog-close-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px;transition:background-color .15s ease}.dialog-close-button:hover{background-color:#f5f5f5}.dialog-content{padding:20px 24px;overflow:auto;flex:1}.node-info-stats{display:flex;gap:20px;padding:16px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:16px}.node-info-stats .stat-item{font-size:13px;color:#333}.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:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;padding:16px;margin:0;font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;color:#333;overflow-x:auto;white-space:pre}.node-info-loading,.node-info-error{padding:20px;text-align:center;color:#666;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:#fff;color:#333;-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:#007acc}.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:#666;cursor:pointer;transition:all .15s ease}.narrower-topic-link:hover{color:#007acc}.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:#fff;border-radius:8px;width:90%;max-width:600px;max-height:min(80vh,80svh);display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}@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 #e5e5e5}.topic-selector-header h3{margin:0;font-size:16px;font-weight:500;color:#333;flex:1}.topic-selector-header .filter-button{background:none;border:none;color:#666;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:#f0f0f0;color:#333}.close-button{background:none;border:none;font-size:24px;color:#999;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:#f5f5f5;color:#333}.topic-selector-search{padding:12px 16px;border-bottom:1px solid #e5e5e5}.topic-selector-search input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:15px;outline:none;transition:border-color .15s ease}.topic-selector-search input:focus{border-color:#007acc}.topic-selector-list{flex:1;overflow-y:auto;padding:8px 0}.topic-selector-loading,.topic-selector-empty{padding:40px 20px;text-align:center;color:#999}.topic-selector-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid #f5f5f5;transition:background-color .15s ease;background:#fff!important;background-color:#fff!important}.topic-selector-item:hover,.topic-selector-item.selected{background:#f8f9fa!important}.topic-selector-item:last-child{border-bottom:none}.topic-selector-item .topic-name{font-size:15px;font-weight:500;color:#333;margin-bottom:2px}.topic-selector-item .topic-description{font-size:13px;color:#888;line-height:1.4}.topic-selector-item .search-filter-option{display:flex;align-items:center;gap:8px;color:#007acc}.topic-selector-item .search-filter-option .filter-label{font-weight:500}.topic-selector-item .search-filter-option .filter-keyword{font-weight:600}.context-menu{background:#fff;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:#333;transition:background-color .15s ease}.context-menu-item:hover{background-color:#f5f5f5}.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:#007acc}.context-menu-item.icon-edit button{padding:4px 12px;background-color:#007acc;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.context-menu-item.icon-edit button:hover{background-color:#005a9e}.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:#f0f0f0;color:#555}.tag-filter-button.selected{background-color:#f0f0f0;color:#000}.tag-filter-button.selected:hover,.tag-filter-button.selected:active{background-color:#f0f0f0}.node-tags-section{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:0}.tag-badge{padding:1px 8px;background-color:transparent;font-size:14px;color:#666;display:inline-flex;align-items:center;transition:all .2s;border-radius:16px}.tag-badge:hover{color:#2196f3}.tag-badge.selected{color:#333;font-weight:500;background-color:#e8e8e8}.clear-tag-filter{padding:2px 8px;background-color:#f0f0f0;border-radius:4px;font-size:12px;color:#666;cursor:pointer;border:none}.clear-tag-filter:hover{background-color:#e0e0e0}.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:#666;font-weight:500}.search-filter-keyword{display:flex;align-items:center;gap:6px;padding:4px 8px;background-color:#f0f0f0;border-radius:12px;font-size:12px;color:#333}.search-filter-clear{padding:0 4px;font-size:16px;font-weight:700;color:#666;cursor:pointer;background:none;border:none;line-height:1}.search-filter-clear:hover{color:#333}.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:#999;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:#333;margin:0;display:flex;align-items:center}.task-list-view-toggle{display:flex;gap:4px;background-color:#f5f5f5;border-radius:6px;padding:2px}.view-toggle-btn{padding:4px 8px;border:none;background:none;border-radius:4px;cursor:pointer;color:#666;transition:all .2s;display:flex;align-items:center;justify-content:center}.view-toggle-btn:hover{background-color:#e0e0e0}.view-toggle-btn.active{background-color:#fff;color:#333;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:#f8f9fa;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:#fff;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:#fff;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 #e0e0e0}.vault-selector-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.vault-selector-header .close-button{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#666;display:flex;align-items:center;justify-content:center}.vault-selector-header .close-button:hover{background-color:#f0f0f0}.vault-selector-header-actions{display:flex;align-items:center;gap:8px}.user-email{font-size:13px;color:#666;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:#f0f0f0;border-color:#ccc}.vault-warning{display:flex;align-items:flex-start;gap:10px;margin:12px 16px;padding:12px 14px;background:#fff3cd;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:#999}.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:#f5f5f5}.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:#333;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:#f44336}.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:#999}.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:#666;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.vault-action-button:hover{background-color:#e0e0e0;color:#333}.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:#f5f5f5;color:#666;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:#666;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:#fff;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 #e0e0e0}.login-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.login-dialog-content{padding:28px 24px}.login-description{margin-bottom:24px;color:#666;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:#fff;color:#333;transition:all .2s ease}.login-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-input::placeholder{color:#999}.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:#fff;color:#666;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:#f5f5f5;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:#333}.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:#fff;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 #e0e0e0}.sync-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.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:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px}.master-key-auto-lock .auto-lock-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;margin:0}.master-key-auto-lock .auto-lock-select{padding:3px 6px;font-size:12px;border:1px solid #ddd;border-radius:4px;background:#fff;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:#f5f5f5;color:#666;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.export-master-key-button:hover{background-color:#e0e0e0;color:#333;border-color:#ccc}.reset-master-key-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:#fff5f5;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 #e0e0e0}.sync-current-vault h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#666;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:#333}.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:#666;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:#999}.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:#f5f5f5;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:#333;margin-bottom:4px}.sync-vault-item-meta{font-size:12px;color:#999}.sync-vault-item-actions{display:flex;gap:4px;margin-left:12px}.sync-action-button{background:#fff;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:#f5f5f5;border-color:#ccc}.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:#fff;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 #e0e0e0}.password-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.password-dialog-content{padding:20px}.password-description{margin:0 0 16px;color:#666;font-size:14px;line-height:1.5}.password-warning{display:flex;gap:10px;padding:12px;background:#fff3e0;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:#333}.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:#fff;color:#666;border:1px solid #ddd;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.password-cancel-button:hover{background:#f5f5f5;border-color:#ccc}.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:#fff;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:#333;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:#666;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:#fff;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 #e0e0e0;background:#f9f9f9}.sync-column-header h4{margin:0;font-size:13px;font-weight:600;color:#666;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:#f5f5f5}.sync-vault-item.selected{background:#e3f2fd;border-left:3px solid #667eea}.sync-vault-item.creating{background:#f5f5f5;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:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:8px}.sync-vault-item-meta{font-size:11px;color:#999;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:#fff;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:#f5f5f5;border-color:#ccc}.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:#f9f9f9;border-radius:6px;transition:all .2s}.sync-device-item:hover{background:#f0f0f0}.sync-device-info{flex:1;min-width:0}.sync-device-name{font-size:14px;font-weight:500;color:#333}.sync-device-meta{font-size:11px;color:#999;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:#666}.master-key-intro{font-size:14px;color:#666;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:#f9f9f9;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s;text-align:center}.master-key-choice-button:hover{background:#f0f0f0;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:#333;margin:0 0 8px}.master-key-choice-button p{font-size:13px;color:#666;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:#f3f3f3;border-bottom:1px solid #e5e5e5;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:#424242}.mobile-node-action-btn:active{background-color:#d0d0d0}.mobile-node-action-btn-cancel{color:#666}.mobile-node-action-btn-cancel:active{background-color:#d0d0d0}.mobile-node-action-btn-danger{color:#d32f2f}.mobile-node-action-btn-danger:active{background-color:#ffebee}.mobile-editing-action-bar-fixed{position:fixed;background-color:#f3f3f3fa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #e5e5e5;border-radius:8px;padding:4px;z-index:9999;box-shadow:0 2px 8px #00000026;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:#424242}.mobile-editing-action-btn:active{background-color:#d0d0d0}.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:#fff;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;color:#333;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:#f0f0f0;transform:scale(.95)}@media (min-width: 769px){.mobile-quick-actions-container{display:none}}.review-session{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5;overflow:hidden}.review-session.loading,.review-session.empty{align-items:center;justify-content:center;background-color:#fff}.review-loading,.review-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;text-align:center}.review-empty h2{font-size:20px;font-weight:600;color:#333;margin:0}.review-empty p{font-size:14px;color:#666;margin:0 0 16px}.review-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background-color:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0}.review-progress{flex:1;display:flex;flex-direction:column;gap:8px}.review-progress-text{font-size:14px;font-weight:500;color:#666}.review-progress-bar{width:100%;max-width:500px;height:4px;background-color:#e0e0e0;border-radius:2px;overflow:hidden}.review-progress-fill{height:100%;background-color:#4caf50;transition:width .3s ease}.review-close{padding:8px;border-radius:4px;color:#666;transition:background-color .15s;display:flex;align-items:center;justify-content:center}.review-close:hover{background-color:#f0f0f0}.review-close:active{background-color:#e0e0e0}.review-content{flex:1;display:flex;flex-direction:column;align-items:center;padding:32px 20px;overflow-y:auto;gap:24px}.review-card{width:100%;max-width:500px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px;margin:12px 0}.review-question{display:flex;flex-direction:column;gap:16px}.review-question-title-container{display:flex;align-items:flex-start;gap:8px}.review-question-bullet{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;font-size:20px;cursor:pointer;padding:0;margin-top:2px;transition:all .15s ease;border-radius:4px}.review-question-bullet:hover{color:#333;background-color:#f0f0f0}.review-question-bullet:active{color:#000;background-color:#e0e0e0}.review-question-title{flex:1;font-size:24px;font-weight:600;color:#333;margin:0;line-height:1.4}.review-question-description{font-size:16px;color:#666;line-height:1.6}.review-question-description p{margin:0 0 12px}.review-question-description p:last-child{margin-bottom:0}.review-divider{height:1px;background-color:#e0e0e0;margin:24px 0}.review-answer{display:flex;flex-direction:column}.review-no-answer{font-size:14px;color:#999;text-align:center;padding:16px;margin:0}.review-answer-list{display:flex;flex-direction:column;gap:16px}.review-answer-item{display:flex;flex-direction:column;gap:8px;padding:16px;background-color:#f9f9f9;border-radius:6px;border-left:3px solid #4caf50}.review-answer-name{font-size:16px;font-weight:500;color:#333}.review-answer-description{font-size:14px;color:#666;line-height:1.6}.review-answer-description p{margin:0 0 8px}.review-answer-description p:last-child{margin-bottom:0}.review-actions{width:100%;max-width:500px;display:flex;flex-direction:column;gap:16px;margin-top:24px}.button-large{padding:16px 32px;font-size:16px;font-weight:500;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:12px}.review-rating-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.review-rating-button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border-radius:8px;background-color:#fff;border:2px solid #e0e0e0;transition:all .15s;position:relative;min-height:100px}.review-rating-button:hover:not(:disabled){border-color:#999;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.review-rating-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0000001a}.review-rating-button:disabled{opacity:.5;cursor:not-allowed}.rating-label{font-size:14px;font-weight:600;color:#333}.rating-interval{font-size:20px;font-weight:700;color:#666}.review-shortcut{position:absolute;top:8px;right:8px;font-size:11px;font-weight:600;color:#999;background-color:#f5f5f5;padding:2px 6px;border-radius:3px}.rating-again{border-color:#ef5350}.rating-again:hover:not(:disabled){border-color:#ef5350;background-color:#ffebee}.rating-again .rating-label,.rating-again .rating-interval{color:#ef5350}.rating-hard{border-color:#ff9800}.rating-hard:hover:not(:disabled){border-color:#ff9800;background-color:#fff3e0}.rating-hard .rating-label,.rating-hard .rating-interval{color:#ff9800}.rating-good{border-color:#4caf50}.rating-good:hover:not(:disabled){border-color:#4caf50;background-color:#e8f5e9}.rating-good .rating-label,.rating-good .rating-interval{color:#4caf50}.rating-easy{border-color:#2196f3}.rating-easy:hover:not(:disabled){border-color:#2196f3;background-color:#e3f2fd}.rating-easy .rating-label,.rating-easy .rating-interval{color:#2196f3}.review-stats{display:flex;justify-content:center;gap:32px;padding:16px 20px;background-color:#fff;border-top:1px solid #e0e0e0;flex-shrink:0}.review-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.review-stat-value{font-size:24px;font-weight:700;color:#333}.review-stat-label{font-size:12px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.review-content{padding:20px 16px}.review-question-title{font-size:20px}.review-rating-buttons{grid-template-columns:repeat(2,1fr)}.review-stats{gap:20px}}.deck-stats{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin:16px 0}.deck-stats.loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:#666}.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:#333;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:#999}.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:#f5f5f5;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:#666;text-transform:uppercase;letter-spacing:.5px}.deck-stats-details{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:#f9f9f9;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:#666}.deck-stat-row .deck-stat-value{font-size:14px;font-weight:600;color:#333}.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 #e0e0e0;background-color:#fafafa;border-radius:4px}.backlinks-title{font-size:18px;font-weight:700;color:#333;margin:0 0 1rem}.backlinks-section{margin-bottom:1.5rem}.backlinks-section:last-child{margin-bottom:0}.backlinks-section-title{font-size:14px;font-weight:600;color:#666;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:#007acc;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%}.excalidraw-loading,.excalidraw-error{display:flex;align-items:center;justify-content:center;height:100%;font-size:16px;color:#666}.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:#666;box-shadow:0 2px 8px #0000001a;z-index:100}.excalidraw-saving-indicator .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@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:#333;margin:0;display:flex;align-items:center}.activity-grouping-toggle{display:flex;gap:4px;background:#f5f5f5;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:#666;transition:all .2s}.grouping-toggle-button:hover{background:#e8e8e8;color:#333}.grouping-toggle-button.active{background:#fff;color:#007acc;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:#999;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:#333;font-weight:600}.topics-editor-link{cursor:pointer;color:#007acc;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:#666;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:#007acc;text-decoration:none}.topics-link:hover{text-decoration:underline}.topics-link-button{padding:4px;background:transparent;border:none;color:#666;font-size:13px;cursor:pointer;transition:all .2s ease;margin-left:auto}.topics-link-button:hover{color:#333;opacity:.8}.topics-link-button:active{opacity:.6}.header-separator{color:#999;margin:0 4px}@media (max-width: 768px){.topics-editor-left,.topics-editor-right{flex:0 0 50%;padding:12px}}.fullsync-dialog{min-width:500px;max-width:600px}.fullsync-progress-content{padding:8px 0}.fullsync-progress-stage{font-size:14px;color:#666;font-weight:500;text-align:center;margin-bottom:8px}.fullsync-progress-bar-container{height:8px;background-color:#e0e0e0;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:#666;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:#f5f5f5;border-radius:6px;margin-bottom:20px;font-size:14px;color:#666}.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:#666;font-style:italic;text-align:center}.flashcards-editor-summary{padding:12px 16px;background:#f5f5f5;border-radius:6px;margin-bottom:20px;font-size:14px;color:#666}.flashcards-editor-topics{display:flex;flex-direction:column;gap:12px}.flashcards-topic-group{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.flashcards-topic-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f9f9f9;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.flashcards-topic-header:hover{background:#f0f0f0}.flashcards-topic-icon{flex-shrink:0;color:#666}.flashcards-topic-name{flex:1;font-weight:500;color:#333}.flashcards-topic-count{color:#999;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:#f5f5f5}.flashcard-item-icon{flex-shrink:0;color:#007acc}.flashcard-item-name{flex:1;color:#333;font-size:14px}.flashcard-item-date{color:#999;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 #f5f5f5;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:#333;margin-bottom:2px}.template-selector-description{font-size:12px;color:#888;line-height:1.4;margin-top:4px}.template-selector-empty{padding:12px;text-align:center;color:#999;font-size:13px}.topic-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;background-color:#fff!important}.topic-selector:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fff!important;border-radius:6px;z-index:-1;-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none;background-color:#fff!important}.topic-selector-title{padding:8px 12px;font-size:12px;font-weight:600;color:#666;border-bottom:1px solid #f5f5f5;background:#fafafa!important}.topic-selector-name{font-size:14px;font-weight:500;color:#333;margin-bottom:2px}.topic-selector-description{font-size:12px;color:#888;line-height:1.4;margin-top:4px}.topic-selector-loading,.topic-selector-empty{padding:12px;text-align:center;color:#999;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}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#000000de;background-color:#fff;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}
