.cm-widget-block-container{display:block;width:100%}.widget-block{margin:8px 0;padding:12px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;font-family:inherit}.widget-block-loading{display:flex;align-items:center;gap:8px;color:#666;font-style:italic}.widget-block-spinner{width:16px;height:16px;border:2px solid #e0e0e0;border-top-color:#1976d2;border-radius:50%;animation:widget-block-spin .8s linear infinite}@keyframes widget-block-spin{to{transform:rotate(360deg)}}.widget-block-error{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;background:#fff3f3;border-color:#ffcdd2;color:#c62828}.widget-block-error-icon{font-size:24px}.widget-block-error-detail{font-size:12px;color:#888}.widget-block-stale{border-color:#ffe082;background:#fffde7}.widget-block-stale-banner{padding:4px 8px;margin:-12px -12px 12px;background:#fff3e0;border-bottom:1px solid #ffe082;border-radius:7px 7px 0 0;font-size:12px;color:#e65100}.widget-block-content{margin-bottom:8px}.widget-block-flashcard-sides{display:flex;align-items:stretch;gap:12px}.widget-block-flashcard-side{flex:1;display:flex;flex-direction:column;gap:4px}.widget-block-flashcard-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#666}.widget-block-flashcard-text{padding:8px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.widget-block-flashcard-arrow{display:flex;align-items:center;color:#999;font-size:18px}.widget-block-flashcard-edit{display:flex;flex-direction:column;gap:12px}.widget-block-flashcard-field{display:flex;flex-direction:column;gap:4px}.widget-block-flashcard-field label{font-size:12px;font-weight:600;color:#666}.widget-block-flashcard-field textarea{padding:8px;border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:14px;resize:vertical}.widget-block-task-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.widget-block-task-status{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.widget-block-task-status-todo{background:#e3f2fd;color:#1565c0}.widget-block-task-status-done{background:#e8f5e9;color:#2e7d32}.widget-block-task-status-blocked{background:#ffebee;color:#c62828}.widget-block-task-name{font-weight:500}.widget-block-heading-text{font-weight:600;color:#333}.widget-block-heading-h1{font-size:1.5em}.widget-block-heading-h2{font-size:1.3em}.widget-block-heading-h3{font-size:1.1em}.widget-block-tags{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.widget-block-tag{padding:2px 6px;background:#e0e0e0;border-radius:4px;font-size:12px;color:#666}.widget-block-actions{display:flex;gap:8px;margin-top:8px}.widget-block-actions button{padding:4px 12px;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:12px;cursor:pointer;transition:all .15s ease}.widget-block-actions button:hover{background:#f5f5f5;border-color:#999}.widget-block-actions button:disabled{opacity:.5;cursor:not-allowed}.widget-block-source{margin-top:8px;padding-top:8px;border-top:1px solid #e0e0e0}.widget-block-source-link{padding:0;border:none;background:none;font-size:12px;color:#666;cursor:pointer;text-decoration:none}.widget-block-source-link:hover{color:#1976d2;text-decoration:underline}.widget-block-flashcard{border-left:3px solid #7c4dff}.widget-block-task{border-left:3px solid #1976d2}.widget-block-heading{border-left:3px solid #43a047}.flashcard-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.flashcard-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.flashcard-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:#fafafa}.flashcard-counter{font-size:14px;color:#666;font-weight:500}.flashcard-close{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.flashcard-close:hover{background:#f0f0f0;color:#333}.flashcard-content{padding:40px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow-y:auto}.flashcard-question{margin-bottom:32px;width:100%}.flashcard-question h2{font-size:28px;font-weight:600;color:#333;line-height:1.4;margin:0}.flashcard-answer{margin-bottom:24px;width:100%;padding:20px;background:#f5f5f5;border-radius:8px;border-left:4px solid #1976d2}.flashcard-answer h3{font-size:24px;font-weight:500;color:#1976d2;line-height:1.4;margin:0}.flashcard-record{margin-bottom:24px;font-size:18px;font-weight:600;font-family:monospace;letter-spacing:2px}.flashcard-actions{display:flex;gap:12px;margin-bottom:20px;width:100%;justify-content:center}.flashcard-button{padding:12px 24px;border:2px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;transition:all .2s;min-width:120px}.flashcard-button-primary{background:#1976d2;color:#fff;border-color:#1976d2}.flashcard-button-primary:hover{background:#1565c0;border-color:#1565c0}.flashcard-button-correct{background:#4caf50;color:#fff;border-color:#4caf50}.flashcard-button-correct:hover{background:#45a049;border-color:#45a049}.flashcard-button-wrong{background:#f44336;color:#fff;border-color:#f44336}.flashcard-button-wrong:hover{background:#da190b;border-color:#da190b}.flashcard-nav{display:flex;gap:12px;width:100%;justify-content:space-between;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.flashcard-nav-button{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.flashcard-nav-button:hover:not(:disabled){background:#f5f5f5;border-color:#bbb}.flashcard-nav-button:disabled{opacity:.5;cursor:not-allowed}.flashcard-header-controls{display:flex;gap:12px;align-items:center}.flashcard-response-toggle{display:inline-flex;border:1px solid #ddd;border-radius:6px;overflow:hidden}.flashcard-response-toggle button{border:none;background:none;padding:6px 10px;font-size:.85rem;cursor:pointer;color:#555}.flashcard-response-toggle button.active{background:#1976d2;color:#fff}.flashcard-typed-input{width:100%;margin-bottom:20px}.flashcard-typed-input textarea{width:100%;border:1px solid #ddd;border-radius:8px;padding:12px;font-size:16px;font-family:inherit;min-height:90px;resize:vertical}.flashcard-typed-hints{margin-top:8px;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#666;gap:12px;flex-wrap:wrap}.flashcard-speech-button{border:1px solid #ccc;background:#fff;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:.85rem}.flashcard-speech-button.listening{background:#ffe0b2;border-color:#ff9800;color:#e65100}.flashcard-typed-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:16px}.flashcard-autograde{width:100%;padding:12px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;font-size:.95rem}.flashcard-autograde-correct{background:#e8f5e9;color:#2e7d32}.flashcard-autograde-incorrect{background:#ffebee;color:#c62828}.flashcard-autograde-unsure{background:#fff8e1;color:#f57f17}.flashcard-button.recommended{box-shadow:0 0 0 3px #1976d233}.flashcard-speech-error{color:#c62828;font-size:.85rem;margin-bottom:12px}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d;position:relative;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:#999;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.auth-modal-close:hover{background:#f0f0f0;color:#333}.auth-modal-header{text-align:center;margin-bottom:24px}.auth-modal-header h2{margin:0 0 8px;font-size:24px;font-weight:600;color:#1a1a1a}.auth-modal-header p{margin:0;color:#666;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:14px;font-weight:500;color:#333}.auth-field input{padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:all .2s}.auth-field input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.auth-field input::placeholder{color:#aaa}.auth-error{background:#ffebee;color:#c62828;padding:12px;border-radius:8px;font-size:14px;text-align:center}.auth-message{background:#e8f5e9;color:#2e7d32;padding:12px;border-radius:8px;font-size:14px;text-align:center}.auth-submit{padding:14px;background:#1976d2;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;margin-top:8px}.auth-submit:hover:not(:disabled){background:#1565c0}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:20px;font-size:14px;color:#666}.auth-switch button{background:none;border:none;color:#1976d2;cursor:pointer;font-size:14px;font-weight:500;padding:0}.auth-switch button:hover{text-decoration:underline}.auth-guest-note{margin-top:20px;padding-top:20px;border-top:1px solid #eee;text-align:center}.auth-guest-note p{margin:0;font-size:13px;color:#888;line-height:1.5}.document-outline{padding:8px 12px;background-color:transparent;max-height:300px;overflow-y:auto}.outline-title{font-weight:600;font-size:.9em;color:#666;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.outline-tree{font-size:.9em}.outline-header-node{margin-bottom:2px}.outline-header-item{display:flex;align-items:center;gap:4px}.outline-expand-button{background:none;border:none;cursor:pointer;padding:2px 4px;font-size:.7em;color:#999;width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.outline-expand-button:hover{color:#666;background-color:#f0f0f0;border-radius:2px}.outline-spacer{width:16px;flex-shrink:0}.outline-header-link{background:none;border:none;cursor:pointer;text-align:left;flex:1;padding:4px 6px;border-radius:4px;display:flex;align-items:center;gap:6px;color:#333;transition:background-color .15s}.outline-header-link:hover{background-color:#e8f4f8}.outline-header-level{font-size:.75em;color:#999;font-weight:600;min-width:20px}.outline-header-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-header-children{margin-left:8px;border-left:1px solid #e0e0e0;padding-left:8px}.outline-empty{color:#999;font-style:italic;text-align:center;padding:16px}.document-sidebar{width:250px;background:#fff;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;height:100vh;transition:width .2s ease;position:relative}.document-sidebar.collapsed{width:48px}.document-sidebar.resizing{transition:none;-webkit-user-select:none;user-select:none}.document-sidebar-header{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;background:#fff;flex-shrink:0}.document-sidebar.collapsed .document-sidebar-header{padding:12px 8px;justify-content:center}.document-sidebar-header h3{margin:0;font-size:14px;font-weight:600;color:#333}.document-sidebar.collapsed .document-sidebar-header h3{display:none}.document-sidebar-button{padding:4px 8px;border:none;background:transparent;cursor:pointer;color:#666;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.document-sidebar-button:hover{background:#f5f5f5;color:#333}.document-collapse-button{padding:4px 6px}.document-filter-controls{padding:12px 16px;border-bottom:1px solid #e0e0e0;background:#fff9e6}.document-filter-scope{margin-bottom:12px}.document-filter-scope label{display:block;font-size:12px;font-weight:600;color:#666;margin-bottom:4px}.document-filter-select{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;background:#fff;cursor:pointer}.document-filter-selection{margin-top:12px}.document-filter-selection label{display:block;font-size:12px;font-weight:600;color:#666;margin-bottom:8px}.document-filter-checkboxes{display:flex;flex-direction:column;gap:6px}.document-filter-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.document-filter-checkbox input[type=checkbox]{cursor:pointer}.document-list{flex:1;overflow-y:auto;padding:8px 0;min-height:0}.document-sidebar-footer{margin-top:auto;padding-top:8px;border-top:1px solid #f0f0f0;flex-shrink:0;background:#fff}.document-item-wrapper{display:flex;flex-direction:column;position:relative;min-height:1px;overflow:visible;z-index:1}.document-item-wrapper:has(.document-rename-container){z-index:100}.document-item{display:flex;align-items:center;gap:4px;padding:6px 8px;cursor:pointer;position:relative;min-height:28px;flex-wrap:nowrap}.document-item:hover{background:#f5f5f5;z-index:10;overflow:visible}.document-item.selected{background:#f5f5f5;font-weight:500;margin-bottom:0}.document-item.dragging{opacity:.3;pointer-events:none}.document-item-dragging{background:#fff;border-radius:4px;padding:10px 16px;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px #00000026;transform:rotate(2deg)}.document-drag-handle{display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;color:#999;opacity:0;transition:opacity .15s,color .15s;cursor:grab;flex-shrink:0;margin-right:2px;user-select:none;-webkit-user-select:none}.document-drag-handle:active{cursor:grabbing}.document-item:hover .document-drag-handle{opacity:.6;color:#666}.document-drag-handle:hover{color:#1976d2;opacity:.9}.document-drop-indicator{height:3px;background:#1976d2;margin:0;border-radius:2px;position:absolute;left:8px;right:8px;z-index:200;box-shadow:0 0 6px #1976d299;pointer-events:none;animation:dropIndicatorPulse .3s ease-out}@keyframes dropIndicatorPulse{0%{opacity:0;transform:scaleX(.5)}to{opacity:1;transform:scaleX(1)}}.document-drop-indicator-before{top:-1px}.document-drop-indicator-after{bottom:-1px}.document-drop-indicator-inside{position:absolute;top:0;left:0;right:0;bottom:0;border:2px dashed #1976d2;border-radius:4px;pointer-events:none;z-index:10;background:#1976d20d}.document-outline-indicator{margin-left:6px;background:transparent;border:none;cursor:pointer;color:#666;padding:2px 4px;opacity:.8;transition:opacity .2s,color .2s;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.document-outline-indicator:hover,.document-item.selected .document-outline-indicator{opacity:1;color:#1976d2}.document-outline-container{margin-left:8px}.document-expand-button{width:16px;height:16px;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;color:#666;transition:transform .2s,color .2s;flex-shrink:0}.document-expand-button:hover{color:#1976d2}.document-expand-spacer{width:16px;flex-shrink:0}.document-name{font-size:14px;color:#333;font-weight:500;letter-spacing:-.01em;line-height:1.4;display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow:hidden;position:relative}.document-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;position:relative}.document-item.selected .document-name{color:#333;font-weight:600}.document-children{margin-left:8px}.document-empty{padding:16px;text-align:center;color:#999;font-size:12px}.document-new-button{font-size:14px;padding:4px 6px}.document-actions{display:flex;gap:4px;margin-left:auto;align-items:center;position:absolute;right:8px;background:#fff;padding:2px 4px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:11;box-shadow:0 0 8px #0000001a}.document-actions.visible{opacity:1;pointer-events:all}.document-action-button{width:20px;height:20px;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;opacity:.7;transition:opacity .2s;border-radius:3px;flex-shrink:0}.document-action-button:hover{opacity:1;background:#0000000d}.document-delete-button:hover{background:#f443361a}.document-rename-container{display:flex;align-items:center;gap:4px;flex:1;min-width:0;position:relative}.document-rename-input{flex:1;min-width:0;max-width:calc(100% - 60px);border:1px solid #1976d2;border-radius:3px;padding:2px 6px;font-size:14px;font-weight:500;color:#333;background:#fff;outline:none}.document-rename-actions{display:flex;align-items:center;gap:4px;position:relative;flex-shrink:0}.document-color-button{width:20px;height:20px;border:1px solid #ccc;border-radius:3px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:border-color .2s,opacity .2s}.document-color-button:hover{border-color:#1976d2;opacity:.8}.document-color-picker{position:absolute;top:24px;right:0;width:200px;height:40px;border:1px solid #ccc;border-radius:4px;cursor:pointer;z-index:1000;background:#fff;box-shadow:0 2px 8px #00000026;max-width:calc(100vw - 20px);-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:1;padding:0}.document-color-picker::-webkit-color-swatch-wrapper{padding:0}.document-color-picker::-webkit-color-swatch{border:1px solid #ccc;border-radius:3px}.document-color-picker::-moz-color-swatch{border:1px solid #ccc;border-radius:3px}@media (max-width: 300px){.document-color-picker{right:auto;left:0}}.document-status-icon{margin-right:4px;opacity:.8;display:inline-flex;align-items:center;flex-shrink:0}.document-status-chip{margin-right:6px;padding:2px 6px;background:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;flex-shrink:0;line-height:1.2}.document-context-menu{position:fixed;background:#fff;border:none;box-shadow:0 2px 8px #0000001a;padding:6px 0;min-width:180px;z-index:1000;animation:contextMenuFadeIn .1s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;border:none;background:transparent;text-align:left;cursor:pointer;font-size:13px;color:#333;transition:background .15s}.context-menu-item:hover{background:#f5f5f5}.context-menu-item.active{background:#e3f2fd;font-weight:500}.context-menu-item.active:before{content:"✓ ";margin-right:4px}.context-menu-danger{color:#d32f2f}.context-menu-danger:hover{background:#ffebee}.context-menu-divider{height:1px;background:#eee;margin:6px 0}.context-menu-section{padding:6px 16px 4px;font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.context-menu-info{padding:12px 16px;font-size:12px;color:#666;font-style:italic}.document-name-tooltip{background:#333;color:#fff;padding:6px 10px;border-radius:4px;font-size:13px;box-shadow:0 2px 8px #0003;pointer-events:none;max-width:min(400px,calc(100vw - 16px));word-break:break-word;white-space:normal;line-height:1.4}.document-sidebar-resize-handle{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background:transparent;z-index:10;transition:background .2s}.document-sidebar-resize-handle:hover,.document-sidebar.resizing .document-sidebar-resize-handle{background:#1976d2}.document-link{position:relative;display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;transition:background .2s;width:100%;justify-content:space-between}.document-link:hover{background:transparent}.document-link.compact{display:inline-flex;padding:2px 6px}.document-link-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.document-link-name{font-weight:600;color:#1976d2;font-size:13px}.document-link-line{font-size:12px;color:#888}.document-link-line-inline{font-size:12px;color:#888;margin-left:8px}.document-link-actions{display:flex;gap:6px;align-items:center;margin-left:auto;opacity:1}.document-link-action{padding:4px 10px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;color:#333;transition:background .2s,border-color .2s}.document-link-action:hover{background:#f5f5f5;border-color:#bbb}.widget-aggregator{display:flex;flex-direction:column;height:100%;padding:16px;overflow:auto;background:#fff}.widget-aggregator-header{font-size:14px;color:#555;margin-bottom:12px}.widget-aggregator-list{display:flex;flex-direction:column;gap:16px}.widget-document-group{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.widget-document-header{padding:8px 12px;background:#f5f5f5;border-bottom:1px solid #e0e0e0}.widget-document-items{display:flex;flex-direction:column;gap:8px;padding:8px}.widget-card{background:transparent;border:none;border-radius:0;padding:8px;box-shadow:none;border-bottom:1px solid #f0f0f0}.widget-card:last-child{border-bottom:none}.widget-card-footer{display:flex;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}.widget-action-button{padding:4px 10px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;color:#333;transition:background .2s,border-color .2s}.widget-action-button:hover{background:#f5f5f5;border-color:#bbb}.widget-card-content{font-size:14px;color:#222;margin:0}.widget-card-content pre{margin:0;background:#f7f9fb;padding:8px;border-radius:6px;font-family:JetBrains Mono,Consolas,monospace;white-space:pre-wrap}.widget-card-children{margin-top:8px;padding-left:12px;border-left:2px solid #e0e0e0;display:flex;flex-direction:column;gap:4px}.widget-aggregator-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#777;font-size:14px}.tag-widget-line{display:flex;flex-direction:column;gap:6px}.tag-widget-content-line{display:flex;align-items:flex-start;gap:8px;width:100%;position:relative}.tag-widget-content-line:hover .tag-widget-actions{opacity:1;pointer-events:all}.tag-widget-line-number{font-size:12px;color:#888;flex-shrink:0;padding-top:6px;min-width:60px}.tag-widget-text{flex:1;margin:0;background:#f7f9fb;padding:6px 8px;border-radius:4px;font-family:JetBrains Mono,Consolas,monospace;white-space:pre-wrap;font-size:13px;line-height:1.4}.tag-widget-actions{position:absolute;right:0;top:0;display:flex;gap:6px;align-items:center;opacity:0;pointer-events:none;transition:opacity .2s;background:#fff;padding:4px;border-radius:4px;box-shadow:0 2px 4px #0000001a;z-index:10}.tag-widget-actions-inline{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0;opacity:0;pointer-events:none;transition:opacity .2s}.widget-card:hover .tag-widget-actions-inline{opacity:1;pointer-events:all}.tag-widget-action-button{padding:4px 10px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;color:#333;transition:background .2s,border-color .2s}.tag-widget-action-button:hover{background:#f5f5f5;border-color:#bbb}.tag-widget-tags{display:flex;gap:6px;flex-wrap:wrap;padding-top:4px}.tag-widget-tag{padding:2px 8px;border-radius:999px;border:1px solid #c5cae9;background:#e8eaf6;font-size:12px;color:#3f51b5}.tag-widget-child{font-size:13px;color:#555;background:#fff;border:1px dashed #ddd}.image-gallery-widget{display:flex;flex-direction:column;height:100%;position:relative}.image-gallery-search{position:relative;margin-bottom:12px;flex-shrink:0}.image-gallery-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.image-gallery-search-input{width:100%;padding:8px 12px 8px 36px;border:1px solid #ddd;border-radius:4px;font-size:.9em;font-family:inherit}.image-gallery-search-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.image-gallery-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#999;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.image-gallery-search-clear:hover{background:#f0f0f0;color:#333}.image-gallery-upload-section{margin-bottom:12px;flex-shrink:0}.image-gallery-file-input{display:none}.image-gallery-upload-button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:500;transition:background .2s;width:100%;justify-content:center}.image-gallery-upload-button:hover{background:#1565c0}.image-gallery-drag-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#1976d21a;border:2px dashed #1976d2;border-radius:8px;z-index:10;display:flex;align-items:center;justify-content:center}.image-gallery-drag-message{background:#fff;padding:16px 24px;border-radius:8px;font-weight:500;color:#1976d2;box-shadow:0 4px 12px #00000026}.image-gallery-loading,.image-gallery-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-size:.9em;padding:40px 20px;text-align:center}.image-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;overflow-y:auto;flex:1;padding:4px}.image-gallery-item{cursor:pointer;border-radius:4px;overflow:hidden;transition:transform .2s,box-shadow .2s}.image-gallery-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.image-gallery-item-image-wrapper{position:relative;width:100%;padding-top:100%;background:#f5f5f5;overflow:hidden}.image-gallery-item-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.image-gallery-item-error{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#ffebee;color:#c62828;font-size:.75em;text-align:center;padding:8px}.image-gallery-item-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000;transition:background .2s;display:flex;align-items:flex-start;justify-content:flex-end;padding:4px;opacity:0;transition:opacity .2s}.image-gallery-item:hover .image-gallery-item-overlay{opacity:1;background:#0000004d}.image-gallery-item-delete{background:#f44336e6;border:none;color:#fff;padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.image-gallery-item-delete:hover{background:#f44336}.image-gallery-item-delete:disabled{opacity:.6;cursor:not-allowed}.image-gallery-item-deleting{font-size:.8em}.image-gallery-item-name{padding:6px 4px;font-size:.75em;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.image-gallery-delete-confirm{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center}.image-gallery-delete-confirm-content{background:#fff;padding:24px;border-radius:8px;max-width:400px;width:90%;box-shadow:0 8px 32px #0000004d}.image-gallery-delete-confirm-content p{margin:0 0 12px;color:#333}.image-gallery-delete-confirm-path{font-size:.85em;color:#666;word-break:break-all;font-family:monospace;background:#f5f5f5;padding:8px;border-radius:4px;margin-bottom:16px!important}.image-gallery-delete-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.image-gallery-delete-confirm-button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:500;transition:background .2s}.image-gallery-delete-confirm-cancel{background:#f5f5f5;color:#333}.image-gallery-delete-confirm-cancel:hover{background:#e0e0e0}.image-gallery-delete-confirm-delete{background:#f44336;color:#fff}.image-gallery-delete-confirm-delete:hover:not(:disabled){background:#d32f2f}.image-gallery-delete-confirm-delete:disabled{opacity:.6;cursor:not-allowed}.inline-image-gallery{width:100%;background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:100;display:flex;flex-direction:column;max-height:50vh;box-shadow:0 2px 4px #0000001a;height:auto}.inline-image-gallery-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid #e0e0e0;background:#fafafa;flex-shrink:0}.inline-image-gallery-title{margin:0;font-size:1em;font-weight:600;color:#333}.inline-image-gallery-close{background:#f5f5f5;border:1px solid #ddd;cursor:pointer;padding:6px 12px;color:#333;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;font-weight:500;font-size:.9em;min-width:80px}.inline-image-gallery-close:hover{background:#e0e0e0;color:#000;border-color:#bbb}.inline-image-gallery-content{flex:1;overflow-y:auto;min-height:200px;max-height:calc(50vh - 50px)}.inline-image-gallery-content::-webkit-scrollbar{width:8px}.inline-image-gallery-content::-webkit-scrollbar-track{background:#f1f1f1}.inline-image-gallery-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.inline-image-gallery-content::-webkit-scrollbar-thumb:hover{background:#555}.flashcard-widget{display:flex;flex-direction:column;gap:8px;padding:0}.flashcard-widget-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.flashcard-widget-column{display:flex;flex-direction:column;gap:4px}.flashcard-widget-label{font-size:.8rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.flashcard-widget-text{font-size:1rem;font-weight:600;color:#263238;white-space:pre-wrap}.flashcard-widget-meta-compact{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:#666;padding-top:4px;border-top:1px solid #f0f0f0}.flashcard-widget-meta-item{display:inline-flex;align-items:center;white-space:nowrap}.flashcard-widget-due{font-size:.85rem;padding:2px 8px;border-radius:12px}.flashcard-widget-due.due{background-color:#ffebee;color:#c62828}.flashcard-widget-due.scheduled{background-color:#e3f2fd;color:#1565c0}.flashcard-widget-tags{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}.flashcard-widget-tag{background-color:#f1f3f5;color:#546e7a;padding:2px 8px;border-radius:12px;font-size:.8rem}.flashcard-widget-actions{display:flex;gap:8px;padding-top:8px;border-top:1px solid #f0f0f0}.flashcard-widget-action-button{padding:6px 12px;border:1px solid #e0e0e0;background-color:#fff;color:#333;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s}.flashcard-widget-action-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#bdbdbd}.flashcard-widget-action-button:active:not(:disabled){background-color:#eee}.flashcard-widget-action-button:disabled{opacity:.6;cursor:not-allowed;background-color:#f9f9f9;color:#999}.flashcard-data-dashboard{display:flex;flex-direction:column;gap:32px;padding:24px;background:#fafafa;min-height:100%}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.dashboard-empty h2{font-size:1.5rem;font-weight:600;color:#263238;margin:0 0 16px}.dashboard-empty p{font-size:1rem;color:#666;max-width:500px;margin:0}.dashboard-section{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.dashboard-section-title{font-size:1.25rem;font-weight:600;color:#263238;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.stat-card{background:#f5f5f5;border-radius:8px;padding:16px;text-align:center;transition:all .2s}.stat-card:hover{background:#eee;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.stat-card.highlight{background:#fff3e0;border:2px solid #ff9800}.stat-card-label{font-size:.85rem;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.stat-card-value{font-size:1.75rem;font-weight:700;color:#263238}.tag-breakdown-table{overflow-x:auto}.tag-breakdown-table table{width:100%;border-collapse:collapse}.tag-breakdown-table th{text-align:left;padding:12px;background:#f5f5f5;font-weight:600;color:#546e7a;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e0e0e0}.tag-breakdown-table td{padding:12px;border-bottom:1px solid #f0f0f0}.tag-breakdown-table tr:hover{background:#fafafa}.tag-cell{font-family:monospace;font-weight:500;color:#1976d2}.accuracy-high{color:#2e7d32;font-weight:600}.accuracy-medium{color:#f57c00;font-weight:600}.accuracy-low{color:#c62828;font-weight:600}.difficult-cards-list{display:flex;flex-direction:column;gap:12px}.difficult-card-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#fff8e1;border-radius:8px;border-left:4px solid #f57c00;transition:all .2s}.difficult-card-item:hover{background:#fff3c4;box-shadow:0 2px 8px #0000001a}.difficult-card-rank{font-size:1.25rem;font-weight:700;color:#f57c00;min-width:40px;text-align:center}.difficult-card-content{flex:1;display:flex;flex-direction:column;gap:8px}.difficult-card-prompt{font-size:1rem;font-weight:500;color:#263238}.difficult-card-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:.85rem;color:#666}.difficult-card-tags{display:flex;flex-wrap:wrap;gap:6px}.difficult-card-tag{background:#f1f3f5;color:#546e7a;padding:2px 8px;border-radius:12px;font-size:.8rem}.difficult-card-action{padding:8px 16px;background:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.difficult-card-action:hover{background:#1565c0}.activity-chart{padding:20px 0}.activity-bars{display:flex;align-items:flex-end;gap:8px;height:200px;padding:0 8px;border-bottom:2px solid #e0e0e0;overflow-x:auto}.activity-bar-container{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:40px;flex:1}.activity-bar-label{font-size:.75rem;color:#666;transform:rotate(-45deg);transform-origin:center;white-space:nowrap;margin-bottom:8px}.activity-bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end;min-height:0}.activity-bar{width:100%;background:#1976d2;border-radius:4px 4px 0 0;min-height:4px;transition:background .2s}.activity-bar:hover{background:#1565c0}.activity-bar-value{font-size:.75rem;color:#666;font-weight:500}.trends-container{padding:20px 0}.trends-bars{display:flex;align-items:flex-end;gap:12px;height:200px;padding:0 8px;border-bottom:2px solid #e0e0e0;overflow-x:auto}.trend-bar-container{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:50px;flex:1}.trend-bar-label{font-size:.75rem;color:#666;transform:rotate(-45deg);transform-origin:center;white-space:nowrap;margin-bottom:8px}.trend-bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end;min-height:0}.trend-bar{width:100%;border-radius:4px 4px 0 0;min-height:4px;transition:opacity .2s}.trend-bar.accuracy-high{background:#4caf50}.trend-bar.accuracy-medium{background:#ff9800}.trend-bar.accuracy-low{background:#f44336}.trend-bar:hover{opacity:.8}.trend-bar-value{font-size:.75rem;color:#666;font-weight:500}.frequency-container{display:flex;flex-direction:column;gap:24px}.frequency-stat{display:flex;align-items:center;gap:12px;padding:16px;background:#f5f5f5;border-radius:8px}.frequency-label{font-size:1rem;color:#666}.frequency-value{font-size:1.25rem;font-weight:600;color:#263238}.frequency-distribution h3{font-size:1rem;font-weight:600;color:#546e7a;margin:0 0 16px}.distribution-bars{display:flex;flex-direction:column;gap:8px}.distribution-item{display:flex;align-items:center;gap:12px}.distribution-label{font-size:.9rem;color:#666;min-width:100px}.distribution-bar-container{flex:1;height:24px;background:#f0f0f0;border-radius:4px;overflow:hidden}.distribution-bar{height:100%;background:#1976d2;transition:width .3s}.distribution-value{font-size:.9rem;font-weight:500;color:#263238;min-width:40px;text-align:right}@media (max-width: 768px){.flashcard-data-dashboard{padding:16px;gap:24px}.dashboard-section{padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.activity-bars,.trends-bars{height:150px}}.task-widget{border:1px solid #e0e0e0;border-radius:8px;padding:12px;margin-bottom:12px;background:#fff}.task-widget-body{margin-bottom:8px}.task-widget-name{font-weight:600;font-size:16px;margin-bottom:8px;color:#333}.task-widget-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;margin-bottom:4px}.task-widget-status-todo{background:#f0f0f0;color:#666}.task-widget-status-done{background:#e8f5e9;color:#2e7d32}.task-widget-due-date{color:#1976d2;font-size:14px;margin-bottom:4px}.task-widget-assignee{color:#7b1fa2;font-size:14px;margin-bottom:4px}.task-widget-priority{color:#d32f2f;font-size:14px;margin-bottom:4px;font-weight:500}.task-widget-progress{color:#f57c00;font-size:14px;margin-bottom:4px}.task-widget-description{color:#666;font-size:14px;margin-bottom:8px;line-height:1.5}.task-widget-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.task-widget-tag{background:#e3f2fd;color:#1976d2;padding:2px 6px;border-radius:4px;font-size:12px}.task-widget-custom-field{font-size:14px;margin-bottom:4px;color:#666}.task-widget-custom-label{font-weight:500;margin-right:4px}.task-widget-meta{display:flex;gap:12px;font-size:12px;color:#999;margin-bottom:8px}.task-widget-line-number,.task-widget-depth{color:#999}.task-widget-actions{display:flex;gap:8px}.task-widget-action-button{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;color:#666}.task-widget-action-button:hover{background:#f5f5f5;border-color:#bbb}.task-widget-editable-field{margin-bottom:8px;padding:4px;border-radius:4px;cursor:pointer;transition:background-color .2s}.task-widget-editable-field:hover{background-color:#f5f5f5}.task-widget-field-label{font-weight:500;font-size:12px;color:#666;margin-right:8px;display:inline-block;min-width:80px}.task-widget-field-value{color:#333;font-size:14px}.task-widget-field-input{padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:100%;max-width:300px}.task-widget-status-container{display:flex;align-items:center;margin-bottom:8px}.task-widget-status-label{font-weight:500;font-size:12px;color:#666;margin-right:8px;min-width:80px}.task-widget-status-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.task-widget-status-toggle:hover{opacity:.8;transform:scale(1.05)}.task-widget-child{margin-left:16px;margin-top:8px;padding:8px;background:#f9f9f9;border-radius:4px;border-left:3px solid #ddd}.task-widget-child-text{margin:0;font-size:13px;color:#666;white-space:pre-wrap}.task-widget-child-type{display:inline-block;margin-top:4px;font-size:11px;color:#999;text-transform:uppercase}.task-widget-dates-container,.task-widget-dates-list{margin-bottom:8px}.task-widget-date-item{display:flex;gap:8px;align-items:center;margin-bottom:4px}.task-widget-date-label-input{padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:120px}.task-widget-date-input{padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;flex:1;max-width:200px}.task-widget-date-remove{padding:4px 8px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:16px;color:#d32f2f;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.task-widget-date-remove:hover{background:#ffebee;border-color:#d32f2f}.task-widget-add-date-button{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;color:#666}.task-widget-add-date-button:hover{background:#f5f5f5;border-color:#bbb}.task-calendar-widget{width:100%;padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:8px 0}.calendar-nav-button{background:transparent;border:1px solid #ddd;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:18px;color:#333;transition:background-color .2s}.calendar-nav-button:hover{background-color:#f5f5f5}.calendar-month-year{display:flex;align-items:center;gap:12px;flex:1;justify-content:center}.calendar-view-toggle{display:flex;gap:4px;margin-left:12px}.calendar-view-button{background:transparent;border:1px solid #ddd;border-radius:4px;padding:4px 12px;cursor:pointer;font-size:12px;color:#666;transition:background-color .2s,border-color .2s}.calendar-view-button:hover{background-color:#f5f5f5}.calendar-view-button.active{background-color:#007bff;color:#fff;border-color:#007bff}.calendar-today-button{background:#007bff;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:14px;transition:background-color .2s}.calendar-today-button:hover{background-color:#0056b3}.calendar-month-title{font-size:18px;font-weight:600;color:#333;min-width:150px;text-align:center}.calendar-layout{display:flex;gap:16px;align-items:flex-start}.calendar-grid{flex:1;min-width:0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:4px}.calendar-weekday{padding:8px;text-align:center;font-weight:600;font-size:12px;color:#666;text-transform:uppercase;background-color:#f8f9fa}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:#e9ecef;border:1px solid #e9ecef}.calendar-days.week-view{min-height:calc(100vh - 300px);height:calc(100vh - 300px)}.calendar-day.week-view{min-height:calc((100vh - 300px) / 7);height:calc((100vh - 300px) / 7)}.calendar-days-year{grid-template-columns:repeat(4,1fr);gap:8px}.calendar-month-cell{background-color:#fff;border:1px solid #e9ecef;border-radius:4px;padding:8px;display:flex;flex-direction:column}.calendar-month-cell-header{font-weight:600;font-size:14px;color:#333;margin-bottom:8px;text-align:center;padding-bottom:4px;border-bottom:1px solid #e9ecef}.calendar-month-cell-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;flex:1}.calendar-month-day{min-height:24px;display:flex;align-items:center;justify-content:space-between;padding:2px 4px;border-radius:2px;cursor:pointer;font-size:11px;transition:background-color .2s}.calendar-month-day:hover{background-color:#f8f9fa}.calendar-month-day.calendar-day-today{background-color:#e3f2fd;font-weight:600}.calendar-day{min-height:100px;background-color:#fff;padding:4px;display:flex;flex-direction:column;cursor:default;transition:background-color .2s,border-color .2s;width:100%;min-width:0}.calendar-day:hover{background-color:#f8f9fa}.calendar-day-drag-over{background-color:#e3f2fd!important;border:2px dashed #2196f3!important}.calendar-day-other-month{background-color:#f8f9fa;opacity:.6}.calendar-day-today{background-color:#e3f2fd;border:2px solid #2196f3}.calendar-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.calendar-day-number{font-weight:600;font-size:14px;color:#333}.calendar-day-today .calendar-day-number{color:#2196f3;font-weight:700}.calendar-day-count{background-color:#007bff;color:#fff;border-radius:10px;padding:2px 6px;font-size:11px;font-weight:600;min-width:20px;text-align:center}.calendar-day-tasks{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.calendar-task-item{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:3px;cursor:pointer;font-size:11px;transition:background-color .2s;overflow:hidden;min-width:0}.calendar-task-item:hover{background-color:#e9ecef}.calendar-task-status{flex-shrink:0;font-size:10px}.task-todo .calendar-task-status{color:#666}.task-done .calendar-task-status{color:#28a745}.calendar-task-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333;min-width:0}.task-done .calendar-task-name{text-decoration:line-through;color:#999}.calendar-task-more{font-size:10px;color:#666;padding:2px 4px;font-style:italic}.calendar-legend{display:flex;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #e9ecef;font-size:12px}.calendar-legend-item{display:flex;align-items:center;gap:6px;color:#666}.calendar-legend-item .calendar-task-status{font-size:12px}.task-bank{width:280px;flex-shrink:0;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px;max-height:calc(100vh - 200px);display:flex;flex-direction:column}.task-bank-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #dee2e6}.task-bank-title{font-size:14px;font-weight:600;color:#333;margin:0}.task-bank-count{background-color:#007bff;color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;min-width:24px;text-align:center}.task-bank-empty{padding:24px;text-align:center;color:#999;font-size:13px}.task-bank-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.task-bank-item{display:flex;align-items:center;gap:8px;padding:8px;background-color:#fff;border:1px solid #e9ecef;border-radius:4px;cursor:grab;transition:background-color .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.task-bank-item:hover{background-color:#f8f9fa;box-shadow:0 2px 4px #0000001a}.task-bank-item:active{cursor:grabbing;box-shadow:0 4px 8px #00000026}.task-bank-status{flex-shrink:0;font-size:14px;width:16px;text-align:center}.task-todo .task-bank-status{color:#666}.task-done .task-bank-status{color:#28a745}.task-bank-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333;font-size:13px}.task-done .task-bank-name{text-decoration:line-through;color:#999}@media (max-width: 1024px){.calendar-layout{flex-direction:column}.task-bank{width:100%;max-height:300px}}.image-gallery-error{padding:20px;text-align:center;color:#c62828}.image-gallery-error button{margin-top:12px;padding:8px 16px;background:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer}.image-gallery-error button:hover{background:#1565c0}.app{display:flex;flex-direction:column;height:100vh;width:100vw;background:#fff}.unified-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#fff;flex-shrink:0;height:48px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-section{display:flex;align-items:center;gap:4px}.toolbar-button{padding:6px 12px;border:none;background:transparent;cursor:pointer;font-size:14px;transition:all .2s;color:#333;display:inline-flex;align-items:center;justify-content:center}.toolbar-button:hover{background:#f5f5f5}.toolbar-button:active{background:#eee}.toolbar-select{padding:6px 12px;border:none;background:transparent;cursor:pointer;font-size:14px;color:#333}.toolbar-select:hover{background:#f5f5f5}.toolbar-divider{width:1px;height:20px;background:#e0e0e0;margin:0 4px}.flashcard-button{background:#9c27b0;color:#fff;border-color:#9c27b0}.flashcard-button:hover{background:#7b1fa2;border-color:#7b1fa2}.export-button{background:#1976d2;color:#fff}.export-button:hover{background:#1565c0}.tag-filter-tag{padding:4px 10px;border:none;background:#f5f5f5;border-radius:4px;cursor:pointer;font-size:12px;color:#333;transition:all .2s;font-weight:500}.tag-filter-tag:hover{background:#e0e0e0}.tag-filter-tag.active{background:#1976d2;color:#fff}.app-main{display:flex;flex:1;min-height:0;overflow:hidden;height:100vh;position:relative}.editor-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.editor-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;min-height:0}.editor-scroll-wrapper{flex:1;overflow:auto;min-height:0;display:flex;flex-direction:column;position:relative}.editor-content{flex:1;min-height:0;display:flex}.editor-formatting-group{display:flex;gap:4px;align-items:center}.editor-filter-mode{display:flex;gap:4px}.local-doc-warning-banner{background:#fff3cd;border-bottom:1px solid #ffc107;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px}.local-doc-warning-content{display:flex;align-items:center;gap:8px;color:#856404;font-size:13px;flex:1}.local-doc-warning-content svg{flex-shrink:0;color:#ff9800}.local-doc-warning-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.local-doc-warning-button{padding:6px 12px;border:1px solid #ffc107;background:#fff;color:#856404;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.local-doc-warning-button:hover{background:#fff8e1;border-color:#ff9800}.local-doc-warning-button.primary{background:#ff9800;color:#fff;border-color:#ff9800}.local-doc-warning-button.primary:hover{background:#f57c00;border-color:#f57c00}.toolbar-button.active{background:#1976d2;color:#fff}.document-filter-panel{padding:12px 16px;display:flex;flex-direction:column;gap:12px;background:#fff;flex-shrink:0;position:sticky;top:0;z-index:10;border-bottom:1px solid #e0e0e0}.document-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.document-filter-input{flex:1;min-width:180px;padding:6px 12px;border:none;background:#f5f5f5;border-radius:4px;font-size:14px}.document-filter-input:focus{outline:none;background:#eee}.document-filter-actions{display:flex;align-items:center;gap:8px}.document-filter-scope{display:flex;align-items:center;gap:6px;font-size:13px;color:#555}.document-filter-tags{display:flex;flex-direction:column;gap:8px}.document-filter-special{display:flex;gap:6px}.document-filter-taglist{display:flex;flex-wrap:wrap;gap:6px}.document-filter-empty{font-size:13px;color:#777}.view-mode-controls{padding:12px 16px;background:#fff;display:flex;flex-direction:column;gap:12px}.view-scope{display:flex;align-items:center;gap:8px;font-size:13px;color:#555}.view-tag-panel{display:flex;flex-direction:column;gap:8px}.collaboration-controls{display:flex;align-items:center;gap:8px}.collaboration-status{display:flex;align-items:center;gap:4px;font-size:14px;cursor:default;padding:4px 8px;background:#f0f0f0;border-radius:4px}.collaboration-status.connected{background:#e8f5e9}.collaboration-status.disconnected{background:#ffebee}.collaboration-user-count{font-size:12px;color:#666;font-weight:500}.collaboration-button{background:#4caf50!important;color:#fff!important}.collaboration-button:hover{background:#43a047!important}.collaboration-button-stop{background:#f44336!important;color:#fff!important}.collaboration-button-stop:hover{background:#d32f2f!important}.auth-loading{color:#999;font-size:14px;padding:6px 12px}.user-menu{display:flex;align-items:center;gap:8px}.user-email{font-size:13px;color:#666;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-button{background:#1976d2!important;color:#fff!important}.auth-button:hover{background:#1565c0!important}.tl-container{font-size:12px;--tl-space-1: 2px;--tl-space-2: 4px;--tl-space-3: 8px;--tl-space-4: 12px;--tl-space-5: 16px;--tl-space-6: 20px;--tl-space-7: 28px;--tl-space-8: 32px;--tl-space-9: 64px;--tl-space-10: 72px;--tl-radius-0: 2px;--tl-radius-1: 4px;--tl-radius-2: 6px;--tl-radius-3: 9px;--tl-radius-4: 11px;--tl-layer-canvas-hidden: -999999;--tl-layer-canvas-background: 100;--tl-layer-canvas-grid: 150;--tl-layer-watermark: 200;--tl-layer-canvas-shapes: 300;--tl-layer-canvas-overlays: 500;--tl-layer-canvas-in-front: 600;--tl-layer-canvas-blocker: 10000;--tl-layer-overlays-collaborator-scribble: 10;--tl-layer-overlays-collaborator-brush: 20;--tl-layer-overlays-collaborator-shape-indicator: 30;--tl-layer-overlays-user-scribble: 40;--tl-layer-overlays-user-brush: 50;--tl-layer-overlays-user-snapline: 90;--tl-layer-overlays-selection-fg: 100;--tl-layer-overlays-user-handles: 105;--tl-layer-overlays-user-indicator-hint: 110;--tl-layer-overlays-custom: 115;--tl-layer-overlays-collaborator-cursor-hint: 120;--tl-layer-overlays-collaborator-cursor: 130;--tl-layer-text-container: 1;--tl-layer-text-content: 3;--tl-layer-text-editor: 4;--tl-layer-error-overlay: 1;--tl-layer-error-canvas: 2;--tl-layer-error-canvas-after: 3;--tl-layer-error-content: 4;--tl-zoom: 1;--tl-cursor-none: none;--tl-cursor-default: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m12 24.4219v-16.015l11.591 11.619h-6.781l-.411.124z' fill='white'/><path d='m21.0845 25.0962-3.605 1.535-4.682-11.089 3.686-1.553z' fill='white'/><path d='m19.751 24.4155-1.844.774-3.1-7.374 1.841-.775z' fill='black'/><path d='m13 10.814v11.188l2.969-2.866.428-.139h4.768z' fill='black'/></g></svg>") 12 8, default;--tl-cursor-pointer: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m13.3315 21.3799c-.284-.359-.629-1.093-1.243-1.984-.348-.504-1.211-1.453-1.468-1.935-.223-.426-.199-.617-.146-.97.094-.628.738-1.117 1.425-1.051.519.049.959.392 1.355.716.239.195.533.574.71.788.163.196.203.277.377.509.23.307.302.459.214.121-.071-.496-.187-1.343-.355-2.092-.128-.568-.159-.657-.281-1.093-.129-.464-.195-.789-.316-1.281-.084-.348-.235-1.059-.276-1.459-.057-.547-.087-1.439.264-1.849.275-.321.906-.418 1.297-.22.512.259.803 1.003.936 1.3.239.534.387 1.151.516 1.961.164 1.031.466 2.462.476 2.763.024-.369-.068-1.146-.004-1.5.058-.321.328-.694.666-.795.286-.085.621-.116.916-.055.313.064.643.288.766.499.362.624.369 1.899.384 1.831.086-.376.071-1.229.284-1.584.14-.234.497-.445.687-.479.294-.052.655-.068.964-.008.249.049.586.345.677.487.218.344.342 1.317.379 1.658.015.141.074-.392.293-.736.406-.639 1.843-.763 1.898.639.025.654.02.624.02 1.064 0 .517-.012.828-.04 1.202-.031.4-.117 1.304-.242 1.742-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.191 1.813-.118.562-.079.566-.102.965-.023.398.121.922.121.922s-.802.104-1.234.035c-.391-.063-.875-.841-1-1.079-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.031-3.139.02 0 0 .185-1.011-.227-1.358-.305-.259-.83-.784-1.144-1.06z' fill='white'/><g stroke='black' stroke-linecap='round' stroke-width='.75'><path d='m13.3315 21.3799c-.284-.359-.629-1.093-1.243-1.984-.348-.504-1.211-1.453-1.468-1.935-.223-.426-.199-.617-.146-.97.094-.628.738-1.117 1.425-1.051.519.049.959.392 1.355.716.239.195.533.574.71.788.163.196.203.277.377.509.23.307.302.459.214.121-.071-.496-.187-1.343-.355-2.092-.128-.568-.159-.657-.281-1.093-.129-.464-.195-.789-.316-1.281-.084-.348-.235-1.059-.276-1.459-.057-.547-.087-1.439.264-1.849.275-.321.906-.418 1.297-.22.512.259.803 1.003.936 1.3.239.534.387 1.151.516 1.961.164 1.031.466 2.462.476 2.763.024-.369-.068-1.146-.004-1.5.058-.321.328-.694.666-.795.286-.085.621-.116.916-.055.313.064.643.288.766.499.362.624.369 1.899.384 1.831.086-.376.071-1.229.284-1.584.14-.234.497-.445.687-.479.294-.052.655-.068.964-.008.249.049.586.345.677.487.218.344.342 1.317.379 1.658.015.141.074-.392.293-.736.406-.639 1.843-.763 1.898.639.025.654.02.624.02 1.064 0 .517-.012.828-.04 1.202-.031.4-.117 1.304-.242 1.742-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.191 1.813-.118.562-.079.566-.102.965-.023.398.121.922.121.922s-.802.104-1.234.035c-.391-.063-.875-.841-1-1.079-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.031-3.139.02 0 0 .185-1.011-.227-1.358-.305-.259-.83-.784-1.144-1.06z' stroke-linejoin='round'/><path d='m21.5664 21.7344v-3.459'/><path d='m19.5508 21.7461-.016-3.473'/><path d='m17.5547 18.3047.021 3.426'/></g></g></svg>") 14 10, pointer;--tl-cursor-cross: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m25 16h-6.01v-6h-2.98v6h-6.01v3h6.01v6h2.98v-6h6.01z' fill='white'/><path d='m23.9902 17.0103h-6v-6.01h-.98v6.01h-6v.98h6v6.01h.98v-6.01h6z' fill='%23231f1f'/></g></svg>") 16 16, crosshair;--tl-cursor-move: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m19 14h1v1h-1zm1 6h-1v-1h1zm-5-5h-1v-1h1zm0 5h-1v-1h1zm2-10.987-7.985 7.988 5.222 5.221 2.763 2.763 7.984-7.985z' fill='white'/><g fill='black'><path d='m23.5664 16.9971-2.557-2.809v1.829h-4.009-4.001v-1.829l-2.571 2.809 2.572 2.808-.001-1.808h4.001 4.009l-.001 1.808z'/><path d='m17.9873 17h.013v-4.001l1.807.001-2.807-2.571-2.809 2.57h1.809v4.001h.008v4.002l-1.828-.001 2.807 2.577 2.805-2.576h-1.805z'/></g></g></svg>") 16 16, move;--tl-cursor-grab: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m13.5557 17.5742c-.098-.375-.196-.847-.406-1.552-.167-.557-.342-.859-.47-1.233-.155-.455-.303-.721-.496-1.181-.139-.329-.364-1.048-.457-1.44-.119-.509.033-.924.244-1.206.253-.339.962-.49 1.357-.351.371.13.744.512.916.788.288.46.357.632.717 1.542.393.992.564 1.918.611 2.231l.085.452c-.001-.04-.043-1.122-.044-1.162-.035-1.029-.06-1.823-.038-2.939.002-.126.064-.587.084-.715.078-.5.305-.8.673-.979.412-.201.926-.215 1.401-.017.423.173.626.55.687 1.022.014.109.094.987.093 1.107-.013 1.025.006 1.641.015 2.174.004.231.003 1.625.017 1.469.061-.656.094-3.189.344-3.942.144-.433.405-.746.794-.929.431-.203 1.113-.07 1.404.243.285.305.446.692.482 1.153.032.405-.019.897-.02 1.245 0 .867-.021 1.324-.037 2.121-.001.038-.015.298.023.182.094-.28.188-.542.266-.745.049-.125.241-.614.359-.859.114-.234.211-.369.415-.688.2-.313.415-.448.668-.561.54-.235 1.109.112 1.301.591.086.215.009.713-.028 1.105-.061.647-.254 1.306-.352 1.648-.128.447-.274 1.235-.34 1.601-.072.394-.234 1.382-.359 1.82-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.192 1.812-.117.563-.078.567-.101.965-.024.399.121.923.121.923s-.802.104-1.234.034c-.391-.062-.875-.841-1-1.078-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.03-3.139.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.284-.36-.629-1.093-1.243-1.985-.348-.504-1.027-1.085-1.284-1.579-.223-.425-.331-.954-.19-1.325.225-.594.675-.897 1.362-.832.519.05.848.206 1.238.537.225.19.573.534.75.748.163.195.203.276.377.509.23.307.302.459.214.121' fill='white'/><g stroke='black' stroke-linecap='round' stroke-width='.75'><path d='m13.5557 17.5742c-.098-.375-.196-.847-.406-1.552-.167-.557-.342-.859-.47-1.233-.155-.455-.303-.721-.496-1.181-.139-.329-.364-1.048-.457-1.44-.119-.509.033-.924.244-1.206.253-.339.962-.49 1.357-.351.371.13.744.512.916.788.288.46.357.632.717 1.542.393.992.564 1.918.611 2.231l.085.452c-.001-.04-.043-1.122-.044-1.162-.035-1.029-.06-1.823-.038-2.939.002-.126.064-.587.084-.715.078-.5.305-.8.673-.979.412-.201.926-.215 1.401-.017.423.173.626.55.687 1.022.014.109.094.987.093 1.107-.013 1.025.006 1.641.015 2.174.004.231.003 1.625.017 1.469.061-.656.094-3.189.344-3.942.144-.433.405-.746.794-.929.431-.203 1.113-.07 1.404.243.285.305.446.692.482 1.153.032.405-.019.897-.02 1.245 0 .867-.021 1.324-.037 2.121-.001.038-.015.298.023.182.094-.28.188-.542.266-.745.049-.125.241-.614.359-.859.114-.234.211-.369.415-.688.2-.313.415-.448.668-.561.54-.235 1.109.112 1.301.591.086.215.009.713-.028 1.105-.061.647-.254 1.306-.352 1.648-.128.447-.274 1.235-.34 1.601-.072.394-.234 1.382-.359 1.82-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.192 1.812-.117.563-.078.567-.101.965-.024.399.121.923.121.923s-.802.104-1.234.034c-.391-.062-.875-.841-1-1.078-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.03-3.139.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.284-.36-.629-1.093-1.243-1.985-.348-.504-1.027-1.085-1.284-1.579-.223-.425-.331-.954-.19-1.325.225-.594.675-.897 1.362-.832.519.05.848.206 1.238.537.225.19.573.534.75.748.163.195.203.276.377.509.23.307.302.459.214.121' stroke-linejoin='round'/><path d='m20.5664 21.7344v-3.459'/><path d='m18.5508 21.7461-.016-3.473'/><path d='m16.5547 18.3047.021 3.426'/></g></g></svg>") 16 16, grab;--tl-cursor-grabbing: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m13.5732 12.0361c.48-.178 1.427-.069 1.677.473.213.462.396 1.241.406 1.075.024-.369-.024-1.167.137-1.584.117-.304.347-.59.686-.691.285-.086.62-.116.916-.055.313.064.642.287.765.499.362.623.368 1.899.385 1.831.064-.272.07-1.229.283-1.584.141-.235.497-.445.687-.479.294-.052.656-.068.964-.008.249.049.586.344.677.487.219.344.342 1.316.379 1.658.016.141.074-.393.293-.736.406-.639 1.844-.763 1.898.639.026.654.02.624.02 1.064 0 .516-.012.828-.04 1.202-.03.399-.116 1.304-.241 1.742-.086.301-.371.978-.653 1.384 0 0-1.074 1.25-1.191 1.812-.117.563-.078.567-.102.965-.023.399.121.923.121.923s-.801.104-1.234.034c-.391-.062-.875-.84-1-1.078-.172-.328-.539-.265-.682-.023-.224.383-.709 1.07-1.05 1.113-.669.084-2.055.03-3.14.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.283-.36-1.002-.929-1.243-1.985-.213-.936-.192-1.395.037-1.77.232-.381.67-.589.854-.625.208-.042.692-.039.875.062.223.123.313.159.488.391.23.307.312.456.213.121-.076-.262-.322-.595-.434-.97-.109-.361-.401-.943-.38-1.526.008-.221.103-.771.832-1.042' fill='white'/><g stroke='black' stroke-width='.75'><path d='m13.5732 12.0361c.48-.178 1.427-.069 1.677.473.213.462.396 1.241.406 1.075.024-.369-.024-1.167.137-1.584.117-.304.347-.59.686-.691.285-.086.62-.116.916-.055.313.064.642.287.765.499.362.623.368 1.899.385 1.831.064-.272.07-1.229.283-1.584.141-.235.497-.445.687-.479.294-.052.656-.068.964-.008.249.049.586.344.677.487.219.344.342 1.316.379 1.658.016.141.074-.393.293-.736.406-.639 1.844-.763 1.898.639.026.654.02.624.02 1.064 0 .516-.012.828-.04 1.202-.03.399-.116 1.304-.241 1.742-.086.301-.371.978-.653 1.384 0 0-1.074 1.25-1.191 1.812-.117.563-.078.567-.102.965-.023.399.121.923.121.923s-.801.104-1.234.034c-.391-.062-.875-.84-1-1.078-.172-.328-.539-.265-.682-.023-.224.383-.709 1.07-1.05 1.113-.669.084-2.055.03-3.14.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.283-.36-1.002-.929-1.243-1.985-.213-.936-.192-1.395.037-1.77.232-.381.67-.589.854-.625.208-.042.692-.039.875.062.223.123.313.159.488.391.23.307.312.456.213.121-.076-.262-.322-.595-.434-.97-.109-.361-.401-.943-.38-1.526.008-.221.103-.771.832-1.042z' stroke-linejoin='round'/><path d='m20.5664 19.7344v-3.459' stroke-linecap='round'/><path d='m18.5508 19.7461-.016-3.473' stroke-linecap='round'/><path d='m16.5547 16.3047.021 3.426' stroke-linecap='round'/></g></g></svg>") 16 16, grabbing;--tl-cursor-text: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path fill='white' d='M7.94 0a5.25 5.25 0 0 0-3.47 1.17A5.27 5.27 0 0 0 1 0H0v3h1c1.41 0 1.85.7 2 1v3.94H2v3h1v3c-.13.3-.57 1-2 1H0v3h1a5.27 5.27 0 0 0 3.47-1.17c.98.8 2.21 1.21 3.47 1.17h1v-3h-1c-1.41 0-1.85-.7-2-1v-3H7v-3H6V4c.13-.3.57-1 2-1h1V0H7.94z'/><path fill='black' d='M7.94 2V1a4 4 0 0 0-3.47 1.64A4 4 0 0 0 1 1v1c1.3-.17 2.56.6 3 1.84v5.1H3v1h1v4.16c-.45 1.24-1.7 2-3 1.84v1a4.05 4.05 0 0 0 3.47-1.63 4.05 4.05 0 0 0 3.47 1.63v-1A2.82 2.82 0 0 1 5 14.1V9.93h1v-1H5V3.85A2.81 2.81 0 0 1 7.94 2z'/></g></svg>") 4 10, text;--tl-cursor-zoom-in: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5' fill='white'/><path d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5z' stroke='black'/><g fill='black'><path d='m18 14h-2v-2h-2v2h-2v1.98h2v2.02h2v-2.02h2z'/><path d='m23.5859 25 1.414-1.414-5.449-5.449-1.414 1.414z'/></g></g></svg>") 16 16, zoom-in;--tl-cursor-zoom-out: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5' fill='white'/><path d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5z' stroke='black'/><g fill='black'><path d='m18 16h-5.98v-1.98h5.98z'/><path d='m23.5859 25 1.414-1.414-5.449-5.449-1.414 1.414z'/></g></g></svg>") 16 16, zoom-out;--tl-cursor: var(--tl-cursor-default);--tl-cursor-resize-edge: ew-resize;--tl-cursor-resize-corner: nesw-resize;--tl-cursor-ew-resize: ew-resize;--tl-cursor-ns-resize: ns-resize;--tl-cursor-nesw-resize: nesw-resize;--tl-cursor-nwse-resize: nwse-resize;--tl-cursor-rotate: pointer;--tl-cursor-nwse-rotate: pointer;--tl-cursor-nesw-rotate: pointer;--tl-cursor-senw-rotate: pointer;--tl-cursor-swne-rotate: pointer;--tl-scale: calc(1 / var(--tl-zoom));--tl-font-draw: "tldraw_draw", sans-serif;--tl-font-sans: "tldraw_sans", sans-serif;--tl-font-serif: "tldraw_serif", serif;--tl-font-mono: "tldraw_mono", monospace;--tl-text-outline-a: calc(min(.5, 1 / var(--tl-zoom))*2px) ;--tl-text-outline-b: calc(min(.5, 1 / var(--tl-zoom))*-2px) ;--tl-text-outline-reference: 0 var(--tl-text-outline-b) 0 var(--tl-color-background), 0 var(--tl-text-outline-a) 0 var(--tl-color-background), var(--tl-text-outline-b) var(--tl-text-outline-b) 0 var(--tl-color-background), var(--tl-text-outline-a) var(--tl-text-outline-b) 0 var(--tl-color-background), var(--tl-text-outline-a) var(--tl-text-outline-a) 0 var(--tl-color-background), var(--tl-text-outline-b) var(--tl-text-outline-a) 0 var(--tl-color-background);--tl-text-outline: var(--tl-text-outline-reference);position:relative;top:0;right:0;bottom:0;left:0;height:100%;width:100%;overflow:clip;color:var(--tl-color-text)}.tl-theme__light{--tl-color-snap: hsl(0, 76%, 60%);--tl-color-selection-fill: hsl(210, 100%, 56%, 24%);--tl-color-selection-stroke: hsl(214, 84%, 56%);--tl-color-background: hsl(210, 20%, 98%);--tl-color-brush-fill: hsl(0, 0%, 56%, 10.2%);--tl-color-brush-stroke: hsl(0, 0%, 56%, 25.1%);--tl-color-grid: hsl(0, 0%, 43%);--tl-color-low: hsl(204, 16%, 94%);--tl-color-low-border: hsl(204, 16%, 92%);--tl-color-culled: hsl(204, 14%, 93%);--tl-color-muted-none: hsl(0, 0%, 0%, 0%);--tl-color-muted-0: hsl(0, 0%, 0%, 2%);--tl-color-muted-1: hsl(0, 0%, 0%, 10%);--tl-color-muted-2: hsl(0, 0%, 0%, 4.3%);--tl-color-hint: hsl(0, 0%, 0%, 5.5%);--tl-color-overlay: hsl(0, 0%, 0%, 20%);--tl-color-divider: hsl(0, 0%, 91%);--tl-color-panel: hsl(0, 0%, 99%);--tl-color-panel-contrast: hsl(0, 0%, 100%);--tl-color-panel-overlay: hsl(0, 0%, 100%, 82%);--tl-color-panel-transparent: hsla(0, 0%, 99%, 0%);--tl-color-selected: hsl(214, 84%, 56%);--tl-color-selected-contrast: hsl(0, 0%, 100%);--tl-color-focus: hsl(219, 65%, 50%);--tl-color-tooltip: hsla(200, 14%, 4%, 1);--tl-color-text: hsl(0, 0%, 0%);--tl-color-text-0: hsl(0, 0%, 11%);--tl-color-text-1: hsl(0, 0%, 18%);--tl-color-text-3: hsl(204, 4%, 45%);--tl-color-text-shadow: hsl(0, 0%, 100%);--tl-color-text-highlight: hsl(52, 100%, 50%);--tl-color-text-highlight-p3: color(display-p3 .972 .8205 .05);--tl-color-primary: hsl(214, 84%, 56%);--tl-color-success: hsl(123, 46%, 34%);--tl-color-info: hsl(201, 98%, 41%);--tl-color-warning: hsl(27, 98%, 47%);--tl-color-danger: hsl(0, 90%, 43%);--tl-color-laser: hsl(0, 100%, 50%);--tl-shadow-1: 0px 1px 2px hsl(0, 0%, 0%, 25%), 0px 1px 3px hsl(0, 0%, 0%, 9%);--tl-shadow-2: 0px 0px 2px hsl(0, 0%, 0%, 16%), 0px 2px 3px hsl(0, 0%, 0%, 24%), 0px 2px 6px hsl(0, 0%, 0%, .1), inset 0px 0px 0px 1px var(--tl-color-panel-contrast);--tl-shadow-3: 0px 1px 2px hsl(0, 0%, 0%, 28%), 0px 2px 6px hsl(0, 0%, 0%, 14%), inset 0px 0px 0px 1px var(--tl-color-panel-contrast);--tl-shadow-4: 0px 0px 3px hsl(0, 0%, 0%, 19%), 0px 5px 4px hsl(0, 0%, 0%, 16%), 0px 2px 16px hsl(0, 0%, 0%, 6%), inset 0px 0px 0px 1px var(--tl-color-panel-contrast)}.tl-theme__dark{--tl-color-snap: hsl(0, 76%, 60%);--tl-color-selection-fill: hsl(209, 100%, 57%, 20%);--tl-color-selection-stroke: hsl(214, 84%, 56%);--tl-color-background: hsl(240, 5%, 6.5%);--tl-color-brush-fill: hsl(0, 0%, 71%, 5.1%);--tl-color-brush-stroke: hsl(0, 0%, 71%, 25.1%);--tl-color-grid: hsl(0, 0%, 40%);--tl-color-low: hsl(260, 4.5%, 10.5%);--tl-color-low-border: hsl(207, 10%, 10%);--tl-color-culled: hsl(210, 11%, 19%);--tl-color-muted-none: hsl(0, 0%, 100%, 0%);--tl-color-muted-0: hsl(0, 0%, 100%, 2%);--tl-color-muted-1: hsl(0, 0%, 100%, 10%);--tl-color-muted-2: hsl(0, 0%, 100%, 5%);--tl-color-hint: hsl(0, 0%, 100%, 7%);--tl-color-overlay: hsl(0, 0%, 0%, 50%);--tl-color-divider: hsl(240, 9%, 22%);--tl-color-panel: hsl(235, 6.8%, 13.5%);--tl-color-panel-contrast: hsl(245, 12%, 23%);--tl-color-panel-overlay: hsl(210, 10%, 24%, 82%);--tl-color-panel-transparent: hsla(235, 6.8%, 13.5%, 0%);--tl-color-selected: hsl(217, 89%, 61%);--tl-color-selected-contrast: hsl(0, 0%, 100%);--tl-color-focus: hsl(217, 76%, 80%);--tl-color-tooltip: hsla(0, 0%, 100%, 1);--tl-color-text: hsl(210, 17%, 98%);--tl-color-text-0: hsl(0, 9%, 94%);--tl-color-text-1: hsl(0, 0%, 85%);--tl-color-text-3: hsl(204, 4%, 75%);--tl-color-text-shadow: hsl(210, 13%, 18%);--tl-color-text-highlight: hsl(52, 100%, 41%);--tl-color-text-highlight-p3: color(display-p3 .8078 .6225 .0312);--tl-color-primary: hsl(214, 84%, 56%);--tl-color-success: hsl(123, 38%, 57%);--tl-color-info: hsl(199, 92%, 56%);--tl-color-warning: hsl(36, 100%, 57%);--tl-color-danger: hsl(0, 82%, 66%);--tl-color-laser: hsl(0, 100%, 50%);--tl-shadow-1: 0px 1px 2px hsl(0, 0%, 0%, 16.1%), 0px 1px 3px hsl(0, 0%, 0%, 22%), inset 0px 0px 0px 1px var(--tl-color-panel-contrast);--tl-shadow-2: 0px 1px 3px hsl(0, 0%, 0%, 66.6%), 0px 2px 6px hsl(0, 0%, 0%, 33%), inset 0px 0px 0px 1px var(--tl-color-panel-contrast);--tl-shadow-3: 0px 1px 3px hsl(0, 0%, 0%, 50%), 0px 2px 12px hsl(0, 0%, 0%, 50%), inset 0px 0px 0px 1px var(--tl-color-panel-contrast)}.tl-counter-scaled{transform:scale(var(--tl-scale));transform-origin:top left;width:calc(100% * var(--tl-zoom));height:calc(100% * var(--tl-zoom))}.tl-container,.tl-container *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;scrollbar-highlight-color:transparent;-webkit-user-select:none;user-select:none;box-sizing:border-box;outline:none}.tl-container a{-webkit-touch-callout:initial}.tl-container__focused{outline:1px solid var(--tl-color-low)}input,*[contenteditable],*[contenteditable] *{-webkit-user-select:text;user-select:text}.tl-canvas{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;color:var(--tl-color-text);cursor:var(--tl-cursor);overflow:clip;content-visibility:auto;touch-action:none;contain:strict}.tl-canvas__in-front{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--tl-layer-canvas-in-front)}.tl-shapes{position:relative;z-index:var(--tl-layer-canvas-shapes)}.tl-overlays{position:absolute;top:0;left:0;height:100%;width:100%;contain:strict;pointer-events:none;z-index:var(--tl-layer-canvas-overlays)}.tl-overlays__item{position:absolute;top:0;left:0;overflow:visible;pointer-events:none;transform-origin:top left}.tl-svg-context{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.tl-background__wrapper{z-index:var(--tl-layer-canvas-background);position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%}.tl-background{background-color:var(--tl-color-background);width:100%;height:100%}.tl-grid{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;pointer-events:none;z-index:var(--tl-layer-canvas-grid);contain:strict}.tl-grid-dot{fill:var(--tl-color-grid)}.tl-html-layer{position:absolute;top:0;left:0;width:1px;height:1px;contain:layout style size}.tl-collaborator__scribble{z-index:var(--tl-layer-overlays-collaborator-scribble)}.tl-collaborator__brush{z-index:var(--tl-layer-overlays-collaborator-brush)}.tl-collaborator__shape-indicator{z-index:var(--tl-layer-overlays-collaborator-shape-indicator)}.tl-user-scribble{z-index:var(--tl-layer-overlays-user-scribble)}.tl-user-brush{z-index:var(--tl-layer-overlays-user-brush)}.tl-user-handles{z-index:var(--tl-layer-overlays-user-handles)}.tl-user-snapline{z-index:var(--tl-layer-overlays-user-snapline)}.tl-selection__fg{pointer-events:none;z-index:var(--tl-layer-overlays-selection-fg)}.tl-user-indicator__hint{z-index:var(--tl-layer-overlays-user-indicator-hint);stroke-width:calc(2.5px * var(--tl-scale))}.tl-custom-overlays{z-index:var(--tl-layer-overlays-custom)}.tl-collaborator__cursor-hint{z-index:var(--tl-layer-overlays-collaborator-cursor-hint)}.tl-collaborator__cursor{z-index:var(--tl-layer-overlays-collaborator-cursor)}.tl-cursor{overflow:visible}.tl-selection__bg{position:absolute;top:0;left:0;transform-origin:top left;background-color:transparent;pointer-events:all}.tl-selection__fg__outline{fill:none;pointer-events:none;stroke:var(--tl-color-selection-stroke);stroke-width:calc(1.5px * var(--tl-scale))}.tl-corner-handle{pointer-events:none;stroke:var(--tl-color-selection-stroke);fill:var(--tl-color-background);stroke-width:calc(1.5px * var(--tl-scale))}.tl-text-handle{pointer-events:none;fill:var(--tl-color-selection-stroke)}.tl-corner-crop-handle,.tl-corner-crop-edge-handle{pointer-events:none;fill:none;stroke:var(--tl-color-selection-stroke)}.tl-mobile-rotate__bg{pointer-events:all;cursor:var(--tl-cursor-grab)}.tl-mobile-rotate__fg{pointer-events:none;stroke:var(--tl-color-selection-stroke);fill:var(--tl-color-background);stroke-width:calc(1.5px * var(--tl-scale))}.tl-transparent{fill:transparent;stroke:transparent}.tl-hidden{opacity:0;pointer-events:none}.tl-nametag{top:16px;left:13px;width:fit-content;height:fit-content;max-width:120px;padding:3px 6px;white-space:nowrap;position:absolute;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-family:var(--font-body);border-radius:var(--tl-radius-2);color:var(--tl-color-selected-contrast)}.tl-nametag-title{top:-2px;left:13px;width:fit-content;height:fit-content;padding:0 6px;max-width:120px;white-space:nowrap;position:absolute;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-family:var(--font-body);text-shadow:var(--tl-text-outline);color:var(--tl-color-selected-contrast)}.tl-nametag-chat{top:16px;left:13px;width:fit-content;height:fit-content;color:var(--tl-color-selected-contrast);white-space:nowrap;position:absolute;padding:3px 6px;font-size:12px;font-family:var(--font-body);opacity:1;border-radius:var(--tl-radius-2)}.tl-cursor-chat{position:absolute;color:var(--tl-color-selected-contrast);white-space:nowrap;padding:3px 6px;font-size:12px;font-family:var(--font-body);pointer-events:none;z-index:var(--tl-layer-cursor);margin-top:16px;margin-left:13px;opacity:1;border:none;-webkit-user-select:text;user-select:text;border-radius:var(--tl-radius-2)}.tl-cursor-chat .tl-cursor-chat__bubble{padding-right:12px}.tl-cursor-chat::selection{background:var(--tl-color-selected);color:var(--tl-color-selected-contrast);text-shadow:none}.tl-cursor-chat::placeholder{color:var(--tl-color-selected-contrast);opacity:.7}.tl-text-shape-label{position:relative;font-weight:400;min-width:1px;padding:0;margin:0;border:none;width:fit-content;height:fit-content;font-variant:normal;font-style:normal;pointer-events:all;white-space:pre-wrap;overflow-wrap:break-word;text-shadow:var(--tl-text-outline)}.tl-text-wrapper[data-font=draw]{font-family:var(--tl-font-draw)}.tl-text-wrapper[data-font=sans]{font-family:var(--tl-font-sans)}.tl-text-wrapper[data-font=serif]{font-family:var(--tl-font-serif)}.tl-text-wrapper[data-font=mono]{font-family:var(--tl-font-mono)}.tl-text-wrapper[data-align=start],.tl-text-wrapper[data-align=start-legacy]{text-align:left}.tl-text-wrapper[data-align=middle],.tl-text-wrapper[data-align=middle-legacy]{text-align:center}.tl-text-wrapper[data-align=end],.tl-text-wrapper[data-align=end-legacy]{text-align:right}.tl-plain-text-wrapper[data-isediting=true] .tl-text-content{opacity:0}.tl-rich-text-wrapper[data-isediting=true] .tl-text-content{display:none}.tl-text{margin:0;padding:0;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:none;border-image:none;border:0px;caret-color:var(--tl-color-text);color:inherit;column-count:initial!important;display:inline-block;font-family:inherit;font-feature-settings:normal;font-kerning:auto;font-optical-sizing:auto;font-size:inherit;font-stretch:100%;font-style:inherit;font-variant:inherit;font-variation-settings:normal;font-weight:inherit;letter-spacing:inherit;line-height:inherit;outline:none;overflow-wrap:break-word;text-align:inherit;text-indent:0px;text-rendering:auto;text-shadow:inherit;text-transform:none;white-space:pre-wrap;line-break:normal;word-spacing:0px;word-wrap:break-word;writing-mode:horizontal-tb!important}.tl-text-measure{z-index:var(--tl-layer-canvas-hidden);opacity:0;visibility:hidden;position:absolute;top:0;left:0;width:max-content;box-sizing:border-box;pointer-events:none;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;resize:none;border:none;user-select:none;contain:style paint;unicode-bidi:plaintext;-webkit-user-select:none}.tl-text-input,.tl-text-content{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;min-width:1px;min-height:1px;outline:none}.tl-text-content__wrapper{position:relative;width:fit-content;height:fit-content;display:flex;align-items:center;justify-content:center;pointer-events:none;min-height:auto}.tl-text-content{overflow:visible;pointer-events:none}.tl-text-input{resize:none;user-select:all;-webkit-user-select:text;cursor:var(--tl-cursor-text)}.tl-text-input:not(.tl-rich-text){overflow:hidden}.tl-text-input::selection{background:var(--tl-color-selected);color:var(--tl-color-selected-contrast);text-shadow:none}.tl-text-label{display:flex;justify-content:center;align-items:center;color:var(--tl-color-text);text-shadow:var(--tl-text-outline);line-height:inherit;position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%}.tl-text-label[data-hastext=false][data-isediting=false]>.tl-text-label__inner{width:40px;height:40px}.tl-text-label[data-hastext=true][data-isediting=false] .tl-text-content{pointer-events:all}.tl-text-label__inner>.tl-text-input.tl-rich-text{display:none;position:static}.tl-text-wrapper[data-isediting=false] .tl-text-input{opacity:0;cursor:var(--tl-cursor-default)}.tl-rich-text[data-is-ready-for-editing=true],.tl-text-wrapper[data-is-ready-for-editing=true] .tl-text-input{cursor:var(--tl-cursor-text)}.tl-text-label[data-textwrap=true]>.tl-text-label__inner{max-width:100%}.tl-text-label[data-isediting=true]{background-color:transparent;min-height:auto}.tl-text-wrapper .tl-text-content{pointer-events:all;z-index:var(--tl-layer-text-content)}.tl-text-label__inner>.tl-text-content{position:relative;top:0;left:0;padding:inherit;height:fit-content;width:fit-content;border-radius:var(--tl-radius-1);max-width:100%}.tl-text-label__inner>.tl-text-input{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;padding:inherit}.tl-text-wrapper[data-isselected=true] .tl-text-input{z-index:var(--tl-layer-text-editor);pointer-events:all}.tl-canvas:is([data-iseditinganything=true],[data-isselectinganything=true]) .tl-shape:not([data-shape-type=arrow],[data-shape-type=draw],[data-shape-type=line],[data-shape-type=highlight],[data-shape-is-filled=false]){pointer-events:all}.tl-rich-text .ProseMirror{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:inherit;font-variant-ligatures:inherit;font-feature-settings:inherit}.tl-rich-text p{margin:0;min-height:1lh}.tl-rich-text ul,.tl-rich-text ol{text-align:left;margin:0;padding-left:3.25ch;list-style:revert}.tl-rich-text ol:has(>li:nth-child(10)){padding-left:4.25ch}.tl-rich-text ol:has(>li:nth-child(100)){padding-left:5.25ch}.tl-rich-text h1,.tl-rich-text h2,.tl-rich-text h3,.tl-rich-text h4,.tl-rich-text h5,.tl-rich-text h6{margin-top:5px;margin-bottom:10px}.tl-rich-text a{color:var(--tl-color-primary);text-decoration:underline}.tl-rich-text[data-is-select-tool-active=false] a{cursor:inherit}.tl-rich-text code{font-family:var(--tl-font-mono)}.tl-rich-text mark{background-color:#fddd00;color:currentColor;border-radius:2px}.tl-theme__light .tl-rich-text mark{text-shadow:none}.tl-theme__dark .tl-rich-text mark{background-color:var(--tl-color-text-highlight);color:currentColor}@supports (color: color(display-p3 1 1 1)){@media (color-gamut: p3){.tl-container:not(.tl-theme__force-sRGB) .tl-rich-text mark{background-color:var(--tl-color-text-highlight-p3)}}}.tl-text-wrapper[data-isediting=true] .tl-rich-text{display:block}.tl-loading{background-color:var(--tl-color-background);color:var(--tl-color-text-1);height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--tl-space-2);font-size:14px;font-weight:500;opacity:0;animation:tl-fade-in .2s ease-in-out forwards;animation-delay:.2s;position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--tl-layer-canvas-blocker)}@keyframes tl-fade-in{0%{opacity:0}to{opacity:1}}.tl-spinner{animation:tl-spin 1s linear infinite}@keyframes tl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tl-brush{stroke-width:calc(var(--tl-scale) * 1px);contain:size layout}.tl-brush__default{stroke:var(--tl-color-brush-stroke);fill:var(--tl-color-brush-fill)}.tl-scribble{stroke-linejoin:round;stroke-linecap:round;pointer-events:none;contain:size layout}.tl-snap-indicator,.tl-snap-point{stroke:var(--tl-color-snap);stroke-width:calc(1px * var(--tl-scale));fill:none}.tl-hyperlink-button{background:none;margin:0;position:absolute;top:0;right:0;height:44px;width:44px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:400;color:var(--tl-color-text-1);padding:13px;cursor:var(--tl-cursor-pointer);border:none;outline:none;pointer-events:all;z-index:1}.tl-hyperlink-button:after{content:"";z-index:-1;position:absolute;right:6px;bottom:6px;display:block;width:calc(100% - 12px);height:calc(100% - 12px);border-radius:var(--tl-radius-1);background-color:var(--tl-color-background);pointer-events:none}.tl-hyperlink-button:focus-visible{color:var(--tl-color-selected)}.tl-hyperlink__icon{width:15px;height:15px;background-color:currentColor;pointer-events:none}.tl-hyperlink-button__hidden{display:none}.tl-handle{pointer-events:all}.tl-handle__bg{fill:transparent;stroke:transparent;pointer-events:all}.tl-handle__fg{fill:var(--tl-color-selected-contrast);stroke:var(--tl-color-selection-stroke);stroke-width:calc(1.5px * var(--tl-scale));pointer-events:none}.tl-handle__create{opacity:0}.tl-handle__clone>.tl-handle__fg{fill:var(--tl-color-selection-stroke);stroke:none}.tl-handle__bg:active{fill:none}@media (pointer: coarse){.tl-handle__bg:active{fill:var(--tl-color-selection-fill)}.tl-handle__create{opacity:1}}.tl-rotate-corner:not(:hover),.tl-resize-handle:not(:hover){cursor:none}.tl-shape-indicator{transform-origin:top left;fill:none;stroke-width:calc(1.5px * var(--tl-scale));contain:size layout}.tl-shape{position:absolute;pointer-events:none;overflow:visible;transform-origin:top left;contain:size layout}.tl-svg-container{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:top left;overflow:visible}.tl-html-container{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:top left;color:var(--tl-color-text-1)}.tl-group{stroke:var(--tl-color-text);stroke-width:calc(1px * var(--tl-scale));opacity:.5}.tl-shape[data-shape-type=arrow] .tl-text-label{position:absolute;top:-1px;left:-1px;width:2px;height:2px;padding:0;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--tl-color-text);text-shadow:var(--tl-text-outline)}.tl-shape[data-shape-type=arrow] .tl-text-label__inner{border-radius:var(--tl-radius-1);box-sizing:content-box;height:max-content;width:max-content}.tl-shape[data-shape-type=arrow] .tl-text{height:max-content}.tl-arrow-hint{stroke:var(--tl-color-text-1);fill:none;stroke-linecap:round;overflow:visible}.tl-arrow-hint-handle{fill:var(--tl-color-selected-contrast);stroke:var(--tl-color-selection-stroke);stroke-width:calc(1.5px * var(--tl-scale));r:calc(4px * var(--tl-scale))}.tl-arrow-hint-snap{stroke:transparent;fill:var(--tl-color-selection-fill);r:calc(12px * var(--tl-scale))}.tl-arrow-hint-snap__none,.tl-arrow-hint-snap__center,.tl-arrow-hint-snap__axis{display:none}.tl-arrow-hint-snap__edge{r:calc(8px * var(--tl-scale))}.tl-bookmark__container{width:100%;height:100%;position:relative;border:1px solid var(--tl-color-panel-contrast);background-color:var(--tl-color-panel);border-radius:var(--tl-radius-2);display:flex;flex-direction:column;overflow:hidden}.tl-bookmark__container--safariExport{border:1px solid var(--tl-color-divider)}.tl-bookmark__image_container{flex:1 1 100%;overflow:hidden;border-top-left-radius:var(--tl-radius-1);border-top-right-radius:var(--tl-radius-1);width:100%;height:100%;display:flex;justify-content:flex-end;align-items:flex-start;box-shadow:inset 0 0 0 1px var(--tl-color-divider)}.tl-bookmark__image_container>.tl-hyperlink-button:after{background-color:var(--tl-color-panel)}.tl-bookmark__placeholder{width:100%;height:100%;background-color:var(--tl-color-muted-2);border-bottom:1px solid var(--tl-color-muted-2)}.tl-bookmark__image{width:100%;height:100%;object-fit:cover;object-position:center;border-bottom:1px solid var(--tl-color-muted-2)}.tl-bookmark__copy_container{background-color:var(--tl-color-muted-0);padding:var(--tl-space-4);pointer-events:all;display:flex;flex-direction:column;justify-content:space-between;flex:1}.tl-bookmark__copy_container:has(.tl-bookmark__link:only-child){justify-content:center}.tl-bookmark__heading,.tl-bookmark__description,.tl-bookmark__link{margin:0;width:100%;font-family:inherit}.tl-bookmark__heading{font-size:16px;line-height:1.6;font-weight:700;padding-bottom:var(--tl-space-2);overflow:hidden;max-height:51.2px;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;display:-webkit-box}.tl-bookmark__description{font-size:12px;line-height:1.5;overflow:hidden;max-height:54px;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;text-overflow:ellipsis;display:-webkit-box;color:var(--tl-color-text-1);margin:var(--tl-space-2) 0px}.tl-bookmark__heading+.tl-bookmark__link,.tl-bookmark__description+.tl-bookmark__link{margin-top:var(--tl-space-3)}.tl-bookmark__link{font-size:12px;pointer-events:all;display:flex;color:var(--tl-color-text-1);align-items:center;cursor:var(--tl-cursor-pointer);width:fit-content;max-width:100%;text-decoration:none}.tl-bookmark__link>span{flex-shrink:0px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-bookmark__link>.tl-hyperlink__icon{margin-right:8px;flex-shrink:0}.tl-bookmark__link>.tl-bookmark__favicon{margin-right:8px;width:16px;height:16px;flex-shrink:0}.tl-image,.tl-video{object-fit:cover;background-size:cover;width:100%;height:100%}.tl-video-container,.tl-image-container,.tl-embed-container{width:100%;height:100%;pointer-events:all;display:flex;justify-content:center;align-items:center}.tl-image-container{position:relative}.tl-image{position:absolute;top:0;right:0;bottom:0;left:0}.tl-video.tl-video-is-fullscreen{object-fit:contain;background-size:contain}.tl-note__container{position:relative;width:100%;height:100%;pointer-events:all;opacity:1;z-index:var(--tl-layer-text-container);border-radius:1px}.tl-note__container>.tl-text-label{text-shadow:none;color:currentColor}.tl-frame__body{stroke-width:calc(1px * var(--tl-scale))}.tl-frame__creating{stroke:var(--tl-color-selected);fill:none}.tl-frame-heading{--tl-frame-padding-x: 6px;--tl-frame-height: 24px;--tl-frame-minimum-width: 32px;--tl-frame-offset-width: 16px;display:flex;align-items:center;position:absolute;transform-origin:0% 100%;overflow:hidden;max-width:100%;min-width:var(--tl-frame-minimum-width);height:auto;font-size:12px;padding-bottom:4px;pointer-events:all}.tl-frame-heading-hit-area{pointer-events:all;transform-origin:0% 100%;display:flex;height:var(--tl-frame-height);width:100%;align-items:center;border-radius:var(--tl-radius-1)}.tl-frame-label{pointer-events:all;overflow:hidden;text-overflow:ellipsis;padding:0px var(--tl-frame-padding-x);border-radius:var(--tl-radius-1);position:relative;font-size:inherit;white-space:pre}.tl-frame-label__editing{color:transparent;white-space:pre;width:auto;min-width:var(--tl-frame-minimum-width);height:100%;overflow:visible;background-color:var(--tl-color-panel);border-color:var(--tl-color-selected);box-shadow:inset 0 0 0 1.5px var(--tl-color-selected)}.tl-frame-name-input{position:absolute;border:none;background:none;outline:none;padding:0px var(--tl-frame-padding-x);top:0;right:0;bottom:0;left:0;height:100%;font-size:inherit;font-family:inherit;font-weight:inherit;width:100%;color:var(--tl-color-text-1);border-radius:var(--tl-radius-1);user-select:all;-webkit-user-select:text;white-space:pre;cursor:var(--tl-cursor-text)}@media (max-width: 600px){.tl-frame-heading{font-size:16px}}.tl-embed{border:none;border-radius:var(--tl-radius-2)}.tl-shape-error-boundary{width:100%;height:100%;background-color:var(--tl-color-muted-1);border-width:calc(1px * var(--tl-scale));border-color:var(--tl-color-muted-1);border-style:solid;border-radius:calc(var(--tl-radius-1) * var(--tl-scale));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:left;position:relative;pointer-events:all;overflow:hidden;padding:var(--tl-space-2)}.tl-shape-error-boundary:before{transform:scale(var(--tl-scale));content:"Error";font-size:12px;font-family:inherit;color:var(--tl-color-text-0)}.tl-error-boundary{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--tl-space-4);background-color:var(--tl-color-background);color:var(--tl-color-text-1);position:absolute}.tl-error-boundary__overlay{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:var(--tl-layer-error-overlay);background-color:var(--tl-color-overlay)}.tl-error-boundary__content *{user-select:all;-webkit-user-select:text;pointer-events:all}.tl-error-boundary__canvas{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:var(--tl-layer-error-canvas)}.tl-error-boundary__canvas:after{content:" ";display:block;position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:var(--tl-layer-error-canvas-after);pointer-events:all}.tl-error-boundary__content{width:fit-content;height:fit-content;max-width:100%;width:400px;max-height:100%;background-color:var(--tl-color-panel);padding:16px;border-radius:16px;box-shadow:var(--tl-shadow-2);font-size:14px;font-weight:400;display:flex;flex-direction:column;overflow:auto;z-index:var(--tl-layer-error-content);gap:12px}.tl-error-boundary__content__expanded{width:600px}.tl-error-boundary__content h2{font-size:16px;margin:0;font-weight:500}.tl-error-boundary__content h4{border:1px solid var(--tl-color-low-border);margin:-6px 0 0;padding:var(--tl-space-5);border-radius:var(--tl-radius-2);font-weight:400}.tl-error-boundary__content p{line-height:1.5;margin:0}.tl-error-boundary__content pre{background-color:var(--tl-color-muted-2);margin-top:0;padding:var(--tl-space-5);border-radius:var(--tl-radius-2);overflow:auto;font-size:12px;max-height:320px}.tl-error-boundary__content button{background:none;border:none;font-family:inherit;font-size:14px;font-weight:500;padding:var(--tl-space-4);border-radius:var(--tl-radius-3);cursor:var(--tl-cursor-pointer);color:inherit;background-color:transparent}.tl-error-boundary__content a{color:var(--tl-color-selected);font-weight:500;text-decoration:none}.tl-error-boundary__content__error{position:relative;margin:-6px 0 0}.tl-error-boundary__content__error button{position:absolute;top:var(--tl-space-2);right:var(--tl-space-2);font-size:12px;padding:var(--tl-space-2) var(--tl-space-3);background-color:var(--tl-color-panel);border-radius:var(--tl-radius-1)}.tl-error-boundary__content__actions{display:flex;justify-content:space-between;gap:var(--tl-space-4);margin:0 0 0 -4px}.tl-error-boundary__content__actions__group{display:flex;gap:var(--tl-space-4)}.tl-error-boundary__content .tl-error-boundary__reset{color:var(--tl-color-danger)}.tl-error-boundary__content .tl-error-boundary__refresh{background-color:var(--tl-color-primary);color:var(--tl-color-selected-contrast)}.tl-container__focused:not(.tl-container__no-focus-ring) .tlui-button.tl-error-boundary__refresh:focus-visible{border-radius:8px;outline-offset:0}.tl-hit-test-blocker{position:absolute;z-index:var(--tl-layer-canvas-blocker);top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:all}.tl-hit-test-blocker__hidden{display:none}@media (hover: hover){.tl-handle__create:hover{opacity:1}.tl-handle__bg:hover{cursor:var(--tl-cursor-grab);fill:var(--tl-color-selection-fill)}.tl-bookmark__link:hover,.tl-hyperlink-button:hover{color:var(--tl-color-selected)}.tl-error-boundary__content button:hover{background-color:var(--tl-color-low)}.tl-error-boundary__content a:hover{color:var(--tl-color-text-1)}.tl-error-boundary__content .tl-error-boundary__refresh:hover{background-color:var(--tl-color-primary);opacity:.9}.tl-canvas[data-iseditinganything=true] .tl-text-wrapper:hover .tl-text-input{z-index:var(--tl-layer-text-editor);pointer-events:all}}.tl-container{--tl-layer-above: 1;--tl-layer-focused-input: 10;--tl-layer-menu-click-capture: 250;--tl-layer-panels: 300;--tl-layer-menus: 400;--tl-layer-toasts: 650;--tl-layer-cursor: 700;--tl-layer-header-footer: 999;--tl-layer-following-indicator: 1000}.tlui-button{position:relative;height:40px;min-width:40px;padding:0 12px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:transparent;color:currentColor;cursor:pointer;pointer-events:all;font-weight:inherit;font-family:inherit;line-height:inherit;text-rendering:optimizeLegibility;font-size:12px;gap:0px;color:var(--tl-color-text-1);z-index:0}.tlui-button:disabled{color:var(--tl-color-text-3);text-shadow:none;cursor:default}.tlui-button:disabled .tlui-kbd{color:var(--tl-color-text-3)}.tlui-button>*{position:relative;z-index:var(--tl-layer-above)}.tlui-button__label{font-size:12px;flex-grow:2;text-align:left}.tl-container__focused:not(.tl-container__no-focus-ring) .tlui-button:focus-visible{border-radius:10px;outline:2px solid var(--tl-color-focus);outline-offset:-5px}.tl-container__focused:not(.tl-container__no-focus-ring) .tlui-button__tool:focus-visible{border-radius:12px}.tlui-slider__container:has(.tlui-slider__thumb:focus-visible){border-radius:10px;outline:2px solid var(--tl-color-focus);outline-offset:-5px}.tlui-button:after{display:block;content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:var(--tl-radius-2);background:var(--tl-color-muted-2);opacity:0}.tlui-button__menu[data-highlighted]:after{opacity:1}.tlui-button[data-isactive=true]:after,.tlui-button[data-isactive=true]:not(:disabled,:focus-visible):active:after{background:var(--tl-color-hint);opacity:1}.tlui-button[aria-expanded=true][data-direction=left]{background:linear-gradient(270deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}@media (hover: hover){.tlui-button[aria-expanded=true][data-direction=left]:not(:hover):after{background:linear-gradient(270deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}.tlui-button:not(:disabled):hover{z-index:1}.tlui-button:not(:disabled):hover:after{opacity:1}}.tlui-button__icon+.tlui-button__label{margin-left:var(--tl-space-2)}.tlui-button__low{border-radius:var(--tl-radius-3);background-color:var(--tl-color-low)}.tlui-button__low:after{background-color:var(--tl-color-muted-2);opacity:0}@media (hover: hover){.tlui-button__low:hover:after{opacity:1}}.tlui-button__primary{color:var(--tl-color-primary)}.tlui-button__danger{color:var(--tl-color-danger);text-shadow:none}@media (hover: hover){.tlui-button__primary:not(:disabled,:focus-visible):hover{color:var(--tl-color-primary)}.tlui-button__danger:not(:disabled,:focus-visible):hover{color:var(--tl-color-danger);text-shadow:none}}.tlui-button__menu{height:40px;min-height:40px;width:100%;gap:8px;margin-top:-4px}.tlui-button__menu:after{top:4px;right:4px;bottom:4px;left:4px;border-radius:var(--tl-radius-2)}.tlui-button__menu>.tlui-icon+.tlui-button__label{margin-left:0}.tlui-button__menu:nth-child(1){margin-top:0}.tlui-button__menu:nth-last-child(1){margin-bottom:0}.tlui-button__checkbox{padding-left:8px}.tlui-button__checkbox__indicator{width:15px;height:15px}.tlui-main-toolbar__lock-button{position:absolute;pointer-events:all;height:40px;width:40px;border-radius:var(--tl-radius-2)}.tlui-main-toolbar--horizontal .tlui-main-toolbar__lock-button{top:4px;right:0;min-width:0px}.tlui-main-toolbar--vertical .tlui-main-toolbar__lock-button{bottom:0;min-height:0px}.tlui-main-toolbar__lock-button:after{top:4px;right:4px;bottom:4px;left:4px}.tlui-button__tool{position:relative;height:48px;width:48px}.tlui-button__tool:after{top:4px;right:4px;bottom:4px;left:4px;border-radius:8px}.tlui-button__tool[aria-pressed=true]{color:var(--tl-color-selected-contrast)}.tlui-button__tool[aria-pressed=true]:not(:disabled,:focus-visible):active{color:var(--tl-color-selected-contrast)}.tlui-button__tool[aria-pressed=true]:not(:disabled):after{background:var(--tl-color-selected);opacity:1}.tlui-layout__mobile .tlui-main-toolbar--horizontal .tlui-button__tool{height:48px;width:43px}.tlui-layout__mobile .tlui-main-toolbar--horizontal .tlui-button__tool>.tlui-icon{height:16px;width:16px}.tlui-row{display:flex;flex-direction:row;padding:0 2px}.tlui-row>*{margin-left:-2px;margin-right:-2px}.tlui-column{display:flex;flex-direction:column;padding:2px 0}.tlui-column>*{margin-top:-2px;margin-bottom:-2px}.tlui-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:row;overflow:hidden;padding:2px}.tlui-grid>*{margin:-2px}.tlui-zoom-menu__button{width:60px;min-width:60px;text-align:center}.tlui-layout{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0px,1fr) auto;grid-auto-rows:auto;height:100%;max-height:100%;overflow:clip;pointer-events:none;-webkit-user-select:none;user-select:none;contain:strict;z-index:var(--tl-layer-panels);transform:translateZ(0);--tl-sab: env(safe-area-inset-bottom);font-weight:500;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smooth:antialiased;text-rendering:optimizeLegibility}.tlui-layout__top{grid-column:1;grid-row:1;display:flex;min-width:0px;justify-content:space-between}.tlui-layout__top__left{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;height:100%;flex:0 1 0}.tlui-layout__top__right{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;height:100%;flex:0 0 auto;min-width:0px}.tlui-scrollable,.tlui-scrollable *{pointer-events:all;touch-action:auto;overscroll-behavior:none}.tlui-helper-buttons{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:min-content;gap:var(--tl-space-3);margin:var(--tl-space-2) var(--tl-space-3);white-space:nowrap;pointer-events:none;z-index:var(--tl-layer-panels)}.tlui-icon{flex-shrink:0;width:18px;height:18px;background-color:currentColor}.tlui-icon__placeholder{flex-shrink:0;width:18px;height:18px;background-color:transparent}.tlui-icon__small{width:15px;height:15px}.tlui-slider__container{width:100%;padding:0px var(--tl-space-4)}.tlui-slider{position:relative;display:flex;align-items:center;-webkit-user-select:none;user-select:none;touch-action:none;width:100%}.tlui-slider__track{position:relative;flex-grow:1;height:44px;cursor:pointer}.tlui-slider__track:after{display:block;position:absolute;top:calc(50% - 2px);content:"";height:3px;width:100%;background-color:var(--tl-color-muted-1);border-radius:14px}.tlui-slider__range{position:absolute;top:calc(50% - 2px);left:0;height:3px;background-color:var(--tl-color-selected);border-radius:14px}.tlui-slider__thumb{all:unset;cursor:grab;display:block;width:18px;height:18px;position:relative;top:-1px;background-color:var(--tl-color-panel);border-radius:999px;box-shadow:inset 0 0 0 2px var(--tl-color-text-1)}.tlui-slider__thumb:active{cursor:grabbing;box-shadow:inset 0 0 0 2px var(--tl-color-text-1),var(--tl-shadow-1)}.tlui-input{background:none;margin:0;position:relative;z-index:var(--tl-layer-above);height:40px;max-height:40px;display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:12px;font-weight:inherit;color:var(--tl-color-text-1);padding:var(--tl-space-4);padding-left:0;border:none;outline:none;text-overflow:ellipsis;width:100%;user-select:all;text-rendering:optimizeLegibility;-webkit-user-select:auto!important}.tlui-input::placeholder{color:var(--tl-color-text-3)}.tlui-input__wrapper{width:100%;height:44px;display:flex;align-items:center;gap:var(--tl-space-4);color:var(--tl-color-text)}.tlui-input__wrapper>.tlui-icon{flex-shrink:0}@media (max-width: 600px){@supports (-webkit-touch-callout: none){.tlui-input{font-size:16px}}}.tlui-kbd{font-family:inherit;font-size:11px;line-height:11px;display:grid;justify-items:center;grid-auto-flow:column;grid-template-columns:auto;grid-auto-columns:minmax(1em,auto);align-self:bottom;color:currentColor;margin-left:var(--tl-space-4)}.tlui-kbd>span{width:100%;text-align:center;display:inline;margin:0;padding:2px;border-radius:2px}.tlui-kbd>span:last-child{padding-right:0}.tlui-kbd:not(:last-child){margin-right:var(--tl-space-2)}.tlui-focus-button{z-index:var(--tl-layer-panels);pointer-events:all}.tlui-menu:empty{display:none}.tlui-menu{z-index:var(--tl-layer-menus);height:fit-content;width:fit-content;border-radius:var(--tl-radius-3);pointer-events:all;touch-action:auto;overflow-y:auto;overscroll-behavior:none;background-color:var(--tl-color-panel);box-shadow:var(--tl-shadow-3)}@media (max-height: 600px){.tlui-menu{max-height:70vh}}.tlui-menu::-webkit-scrollbar{display:none}.tlui-menu__group{width:100%}.tlui-menu__group:empty{display:none}.tlui-menu__group{border-bottom:1px solid var(--tl-color-divider)}.tlui-menu__group:nth-last-of-type(1){border-bottom:none}.tlui-menu__submenu__trigger[data-state=open]:after{opacity:1;background:linear-gradient(90deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%)}.tlui-menu__submenu__trigger[data-direction=left][data-state=open]:after{opacity:1;background:linear-gradient(270deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%)}@media (hover: hover){.tlui-menu__submenu__trigger[data-state=open]:not(:hover):after{opacity:1;background:linear-gradient(90deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%)}.tlui-menu__submenu__trigger[data-direction=left][data-state=open]:not(:hover):after{opacity:1;background:linear-gradient(270deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%)}}.tlui-menu[data-size=large]>.tlui-menu__group{min-width:initial}.tlui-menu[data-size=medium]>.tlui-menu__group{min-width:144px}.tlui-menu[data-size=small]>.tlui-menu__group{min-width:96px}.tlui-menu[data-size=tiny]>.tlui-menu__group{min-width:0px}.tlui-menu-click-capture{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--tl-layer-menu-click-capture)}.tlui-popover{position:relative;display:flex;align-content:stretch}.tlui-popover__content{position:relative;max-height:calc(var(--radix-popover-content-available-height) - 8px);margin:0;border:none;border-radius:var(--tl-radius-3);background-color:var(--tl-color-panel);box-shadow:var(--tl-shadow-3);z-index:var(--tl-layer-menus);overflow:hidden;overflow-y:auto;touch-action:auto;overscroll-behavior:none;scrollbar-width:none;-ms-overflow-style:none}.tlui-menu-zone{position:relative;z-index:var(--tl-layer-panels);width:fit-content;border-right:2px solid var(--tl-color-background);border-bottom:2px solid var(--tl-color-background);border-bottom-right-radius:var(--tl-radius-4);background-color:var(--tl-color-low)}.tlui-menu-zone *[data-state=open]:after{background:linear-gradient(180deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}@media (hover: hover){.tlui-menu-zone *[data-state=open]:not(:hover):after{background:linear-gradient(180deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}}.tlui-page-menu__wrapper{position:relative;display:flex;flex-direction:column;width:260px;height:fit-content;max-height:50vh}.tlui-page-menu__trigger{width:auto}.tlui-page-menu__header{display:flex;flex-direction:row;align-items:center;width:100%;height:40px;padding-left:var(--tl-space-4);border-bottom:1px solid var(--tl-color-divider)}.tlui-page-menu__header>.tlui-button:nth-of-type(1){margin-right:-4px}.tlui-page-menu__header__title{color:var(--tl-color-text);font-size:12px;flex-grow:2}.tlui-page-menu__name{flex-grow:2;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlui-page-menu__list{position:relative;flex-direction:column;max-height:100%;overflow-x:hidden;overflow-y:auto;touch-action:auto}.tlui-page-menu__item{position:relative}.tlui-page_menu__item__submenu[data-isediting=true]>.tlui-button[data-state=open]{opacity:1}@media (hover: hover){.tlui-page-menu__item:hover>.tlui-page_menu__item__submenu>.tlui-button{opacity:1}}.tlui-page-menu__item:nth-of-type(n+2){margin-top:-4px}.tlui-page-menu__item__button{width:100%}.tlui-page-menu__item__button:not(:only-child){flex-grow:2;margin-right:-2px}.tlui-page-menu__item__button>span{display:block;flex-grow:2;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlui-page-menu__item__button>span{padding-right:28px}@media (hover: hover){.tlui-page-menu__item__button>span{padding-right:0}.tlui-page-menu__item:hover>.tlui-page-menu__item__button>span{padding-right:28px}}.tlui-page-menu__item__button__checkbox{padding-left:35px}.tlui-page-menu__item__button__check{position:absolute;left:0;width:24px;padding-left:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--tl-color-text)}.tlui-page_menu__item__sortable{position:absolute;top:0;left:0;width:100%;height:fit-content;display:flex;flex-direction:row;align-items:center;overflow:hidden;z-index:var(--tl-layer-above)}.tlui-page_menu__item__sortable__title{flex:1}.tlui-page_menu__item__sortable__title>.tlui-input__wrapper{height:100%}.tlui-page_menu__item__sortable:focus-visible{z-index:var(--tl-layer-focused-input)}.tlui-page_menu__item__sortable__handle{touch-action:none;width:32px;min-width:0px;height:40px;cursor:grab;color:var(--tl-color-text-3);flex-shrink:0;margin-right:-9px}.tlui-page_menu__item__sortable__handle:active{cursor:grabbing}.tlui-page-menu__item__input{margin-left:12px;height:100%}.tlui-page_menu__item__submenu{pointer-events:all;position:absolute;right:0;top:0;height:100%;cursor:pointer;margin:0 0 0 -2px;z-index:10}.tlui-page_menu__item__submenu>.tlui-button{opacity:0}.tlui-page_menu__item__sortable:focus-visible>.tlui-page_menu__item__submenu>.tlui-button,.tlui-page_menu__item__submenu[data-isediting=true],.tlui-page_menu__item__submenu>.tlui-button[data-state=open],.tlui-page_menu__item__submenu>.tlui-button:focus-visible{opacity:1}.tlui-page_menu__item__submenu>.tlui-button[data-state=open]:after{background:linear-gradient(90deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}@media (hover: hover){.tlui-page_menu__item__submenu>.tlui-button[data-state=open]:not(:hover):after{background:linear-gradient(90deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}}@media (any-pointer: coarse){.tlui-page_menu__item__submenu>.tlui-button{opacity:1}}.tlui-button__icon{padding:0}.tlui-page-menu__item__button .tlui-button__icon{margin-right:4px}@media (hover: hover){.tlui-page_menu__item__submenu[data-isediting=true]>.tlui-button{opacity:0}.tlui-page_menu__item__submenu:hover>.tlui-button{opacity:1}}.tl-skip-to-main-content{position:fixed;top:48px;left:-9999px;padding:8px 16px;z-index:var(--tl-layer-toasts)}.tl-skip-to-main-content:focus{left:8px}.tlui-offline-indicator{display:flex;flex-direction:row;gap:var(--tl-space-3);color:var(--tl-color-text);background-color:var(--tl-color-low);border:3px solid var(--tl-color-background);padding:0px var(--tl-space-5);height:42px;align-items:center;justify-content:center;border-radius:99px;opacity:0;animation:tl-fade-in;animation-duration:.12s;animation-delay:2s;animation-fill-mode:forwards}.tlui-style-panel__wrapper{box-shadow:var(--tl-shadow-2);border-radius:var(--tl-radius-3);pointer-events:all;background-color:var(--tl-color-panel);height:fit-content;max-height:100%;margin:4px 8px 8px;touch-action:auto;overscroll-behavior:none;overflow-y:auto;overflow-x:hidden;color:var(--tl-color-text)}.tlui-style-panel__wrapper:only-child{margin-top:8px}.tlui-style-panel{position:relative;z-index:var(--tl-layer-panels);pointer-events:all;width:148px;max-width:148px}.tlui-style-panel[data-enhanced-a11y-mode=true] .tlui-button[data-isactive=true]{border-radius:10px;outline:2px solid var(--tl-color-text);outline-offset:-5px}.tlui-style-panel::-webkit-scrollbar{display:none}.tlui-style-panel .tlui-button.select{width:100%}.tlui-style-panel__section{display:flex;position:relative;flex-direction:column}.tlui-style-panel__section:not(:nth-last-child(-n+1 of.tlui-style-panel__section:not(:empty))){border-bottom:1px solid var(--tl-color-divider)}.tlui-style-panel__section:has(.tlui-slider__container:last-child):not(:nth-last-child(-n+1 of.tlui-style-panel__section:not(:empty))){margin-bottom:7px}.tlui-style-panel__section:empty{display:none}.tlui-style-panel__section .tlui-toolbar:has(.tlui-toolbar){flex-wrap:wrap}.tlui-style-panel__section .tlui-toolbar:has(.tlui-toolbar) .tlui-style-panel__subheading{margin-left:-2px}.tlui-style-panel__section__common:not(:only-child){margin-bottom:7px;border-bottom:1px solid var(--tl-color-divider)}.tlui-style-panel__dropdown-picker:only-child{flex:1}.tlui-style-panel__double-select-picker{display:flex;grid-template-columns:1fr auto;align-items:center;padding-left:var(--tl-space-4);color:var(--tl-color-text-1);font-size:12px}.tlui-style-panel__double-select-picker-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex-grow:2;max-width:100%}.tlui-style-panel .tlui-button[data-state=open]:after{opacity:1;background:linear-gradient(270deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%)}@media (hover: hover){.tlui-style-panel .tlui-button[aria-expanded=true]{background:none}.tlui-style-panel .tlui-button[data-state=open]:not(:hover):after{opacity:1;background:linear-gradient(270deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%)}}.tlui-style-panel__section .tlui-style-panel__subheading,.tlui-style-panel__section__common .tlui-style-panel__subheading,.tlui-style-panel__subheading+.tlui-slider__container{margin:0;padding:var(--tl-space-2) var(--tl-space-3) 0px var(--tl-space-4);font-size:12px;font-weight:inherit;line-height:inherit}.tlui-style-panel .tlui-style-panel__subheading:nth-of-type(1){padding-top:var(--tl-space-3)}.tlui-style-panel__subheading+.tlui-slider__container{padding-top:0}.tlui-layout__bottom{grid-row:2;width:100%}.tlui-layout__bottom__main{width:100%;display:flex;align-items:flex-end;justify-content:center}.tlui-navigation-panel{display:flex;width:min-content;flex-direction:column;z-index:var(--tl-layer-panels);pointer-events:all;position:absolute;left:0}.tlui-navigation-panel:before{content:"";display:block;position:absolute;z-index:-1;top:-2px;right:-2px;bottom:0;left:0;border-radius:0;border-top:2px solid var(--tl-color-background);border-right:2px solid var(--tl-color-background);border-top-right-radius:var(--tl-radius-4);background-color:var(--tl-color-low)}.tlui-navigation-panel[data-a11y=true]:before{display:none}.tlui-minimap{width:100%;height:96px;min-height:96px;overflow:hidden;padding:var(--tl-space-3);padding-top:0}.tlui-minimap__canvas{position:relative;width:100%;height:100%}.tlui-main-toolbar{grid-column:1 / span 3;grid-row:1;display:flex;align-items:center;justify-content:center;flex-grow:2}.tlui-main-toolbar--horizontal{padding-bottom:calc(var(--tl-space-3) + var(--tl-sab));max-width:100%}.tlui-main-toolbar--vertical{position:absolute;left:0;top:90px;bottom:140px;padding-left:calc(var(--tl-space-3) + var(--tl-sab))}[data-breakpoints-below*="6"] .tlui-main-toolbar--vertical{bottom:90px}.tlui-main-toolbar__inner{position:relative;width:fit-content;display:flex;gap:var(--tl-space-3);align-items:flex-start}.tlui-main-toolbar--vertical .tlui-main-toolbar__inner{flex-direction:column}.tlui-main-toolbar--horizontal .tlui-main-toolbar__left{width:fit-content}.tlui-main-toolbar--vertical .tlui-main-toolbar__left{display:flex;height:fit-content}.tlui-main-toolbar__extras{position:relative;z-index:var(--tl-layer-above);pointer-events:none;align-self:stretch}.tlui-main-toolbar__extras:empty{display:none}.tlui-main-toolbar--horizontal .tlui-main-toolbar__extras{height:48px;top:6px}.tlui-main-toolbar--vertical .tlui-main-toolbar__extras{width:48px;order:1}.tlui-main-toolbar__extras__controls{position:relative;z-index:var(--tl-layer-above);background-color:var(--tl-color-low);border:2px solid var(--tl-color-background);pointer-events:all}.tlui-main-toolbar--horizontal .tlui-main-toolbar__extras__controls{border-top-left-radius:var(--tl-radius-4);border-top-right-radius:var(--tl-radius-4);margin-left:8px;margin-right:0;width:fit-content}.tlui-main-toolbar--vertical .tlui-main-toolbar__extras__controls{border-top-right-radius:var(--tl-radius-4);border-bottom-right-radius:var(--tl-radius-4);margin-top:8px;margin-left:-2px;margin-bottom:0;width:fit-content}.tlui-main-toolbar__tools{border-radius:var(--tl-radius-4);z-index:var(--tl-layer-panels);pointer-events:all;position:relative;background:var(--tl-color-panel);box-shadow:var(--tl-shadow-2)}.tlui-main-toolbar--horizontal .tlui-main-toolbar__mobile-style-panel{align-self:flex-end}.tlui-main-toolbar--vertical .tlui-main-toolbar__mobile-style-panel{align-self:flex-start}.tlui-main-toolbar--horizontal .tlui-main-toolbar__overflow{width:40px;margin-left:2px}.tlui-main-toolbar--vertical .tlui-main-toolbar__overflow{height:40px;margin-top:2px}.tlui-layout__mobile .tlui-main-toolbar--horizontal .tlui-main-toolbar__overflow{width:32px;padding:0}.tlui-main-toolbar--horizontal *[data-state=open]:after{background:linear-gradient(0deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}.tlui-main-toolbar--vertical *[data-state=open]:after{background:linear-gradient(90deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}.tlui-main-toolbar__overflow-content{touch-action:none}.tlui-main-toolbar__tools [data-toolbar-visible=false],.tlui-main-toolbar__overflow-content [data-toolbar-visible=false]{display:none}.tlui-main-toolbar__group:empty{display:none}.tlui-row.tlui-main-toolbar__group:not(:nth-last-child(-n+1 of[data-toolbar-visible=true])){border-right:1px solid var(--color-divider);margin-right:2px}.tlui-column.tlui-main-toolbar__group:not(:nth-last-child(-n+1 of[data-toolbar-visible=true])){border-bottom:1px solid var(--color-divider);margin-bottom:2px}.tlui-grid.tlui-main-toolbar__group{grid-column:1 / span 4}.tlui-grid.tlui-main-toolbar__group:not(:nth-last-child(-n+1 of[data-toolbar-visible=true])){border-bottom:1px solid var(--color-divider);margin-bottom:2px}@media (hover: hover){.tlui-main-toolbar--horizontal *[data-state=open]:not(:hover):after{background:linear-gradient(0deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}.tlui-main-toolbar--vertical *[data-state=open]:not(:hover):after{background:linear-gradient(90deg,rgba(144,144,144,0) 0%,var(--tl-color-muted-2) 100%);opacity:1}}.tlui-tooltip{font-size:12px;padding:2px 8px;border-radius:4px;background-color:var(--tl-color-tooltip);box-shadow:none;color:var(--tl-color-text-shadow);max-width:400px;width:fit-content;text-align:center;will-change:transform,opacity;z-index:2}.tlui-tooltip__arrow{fill:var(--tl-color-tooltip);will-change:opacity}[data-radix-popper-content-wrapper]:has(.tlui-tooltip){z-index:var(--tl-layer-toasts)!important;pointer-events:none}.tlui-debug-panel{background-color:var(--tl-color-low);width:100%;display:grid;align-items:center;grid-template-columns:1fr auto auto auto;justify-content:space-between;padding-left:var(--tl-space-4);border-top:1px solid var(--tl-color-background);font-size:12px;color:var(--tl-color-text-1);z-index:var(--tl-layer-panels);pointer-events:all}.tlui-debug-panel__current-state{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tlui-debug-panel__fps{margin-right:8px}.tlui-debug-panel__fps__slow{font-weight:700;color:var(--tl-color-danger)}.tlui-a11y-audit{border-collapse:collapse}.tlui-a11y-audit th,.tlui-a11y-audit td{padding:8px;border:1px solid var(--tl-color-low-border)}.tlui-toast__viewport{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;display:flex;align-items:flex-end;justify-content:flex-end;flex-direction:column;gap:var(--tl-space-3);pointer-events:none;padding:0px var(--tl-space-3) 64px 0px;z-index:var(--tl-layer-toasts)}.tlui-toast__viewport>*{pointer-events:all}.tlui-toast__icon{padding-top:11px;padding-left:var(--tl-space-4);color:var(--tl-color-text-1)}.tlui-toast__container{min-width:200px;display:flex;flex-direction:row;background-color:var(--tl-color-panel);box-shadow:var(--tl-shadow-2);border-radius:var(--tl-radius-3);font-size:12px}.tlui-toast__container[data-severity=success] .tlui-icon{color:var(--tl-color-success)}.tlui-toast__container[data-severity=info] .tlui-icon{color:var(--tl-color-info)}.tlui-toast__container[data-severity=warning] .tlui-icon{color:var(--tl-color-warning)}.tlui-toast__container[data-severity=error] .tlui-icon{color:var(--tl-color-danger)}.tlui-toast__main{flex-grow:2;max-width:280px}.tlui-toast__content{padding:var(--tl-space-4);display:flex;line-height:1.4;flex-direction:column;gap:var(--tl-space-3)}.tlui-toast__main[data-actions=true] .tlui-toast__content{padding-bottom:var(--tl-space-2)}.tlui-toast__title{font-weight:700;color:var(--tl-color-text-1);line-height:16px}.tlui-toast__description{color:var(--tl-color-text-1);padding:var(--tl-space-3);margin:0;padding:0}.tlui-toast__icon+.tlui-toast__main>.tlui-toast__actions{padding-left:0}.tlui-toast__actions{display:flex;flex-direction:row;justify-content:flex-start;margin-left:0}.tlui-toast__close{align-self:flex-end;flex-shrink:0}@media (prefers-reduced-motion: no-preference){.tlui-toast__container[data-state=open]{animation:tlui-slide-in .2s cubic-bezier(.785,.135,.15,.86)}.tlui-toast__container[data-state=closed]{animation:tlui-fade-out .1s ease-in}.tlui-toast__container[data-swipe=move]{transform:translate(var(--radix-toast-swipe-move-x))}.tlui-toast__container[data-swipe=cancel]{transform:translate(0);transition:transform .2s ease-out}.tlui-toast__container[data-swipe=end]{animation:tlui-slide-out .1s ease-out}}.tlui-dialog__overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--tl-layer-canvas-overlays);background-color:var(--tl-color-overlay);pointer-events:all;animation:tl-fade-in .12s ease-out;display:grid;place-items:center;overflow-y:auto;padding:0px var(--tl-space-3)}.tlui-dialog__content{display:flex;flex-direction:column;position:relative;cursor:default;background-color:var(--tl-color-panel);box-shadow:var(--tl-shadow-3);border-radius:var(--tl-radius-3);font-size:12px;overflow:hidden;min-width:300px;max-width:100%;max-height:80%}.tlui-dialog__header{position:relative;display:flex;align-items:center;flex:0;z-index:var(--tl-layer-header-footer);padding-left:var(--tl-space-4);color:var(--tl-color-text);height:40px}.tlui-dialog__header__title{flex:1;font-weight:inherit;font-size:12px;margin:0;color:var(--tl-color-text-1)}.tlui-dialog__header__close{justify-self:flex-end}.tlui-dialog__body{padding:var(--tl-space-4) var(--tl-space-4);flex:0 1;overflow-y:auto;overflow-x:hidden;color:var(--tl-color-text-1);user-select:all;-webkit-user-select:text}.tlui-dialog__body a{color:var(--tl-color-selected)}.tlui-dialog__body ul,.tlui-dialog__body ol{padding-left:16px;display:flex;flex-direction:column;gap:var(--tl-space-2)}.tlui-dialog__footer{position:relative;min-height:12px;z-index:var(--tl-layer-header-footer)}.tlui-dialog__footer__actions{display:flex;align-items:center;justify-content:flex-end}.tlui-dialog__footer__actions>.tlui-button:nth-last-child(n+2){margin-right:-4px}.tlui-edit-link-dialog{display:flex;flex-direction:column;gap:var(--tl-space-4);color:var(--tl-color-text)}.tlui-edit-link-dialog__input{background-color:var(--tl-color-muted-2);flex-grow:2;border-radius:var(--tl-radius-2);padding:0px var(--tl-space-4)}.tlui-embed__spacer{flex-grow:2;min-height:0px;margin-left:calc(-1 * var(--tl-space-4));margin-top:calc(-1 * var(--tl-space-4));pointer-events:none}.tlui-embed-dialog__list{display:flex;flex-direction:column;padding:0px var(--tl-space-3) var(--tl-space-4) var(--tl-space-3)}.tlui-embed-dialog__item__image{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-size:contain;background-repeat:no-repeat;background-position:center center;background-color:var(--tl-color-selected-contrast);border-radius:var(--tl-radius-1)}.tlui-embed-dialog__enter{display:flex;flex-direction:column;gap:var(--tl-space-4);color:var(--tl-color-text-1)}.tlui-embed-dialog__input{background-color:var(--tl-color-muted-2);flex-grow:2;border-radius:var(--tl-radius-2);padding:0px var(--tl-space-4)}.tlui-embed-dialog__warning{color:var(--tl-color-danger);text-shadow:none}.tlui-embed-dialog__instruction__link{display:flex;gap:var(--tl-space-1);margin-top:var(--tl-space-4)}.tlui-embed-dialog__enter a{color:var(--tl-color-text-1)}.tlui-shortcuts-dialog__header{border-bottom:1px solid var(--tl-color-divider)}.tlui-shortcuts-dialog__body{position:relative;columns:3;column-gap:var(--tl-space-9);pointer-events:all;touch-action:auto;overflow-x:auto}.tlui-shortcuts-dialog__body__tablet{columns:2}.tlui-shortcuts-dialog__body__mobile{columns:1}.tlui-shortcuts-dialog__group{break-inside:avoid-column;padding-bottom:var(--tl-space-6)}.tlui-shortcuts-dialog__group__title{font-size:inherit;font-weight:inherit;margin:0;color:var(--tl-color-text-3);height:32px;display:flex;align-items:center}.tlui-shortcuts-dialog__group__content{display:flex;flex-direction:column;color:var(--tl-color-text-1)}.tlui-shortcuts-dialog__key-pair{display:flex;gap:var(--tl-space-4);align-items:center;justify-content:space-between;height:32px}.tlui-shortcuts-dialog__key-pair__key{flex:1;font-size:12px}.tlui-language-menu{max-height:500px}.tlui-language-menu:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:24px;background:linear-gradient(to bottom,var(--tl-color-panel-transparent) 0%,var(--tl-color-panel) 90%,var(--tl-color-panel) 100%);border-bottom-left-radius:var(--tl-radius-3);border-bottom-right-radius:var(--tl-radius-3);pointer-events:none}.tlui-actions-menu{max-height:calc(100vh - 150px)}.tlui-help-menu{pointer-events:all;position:absolute;bottom:var(--tl-space-2);right:var(--tl-space-2);z-index:var(--tl-layer-panels);border:2px solid var(--tl-color-background);border-radius:100%}.tlui-share-zone{padding:2px 4px 0 0;display:flex;flex-direction:row;justify-content:flex-end;z-index:var(--tl-layer-panels);align-items:center}.tlui-people-menu__avatars-button{display:flex;align-items:center;justify-content:flex-end;background:none;border:none;cursor:pointer;pointer-events:all;border-radius:var(--tl-radius-1);padding-right:1px;height:100%}.tlui-people-menu__avatars{display:flex;flex-direction:row}.tlui-people-menu__avatar{height:24px;width:24px;border:2px solid var(--tl-color-background);background-color:var(--tl-color-low);border-radius:100%;display:flex;align-items:center;justify-content:center;position:relative;font-size:10px;font-weight:700;text-align:center;color:var(--tl-color-selected-contrast);z-index:2}.tlui-people-menu__avatar:nth-of-type(n+2){margin-left:-12px}.tlui-people-menu__avatars-button[data-state=open]{opacity:1}@media (hover: hover){.tlui-people-menu__avatars-button:hover .tlui-people-menu__avatar{border-color:var(--tl-color-low)}}.tlui-people-menu__more{min-width:0px;font-size:11px;font-weight:600;color:var(--tl-color-text-1);font-family:inherit;padding:0 4px}.tlui-people-menu__more:after{border-radius:var(--tl-radius-2);top:0;right:0;bottom:0;left:0}.tlui-people-menu__wrapper{position:relative;display:flex;flex-direction:column;width:220px;height:fit-content;max-height:50vh}.tlui-people-menu__section{position:relative;flex-direction:column;max-height:100%;overflow-x:hidden;overflow-y:auto;touch-action:auto}.tlui-people-menu__section:first-child,.tlui-people-menu__section:last-child{flex-shrink:0}.tlui-people-menu__section:not(:last-child){border-bottom:1px solid var(--tl-color-divider)}.tlui-people-menu__user{display:flex;justify-content:flex-start;align-items:center}.tlui-people-menu__user__color{flex-shrink:0}.tlui-people-menu__user__name{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--tl-color-text-1);max-width:100%;flex-grow:1;flex-shrink:100}.tlui-people-menu__user__label{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--tl-color-text-3);flex-grow:100;flex-shrink:0;margin-left:4px}.tlui-people-menu__user__input{flex-grow:2;height:100%;padding:0;margin:0}.tlui-people-menu__user>.tlui-input__wrapper{width:auto;display:flex;align-items:auto;flex-grow:2;gap:8px;height:100%;padding:0}.tlui-people-menu__item{position:relative}.tlui-people-menu__item:last-of-type .tlui-button__menu{margin-bottom:0}.tlui-people-menu__item__button{padding:0 11px;overflow:hidden}.tlui-people-menu__item>.tlui-button__menu{width:auto;display:flex;align-items:auto;justify-content:flex-start;flex-grow:2;gap:11px}.tlui-people-menu__name{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tlui-people-menu__item__follow{position:absolute;top:0;right:0;max-width:40px;flex-shrink:0}.tlui-people-menu__item[data-follow=true],.tlui-people-menu__item:has(.tlui-button:focus-visible){padding-right:36px}.tlui-people-menu__item[data-follow=true] .tlui-people-menu__item__follow,.tlui-people-menu__item:has(.tlui-button:focus-visible) .tlui-people-menu__item__follow{opacity:1}@media (hover: hover){.tlui-people-menu__item__follow{opacity:0}.tlui-people-menu__item:hover{padding-right:36px}.tlui-people-menu__item:hover .tlui-people-menu__item__follow{opacity:1}}.tlui-following-indicator{display:block;position:absolute;top:0;right:0;bottom:0;left:0;border-width:2px;border-style:solid;z-index:var(--tl-layer-following-indicator);pointer-events:none}.tlui-contextual-toolbar{position:absolute}.tlui-contextual-toolbar,.tlui-contextual-toolbar *{pointer-events:all}.tlui-contextual-toolbar [data-isactive=true]:after{background-color:var(--tl-color-muted-2);opacity:1}.tlui-contextual-toolbar{opacity:0;transition:opacity .08s ease-in-out}.tlui-contextual-toolbar,.tlui-contextual-toolbar *{pointer-events:none}.tlui-contextual-toolbar[data-visible=true]{opacity:1;z-index:var(--tl-layer-menus)}.tlui-contextual-toolbar[data-interactive=true],.tlui-contextual-toolbar[data-interactive=true] *{pointer-events:all}.tlui-rich-text__toolbar-link-input{margin-left:12px;width:148px}.tlui-media__toolbar-alt-text-input{margin-left:12px;min-width:200px}.tlui-contextual-toolbar .tlui-input__wrapper{height:40px}.tlui-image__toolbar .tlui-slider__container{width:125px}.tlui-image__toolbar .tlui-slider{height:100%}.tlui-image__toolbar .tlui-slider__track{height:32px}.tlui-image__toolbar .tlui-slider__thumb{width:14px;height:14px}@keyframes tlui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes tlui-slide-in{0%{transform:translate(calc(100% + var(--tl-space-3)))}to{transform:translate(0)}}@keyframes tlui-slide-out{0%{transform:translate(var(--radix-toast-swipe-end-x))}to{transform:translate(calc(100% + var(--tl-space-3)))}}.app-main:has(.board-layout) .document-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;z-index:100;box-shadow:2px 0 8px #00000026;background:#fff}.board-layout{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#fafafa;z-index:50}.board-floating-toolbar{position:fixed;top:0;left:var(--sidebar-width, 250px);right:0;height:48px;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;z-index:90;display:flex;justify-content:space-between;align-items:center;padding:0 16px}.board-view-container{position:fixed;top:48px;left:var(--sidebar-width, 250px);right:0;bottom:0;width:calc(100vw - var(--sidebar-width, 250px));height:calc(100vh - 48px);background:#fafafa;z-index:50}.board-view{width:100%;height:100%;position:relative}.board-debug-overlay{position:absolute;top:8px;left:8px;z-index:9999;font-size:12px;line-height:1.3;color:#111;background:#ffffffeb;border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:8px 10px;max-width:360px;box-shadow:0 8px 20px #0000001f}.board-debug-overlay--bad{border-color:#d32f2f99;background:#ffebeef2}.board-view-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:14px}.board-view-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#d32f2f;padding:20px;text-align:center}.widget-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.widget-selector-dialog{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.widget-selector-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e0e0e0}.widget-selector-header h2{flex:1;margin:0;font-size:18px;font-weight:600;color:#111}.widget-selector-back{background:none;border:none;cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px;font-size:18px;transition:background .2s}.widget-selector-back:hover{background:#f0f0f0}.widget-type-selector{padding:20px}.widget-type-selector-title{margin:0 0 16px;font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.widget-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.widget-type-button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;color:#333;font-size:14px;font-weight:500}.widget-type-button:hover{border-color:#06c;background:#f5f8ff;transform:translateY(-2px);box-shadow:0 4px 12px #0066cc26}.widget-type-button svg{color:#06c}.widget-selector-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px;transition:background .2s}.widget-selector-close:hover{background:#f0f0f0}.widget-selector-search{padding:12px 20px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:8px;color:#666}.widget-selector-search input{flex:1;border:1px solid #ddd;border-radius:4px;padding:8px 12px;font-size:14px;outline:none;transition:border-color .2s}.widget-selector-search input:focus{border-color:#06c}.widget-selector-content{flex:1;overflow-y:auto;padding:8px}.widget-selector-loading,.widget-selector-error,.widget-selector-empty{padding:40px 20px;text-align:center;color:#666;font-size:14px}.widget-selector-error{color:#d32f2f}.widget-selector-list{display:flex;flex-direction:column;gap:16px}.widget-selector-group{display:flex;flex-direction:column;gap:8px}.widget-selector-group-header{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;background:#f5f5f5;border-radius:4px;display:flex;align-items:center;justify-content:space-between;gap:8px}.widget-selector-add-all-button{background:#06c;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .2s}.widget-selector-add-all-button:hover{background:#0052a3}.widget-selector-actions{padding:12px 20px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:8px}.widget-selector-action-button{background:#06c;color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s}.widget-selector-action-button:hover:not(:disabled){background:#0052a3}.widget-selector-action-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.widget-selector-group-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;padding:0 4px}.widget-selector-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:12px;cursor:pointer;transition:all .2s;text-align:left;display:flex;flex-direction:row;align-items:flex-start;gap:8px}.widget-selector-item.selected{border-color:#06c;background:#f5f8ff}.widget-selector-item:hover{border-color:#06c;box-shadow:0 2px 8px #0066cc26;transform:translateY(-1px)}.widget-selector-checkbox{margin-top:2px;cursor:pointer;flex-shrink:0}.widget-selector-item-button{flex:1;background:none;border:none;padding:0;cursor:pointer;text-align:left}.widget-selector-item-content{display:flex;flex-direction:column;gap:8px}.widget-selector-item-preview{min-height:60px;max-height:120px;overflow:hidden;font-size:12px;color:#333;line-height:1.4}.widget-selector-item-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#999;margin-top:auto;padding-top:8px;border-top:1px solid #f0f0f0}.widget-selector-item-doc{font-weight:500;color:#666}.widget-selector-item-type{background:#f0f0f0;padding:2px 6px;border-radius:3px;text-transform:uppercase;font-size:10px;letter-spacing:.5px}.widget-selector-item-line{color:#999;font-size:11px}.connection-ports{display:flex;flex-direction:column;padding:8px 0;pointer-events:auto!important}.connection-ports-row{display:flex;justify-content:space-between;gap:20px;min-width:200px}.connection-ports-column{display:flex;flex-direction:column;gap:4px}.connection-ports-inputs{align-items:flex-start}.connection-ports-outputs{align-items:flex-end}.connection-port{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:11px;color:var(--color-text, #333);cursor:pointer;transition:all .15s;pointer-events:auto!important;user-select:none;-webkit-user-select:none;background:transparent;border:none}.connection-port:hover{color:var(--color-accent, #3b82f6)}.connection-port:hover .port-dot{transform:scale(1.3)}.connection-port-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:11px}.port-dot{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;transition:all .15s}.port-dot svg{fill:currentColor}.port-dot-input{color:#10b981;background:#10b98126;border:1px solid #10b981}.port-dot-input:hover,.connection-port-input:hover .port-dot-input{background:#10b9814d;box-shadow:0 0 6px #10b98180}.port-dot-output{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f6}.port-dot-output:hover,.connection-port-output:hover .port-dot-output{background:#3b82f64d;box-shadow:0 0 6px #3b82f680}.port-dot-add{color:#9ca3af;background:transparent;border:1px dashed #9ca3af}.connection-port-add{opacity:.7}.connection-port-add:hover{opacity:1}.connection-port-add:hover .port-dot-add{color:#3b82f6;border-color:#3b82f6;background:#3b82f61a}.connection-port-hovered{color:#3b82f6!important}.connection-port-hovered .port-dot{transform:scale(1.4);box-shadow:0 0 8px #3b82f699;background:#3b82f666!important;border-color:#3b82f6!important}.port-delete-btn{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:none;background:transparent;color:#9ca3af;cursor:pointer;opacity:0;transition:all .15s;border-radius:2px}.connection-port:hover .port-delete-btn{opacity:1}.port-delete-btn:hover{color:#ef4444;background:#ef44441a}.connection-port-editing{padding:2px 0}.connection-port-add-input{flex:1;min-width:0;border:1px solid #3b82f6;border-radius:3px;padding:2px 6px;font-size:11px;background:#fff;outline:none}.connection-port-add-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #3b82f633}.time-block{display:flex;flex-direction:column;background:#fff;border-radius:4px;overflow:visible;box-shadow:0 1px 3px #0000001a;pointer-events:auto;min-height:48px;position:relative}.time-block-header{background:#e3f2fd;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:8px}.time-block-header-left,.time-block-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.time-block-header-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.title-display{font-weight:600;font-size:14px;color:#333;cursor:text;padding:2px 4px;border-radius:2px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.title-display:hover{background:#ffffff80}.title-input{background:#fff;border:1px solid #2196f3;border-radius:2px;padding:2px 6px;font-size:14px;font-weight:600;text-align:center;width:100%;max-width:200px;pointer-events:all}.duration-row{display:flex;align-items:center;gap:4px;font-size:11px;color:#555}.duration-display{cursor:pointer;padding:1px 4px;border-radius:2px}.duration-display:hover{background:#ffffff80}.duration-input{background:#fff;border:1px solid #2196f3;border-radius:2px;padding:1px 4px;font-size:11px;width:70px;pointer-events:all}.timeline-badge{font-size:10px;color:#4caf50;background:#4caf501a;padding:1px 6px;border-radius:8px}.time-indicator{display:flex;align-items:center;gap:4px;font-size:11px}.time-label{font-weight:500;color:#333}.time-value{color:#666}.time-indicator-arrow{width:0;height:0}.time-indicator-arrow-down{border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #333}.time-indicator-arrow-right{border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:6px solid #333}.time-add-btn{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:4px;font-size:11px;color:#666}.time-add-btn:hover{background:#ffffff80}.header-icon-btn{display:flex;align-items:center;justify-content:center;background:#ffffffb3;border:1px solid #ddd;border-radius:4px;padding:4px;cursor:pointer;color:#666;opacity:.7;transition:opacity .2s}.header-icon-btn:hover{opacity:1}.header-icon-btn.linked{background:#2196f31a;border-color:#2196f34d}.header-icon-btn.timeline-linked{background:#4caf501a;border-color:#4caf504d;color:#4caf50}.dropdown-container{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #00000026;z-index:1000;min-width:180px;max-height:300px;overflow:auto;pointer-events:auto}.dropdown-section-label{padding:6px 12px;font-size:10px;color:#999;text-transform:uppercase;border-top:1px solid #eee}.dropdown-section-label:first-child{border-top:none}.dropdown-empty{padding:12px;color:#999;font-size:12px;text-align:center}.dropdown-item{width:100%;padding:8px 12px;text-align:left;background:none;border:none;cursor:pointer;font-size:12px;color:#333;display:flex;align-items:center;gap:8px}.dropdown-item:hover{background:#f5f5f5}.dropdown-item-danger{color:#f44336}.dropdown-item-danger:hover{background:#ffebee}.dropdown-item-icon{display:flex;align-items:center;color:inherit}.dropdown-item-content{display:flex;flex-direction:column;gap:2px}.dropdown-item-subtitle{font-size:10px;color:#999}.time-block-section{padding:10px 12px;display:flex;gap:16px}.time-block-section-inputs{background:#f5f5f5}.time-block-section-resources{background:#ffebee;flex-direction:column;gap:8px}.time-block-section-toggle{padding:6px 12px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:11px;color:#666}.time-block-section-toggle-collapsed{background:#f5f5f5}.time-block-section-toggle-expanded{background:#e3f2fd}.time-block-section-toggle:hover{background:#e0e0e0}.editable-list{flex:1;display:flex;flex-direction:column;gap:4px}.editable-list-item{display:flex;align-items:center;gap:4px}.editable-list-text{flex:1;font-size:12px;color:#333;cursor:text;padding:2px 4px;border-radius:2px}.editable-list-text:hover{background:#0000000d}.editable-list-input{flex:1;font-size:12px;padding:2px 4px;border:1px solid #2196f3;border-radius:2px;background:#fff}.editable-list-delete{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;opacity:.5;color:#666}.editable-list-delete:hover{opacity:1}.editable-list-add{background:none;border:none;cursor:pointer;font-size:11px;color:#999;text-align:left;padding:4px 0;display:flex;align-items:center;gap:4px}.editable-list-add:hover{color:#666}.time-block-text-editor{width:100%;height:100%;padding:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:4px;pointer-events:all}.text-editor-header{display:flex;justify-content:space-between;align-items:center}.text-editor-label{font-size:12px;font-weight:600;color:#666}.text-editor-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center}.text-editor-textarea{flex:1;width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-family:monospace;font-size:12px;resize:none;pointer-events:all;min-height:150px}.text-editor-save{padding:6px 12px;background:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;pointer-events:all}.text-editor-save:hover{background:#0052a3}.time-block.has-draft-changes{border:1px solid rgba(99,179,237,.6);box-shadow:0 0 12px #63b3ed40;background:linear-gradient(to right,#fff,color-mix(in srgb,white 95%,#63b3ed))}.time-block.has-draft-changes:before{content:"✎";position:absolute;top:-8px;right:8px;background:#63b3ede6;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;z-index:10}.time-block.gradient-right{position:relative}.time-block.gradient-right:after{content:"";position:absolute;top:0;right:0;width:40px;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.9));pointer-events:none;border-radius:0 4px 4px 0}.time-block.gradient-left{position:relative}.time-block.gradient-left:after{content:"";position:absolute;top:0;left:0;width:40px;height:100%;background:linear-gradient(to left,transparent,rgba(255,255,255,.9));pointer-events:none;border-radius:4px 0 0 4px}.time-block.medium-block .time-block-header{padding:6px 8px;gap:4px}.time-block.medium-block .duration-row{display:none}.time-block.narrow-block{overflow:visible;position:relative}.time-block.narrow-block .time-block-header{overflow:hidden;padding:4px 6px}.time-block.narrow-block .time-block-header-center{min-width:0;overflow:hidden}.time-block.narrow-block .title-display{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:12px}.time-block.narrow-block .time-block-header-left,.time-block.narrow-block .time-block-header-right,.time-block.narrow-block .time-block-io-section,.time-block.narrow-block .time-block-resources-section{display:none}.time-block.very-narrow-block{overflow:visible;position:relative}.time-block.very-narrow-block .time-block-header,.time-block.very-narrow-block .time-block-io-section,.time-block.very-narrow-block .time-block-resources-section{display:none}.time-block-minimal{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e3f2fd}.time-block-minimal-line{width:4px;height:80%;background:#2196f3;border-radius:2px}.time-block.is-hovered{z-index:1000}.time-block-hover-popup{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 4px 20px #0000004d;flex-direction:column;gap:8px;min-width:220px;max-width:350px;z-index:1001;pointer-events:auto}.time-block-hover-popup:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #333}.time-block.is-hovered .time-block-hover-popup{display:flex}.time-block-hover-popup .popup-title{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-block-hover-popup .popup-duration{font-size:11px;color:#ffffffb3;margin-top:-4px}.time-block-hover-popup .popup-actions{display:flex;gap:6px;flex-wrap:wrap}.time-block-hover-popup .popup-btn{background:#ffffff26;border:none;color:#fff;padding:5px 10px;border-radius:4px;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:4px}.time-block-hover-popup .popup-btn:hover{background:#ffffff40}.time-block-hover-popup .popup-btn-danger{color:#ff6b6b}.time-block-hover-popup .popup-btn-danger:hover{background:#ff6b6b33}.io-list{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.io-list-label{font-size:10px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.io-item{display:flex;align-items:center;gap:4px;background:#ffffffb3;padding:3px 6px;border-radius:3px;font-size:12px}.io-name{color:#333;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.io-qty{font-size:10px;color:#666;background:#0000000d;padding:1px 4px;border-radius:2px}.io-delete{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;opacity:0;color:#999;transition:opacity .15s}.io-item:hover .io-delete{opacity:.7}.io-delete:hover{opacity:1;color:#e53935}.resource-list{display:flex;flex-direction:column;gap:4px}.resource-list-label{font-size:10px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.resource-item{display:flex;align-items:center;gap:6px;background:#ffffffb3;padding:4px 8px;border-radius:3px;font-size:12px}.resource-name{color:#333;font-weight:500}.resource-category{font-size:10px;color:#9c27b0;background:#9c27b01a;padding:1px 5px;border-radius:2px}.resource-duration{font-size:10px;color:#666;margin-left:auto}.resource-delete{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;opacity:0;color:#999;transition:opacity .15s}.resource-item:hover .resource-delete{opacity:.7}.resource-delete:hover{opacity:1;color:#e53935}.add-item-btn{background:none;border:1px dashed #ccc;cursor:pointer;font-size:11px;color:#888;text-align:left;padding:4px 8px;border-radius:3px;display:flex;align-items:center;gap:4px;transition:all .15s}.add-item-btn:hover{color:#555;border-color:#999;background:#ffffff80}.add-item-input{font-size:11px;padding:4px 8px;border:1px solid #2196f3;border-radius:3px;background:#fff;width:100%;box-sizing:border-box}.add-item-input:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.add-resource-form{display:flex;gap:4px;align-items:center}.add-resource-form .add-item-input{flex:1}.add-resource-category{font-size:11px;padding:4px 6px;border:1px solid #ddd;border-radius:3px;background:#fff;cursor:pointer}.add-resource-submit{font-size:11px;padding:4px 10px;background:#2196f3;color:#fff;border:none;border-radius:3px;cursor:pointer}.add-resource-submit:hover{background:#1976d2}.time-block.zero-width-block{min-width:12px;max-width:24px;overflow:visible}.time-block.zero-width-block .time-block-header,.time-block.zero-width-block .time-block-section,.time-block.zero-width-block .time-block-section-toggle{display:none}.time-block.zero-width-block .time-block-minimal{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.time-block.zero-width-block .time-block-minimal-line{width:4px;height:90%;background:linear-gradient(to bottom,#2196f3,#1976d2);border-radius:2px;box-shadow:0 2px 4px #2196f34d}.zero-width-drag-affordances{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:2px;pointer-events:none;z-index:100}.drag-affordance{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:#2196f3e6;border-radius:50%;color:#fff;cursor:grab;opacity:0;transition:opacity .15s,transform .15s;box-shadow:0 2px 6px #0003}.time-block.is-hovered .drag-affordance{opacity:1}.drag-affordance:hover{transform:scale(1.15);background:#1976d2}.drag-affordance:active{cursor:grabbing;transform:scale(1.05)}.drag-left{border-radius:11px 4px 4px 11px}.drag-right{border-radius:4px 11px 11px 4px}.drag-center{width:18px;height:18px}.time-block-draft-bar{position:absolute;top:-28px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;background:#63b3edf2;color:#fff;padding:4px 8px;border-radius:14px;font-size:11px;box-shadow:0 2px 8px #63b3ed4d;z-index:1002;white-space:nowrap;pointer-events:auto}.draft-indicator{display:none}.draft-apply,.draft-revert{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;cursor:pointer;transition:all .15s}.draft-apply{background:#fffffff2;color:#16a34a}.draft-apply:hover{background:#fff;transform:scale(1.1)}.draft-revert{background:#fff3;color:#fff}.draft-revert:hover{background:#ffffff59;transform:scale(1.1)}.time-block.has-suggested-times{border:1px dashed #7c3aed;box-shadow:0 0 8px #7c3aed33}.time-block-suggested-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1;background:linear-gradient(135deg,#7c3aed0d,#7c3aed1a);border-radius:4px}.suggested-times-badge{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;padding:3px 10px;border-radius:10px;font-size:10px;font-weight:500;white-space:nowrap;box-shadow:0 2px 6px #7c3aed4d;pointer-events:none}.time-block.is-critical-path{border-left:3px solid #dc2626;border-right:3px solid #dc2626}.time-block-critical-indicator{position:absolute;top:-2px;left:0;right:0;height:2px;background:#dc2626;opacity:.8;pointer-events:none;z-index:2}.time-block-issue-indicator{position:absolute;top:4px;right:4px;display:flex;align-items:center;gap:2px;padding:2px 5px;border-radius:10px;font-size:10px;font-weight:600;cursor:help;z-index:10;pointer-events:auto}.time-block-issue-indicator.has-error{background:#dc2626e6;color:#fff}.time-block-issue-indicator.has-warning{background:#d97706d9;color:#fff}.time-block-issue-indicator .issue-icon{font-size:11px}.time-block-issue-indicator .issue-count{font-size:9px;opacity:.9}.time-block.has-issue-error{box-shadow:0 0 0 1px #dc26264d,0 2px 4px #0000001a}.time-block-title{padding:8px 12px;font-weight:600;font-size:13px;color:#333;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-block-edge-indicator{position:absolute;top:0;bottom:0;width:4px;cursor:pointer}.time-block-edge-indicator.edge-left{left:0;background:linear-gradient(to right,#3b82f6,transparent);border-radius:4px 0 0 4px}.time-block-edge-indicator.edge-right{right:0;background:linear-gradient(to left,#8b5cf6,transparent);border-radius:0 4px 4px 0}.time-block-edge-indicator.pinned{width:16px;background:linear-gradient(to right,#ef4444 0%,#ef4444 6px,transparent 6px);display:flex;align-items:flex-start;justify-content:flex-start}.time-block-edge-indicator.pinned.edge-right{background:linear-gradient(to left,#ef4444 0%,#ef4444 6px,transparent 6px);justify-content:flex-end}.time-block-edge-indicator.pinned svg{color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.time-block-edge-indicator:hover{opacity:.8}.io-issue-dot,.resource-issue-dot{color:#d97706;font-weight:700;font-size:10px}.resource-time-gap-squares{display:flex;align-items:center;gap:4px}.resource-time-gap-container{position:relative;display:flex;align-items:center}.resource-time-gap-square{width:16px;height:16px;border:2px solid;border-radius:3px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:8px;position:relative;background:transparent}.resource-time-gap-square:hover{transform:scale(1.1);box-shadow:0 2px 4px #0003}.resource-time-gap-square.has-value{background:currentColor;border-color:currentColor}.resource-time-gap-square.active{transform:scale(1.15);box-shadow:0 2px 6px #0000004d;z-index:10}.resource-time-gap-value{color:#fff;font-weight:600;font-size:8px;line-height:1;white-space:nowrap}.resource-time-gap-empty{color:#94a3b8;font-size:10px;opacity:.5}.resource-time-gap-input{width:40px;height:16px;border:2px solid #3b82f6;border-radius:3px;padding:0 4px;font-size:10px;background:#fff;z-index:20}.resource-time-gap-drag-feedback{position:absolute;top:-24px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap;pointer-events:none;z-index:100}.resource-time-gap-drag-feedback:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#000c}.time-block-io-section{padding:8px 12px;background:#f8fafc;border-top:1px solid #e2e8f0}.time-block-resources-section{padding:8px 12px;background:#fff5f5;border-top:1px solid #e2e8f0}.resources-list{display:flex;flex-direction:column;gap:4px}.resource-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#fff;border-radius:4px;font-size:11px;border:1px solid #e2e8f0;position:relative}.resource-item:hover .resource-delete-btn{opacity:.7}.resource-item .resource-delete-btn{opacity:0;transition:opacity .15s;margin-left:auto}.resource-item .resource-name{font-weight:500;color:#333}.resource-item .resource-category{color:#dc2626;font-size:10px}.resource-item .resource-duration{color:#64748b;font-size:10px}.resource-item.has-issue{background:#fef3c7;border-color:#d97706}.resource-item.has-issue .resource-name{color:#92400e}.time-block-resources-section.resource-drop-target-hovered{background:#f0f9ff;border-color:#8b5cf6;border-style:dashed;border-width:2px}.popup-time-row{display:flex;align-items:center;gap:8px;font-size:11px;color:#64748b;margin-bottom:6px;flex-wrap:wrap}.popup-time{display:flex;align-items:center;gap:4px}.popup-summary{display:flex;gap:8px;font-size:10px;color:#94a3b8;margin-bottom:8px}.popup-summary span{padding:2px 6px;background:#f1f5f9;border-radius:3px}.io-connection-hint{display:flex;align-items:center;gap:4px;font-size:10px;color:#6366f1;padding:4px 8px;background:#6366f114;border-radius:4px;margin-bottom:8px}.io-connection-hint svg{flex-shrink:0}.io-column-label{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.view-selector{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--color-panel, #f8f9fa);border-radius:4px;font-size:12px}.view-selector-label{display:flex;align-items:center;gap:4px;font-weight:500;color:var(--color-text-2, #666);margin-bottom:4px}.view-selector-controls{display:flex;flex-direction:column;gap:2px}.view-selector-empty{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;color:var(--color-text-3, #999);font-style:italic}.view-selector-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:3px;cursor:pointer;transition:background-color .1s}.view-selector-item:hover{background:var(--color-hover, rgba(0, 0, 0, .05))}.view-selector-item.active{background:var(--color-selected, rgba(59, 130, 246, .1));font-weight:500}.view-selector-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-selector-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .1s}.view-selector-item:hover .view-selector-actions{opacity:1}.view-selector-action{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:2px;color:var(--color-text-2, #666);transition:background-color .1s,color .1s}.view-selector-action:hover{background:var(--color-hover, rgba(0, 0, 0, .1));color:var(--color-text, #333)}.view-selector-add{display:flex;align-items:center;justify-content:center;width:100%;padding:4px;border:1px dashed var(--color-border, #ddd);border-radius:3px;background:transparent;cursor:pointer;color:var(--color-text-2, #666);transition:background-color .1s,border-color .1s}.view-selector-add:hover{background:var(--color-hover, rgba(0, 0, 0, .05));border-color:var(--color-text-2, #666)}.view-selector-create{display:flex;align-items:center;gap:4px;padding:4px}.view-selector-edit{display:flex;align-items:center;gap:4px;width:100%}.view-selector-input{flex:1;padding:2px 4px;border:1px solid var(--color-border, #ddd);border-radius:2px;font-size:12px;font-family:inherit;background:var(--color-panel, #fff)}.view-selector-input:focus{outline:none;border-color:var(--color-accent, #3b82f6)}.view-selector-confirm,.view-selector-cancel{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:2px;color:var(--color-text-2, #666);font-size:12px}.view-selector-confirm:hover{background:var(--color-success, rgba(34, 197, 94, .1));color:var(--color-success-text, #22c55e)}.view-selector-cancel:hover{background:var(--color-error, rgba(239, 68, 68, .1));color:var(--color-error-text, #ef4444)}.dependency-connector{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--color-panel, #f8f9fa);border-radius:4px;font-size:12px}.dependency-connector-button{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-border, #ddd);border-radius:4px;background:var(--color-panel, #fff);color:var(--color-text, #333);cursor:pointer;font-size:12px;transition:all .15s}.dependency-connector-button:hover:not(:disabled){background:var(--color-hover, rgba(0, 0, 0, .05));border-color:var(--color-accent, #3b82f6)}.dependency-connector-button:disabled{opacity:.6;cursor:not-allowed}.dependency-suggestions{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;border:1px solid var(--color-border, #ddd);border-radius:4px;background:var(--color-panel, #fff);padding:8px}.dependency-suggestions-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--color-text-2, #666);margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--color-border, #ddd)}.dependency-suggestions-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:2px;color:var(--color-text-2, #666);transition:all .15s}.dependency-suggestions-close:hover{background:var(--color-hover, rgba(0, 0, 0, .05));color:var(--color-text, #333)}.dependency-suggestions-list{display:flex;flex-direction:column;gap:4px}.dependency-suggestion{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border:1px solid var(--color-border, #e0e0e0);border-radius:3px;background:var(--color-panel, #fafafa);transition:all .15s}.dependency-suggestion:hover{background:var(--color-hover, rgba(0, 0, 0, .02));border-color:var(--color-accent, #3b82f6)}.dependency-suggestion-info{display:flex;align-items:center;gap:6px;flex:1;overflow:hidden}.dependency-suggestion-asset{font-weight:500;color:var(--color-text, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.dependency-suggestion-arrow{color:var(--color-text-2, #666);font-size:14px}.dependency-suggestion-from{font-size:11px;color:var(--color-text-2, #666);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.dependency-suggestion-actions{display:flex;align-items:center;gap:4px}.dependency-suggestion-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid var(--color-border, #ddd);border-radius:3px;background:var(--color-panel, #fff);cursor:pointer;color:var(--color-text, #333);transition:all .15s}.dependency-suggestion-action:hover{background:var(--color-hover, rgba(0, 0, 0, .05));border-color:var(--color-accent, #3b82f6)}.dependency-suggestion-edge:hover{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.dependency-suggestion-ref:hover{background:#22c55e1a;border-color:#22c55e;color:#22c55e}.layout-toolbar-container{display:flex;flex-direction:column;gap:8px}.layout-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 1px 3px #0000001a}.layout-toolbar-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#666;margin-right:8px}.layout-toolbar-buttons{display:flex;gap:4px}.layout-button{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:all .2s}.layout-button:hover:not(:disabled){background:#f5f5f5;border-color:#b0b0b0}.layout-button:disabled{opacity:.6;cursor:not-allowed}.layout-button.applying{background:#e3f2fd;border-color:#2196f3;color:#1976d2}.layout-toolbar-status{font-size:11px;color:#666;font-style:italic;margin-left:auto}.filter-toolbar{position:relative;display:inline-block}.filter-toggle{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:all .2s}.filter-toggle:hover{background:#f5f5f5;border-color:#b0b0b0}.filter-toggle.active{background:#e3f2fd;border-color:#2196f3;color:#1976d2}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background:#2196f3;color:#fff;border-radius:9px;font-size:10px;font-weight:600}.filter-panel{position:absolute;top:calc(100% + 4px);left:0;min-width:250px;background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1001;padding:12px}.filter-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:600;font-size:13px}.filter-clear{display:flex;align-items:center;padding:4px;border:none;background:transparent;color:#666;cursor:pointer;border-radius:4px}.filter-clear:hover{background:#f0f0f0}.filter-section{margin-bottom:16px}.filter-section:last-child{margin-bottom:0}.filter-section label{display:block;font-size:11px;font-weight:600;color:#666;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.filter-options{display:flex;gap:4px}.filter-option{padding:6px 12px;font-size:12px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:all .2s}.filter-option:hover{background:#f5f5f5}.filter-option.active{background:#2196f3;border-color:#2196f3;color:#fff}.filter-tag-input input{width:100%;padding:6px 8px;font-size:12px;border:1px solid #d0d0d0;border-radius:4px;box-sizing:border-box}.filter-tag-input input:focus{outline:none;border-color:#2196f3}.filter-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.filter-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:11px}.filter-tag-remove{display:flex;align-items:center;padding:0;border:none;background:transparent;color:#1976d2;cursor:pointer;opacity:.7}.filter-tag-remove:hover{opacity:1}.apply-plan-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.apply-plan-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:400px;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.apply-plan-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e0e0e0}.apply-plan-header h3{margin:0;font-size:18px;font-weight:600}.apply-plan-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;color:#666}.apply-plan-close:hover{color:#000}.apply-plan-content{padding:16px;overflow-y:auto;flex:1}.apply-plan-content p{margin:0 0 16px;color:#666}.apply-plan-section{margin-bottom:20px}.apply-plan-section label:first-child{display:block;font-weight:600;margin-bottom:8px;color:#333}.apply-plan-options{display:flex;flex-direction:column;gap:8px}.apply-plan-options label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400;color:#333}.apply-plan-options input[type=radio]{cursor:pointer}.apply-plan-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px;border-top:1px solid #e0e0e0}.apply-plan-cancel,.apply-plan-apply{padding:8px 16px;border-radius:4px;border:none;cursor:pointer;font-size:14px;font-weight:500}.apply-plan-cancel{background:#f5f5f5;color:#333}.apply-plan-cancel:hover:not(:disabled){background:#e0e0e0}.apply-plan-apply{background:#06c;color:#fff}.apply-plan-apply:hover:not(:disabled){background:#0052a3}.apply-plan-apply:disabled,.apply-plan-cancel:disabled{opacity:.5;cursor:not-allowed}.draft-toolbar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px 20px;box-shadow:0 4px 16px #0000001f;display:flex;align-items:center;gap:20px;z-index:1000;animation:draft-toolbar-slide-up .2s ease-out}@keyframes draft-toolbar-slide-up{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.draft-toolbar-status{display:flex;align-items:center;gap:8px;color:#63b3ed;font-size:13px;font-weight:500}.draft-toolbar-icon{opacity:.7}.draft-toolbar-count{color:#374151}.draft-toolbar-actions{display:flex;align-items:center;gap:8px}.draft-toolbar-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.draft-toolbar-btn:disabled{opacity:.6;cursor:not-allowed}.draft-toolbar-btn-apply-plan{background:#7c3aed;color:#fff}.draft-toolbar-btn-apply-plan:hover:not(:disabled){background:#6d28d9}.draft-toolbar-btn-apply{background:#10b981;color:#fff}.draft-toolbar-btn-apply:hover:not(:disabled){background:#059669}.draft-toolbar-btn-revert{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.draft-toolbar-btn-revert:hover:not(:disabled){background:#e5e7eb}.add-to-doc-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001}.add-to-doc-dialog{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.add-to-doc-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.add-to-doc-header h2{margin:0;font-size:18px;font-weight:600;color:#111}.add-to-doc-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px;transition:background .2s}.add-to-doc-close:hover{background:#f0f0f0}.add-to-doc-content{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.add-to-doc-preview{background:#f5f5f5;border-radius:6px;padding:12px;border:1px solid #e0e0e0}.add-to-doc-preview-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.add-to-doc-preview-content{display:flex;flex-direction:column;gap:6px}.add-to-doc-preview-title{font-weight:600;font-size:14px;color:#111}.add-to-doc-preview-description{font-size:12px;color:#666}.add-to-doc-preview-tags{font-size:11px;color:#999}.add-to-doc-section{display:flex;flex-direction:column;gap:8px}.add-to-doc-label{font-size:14px;font-weight:600;color:#333}.add-to-doc-select{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;outline:none;transition:border-color .2s}.add-to-doc-select:focus{border-color:#06c}.add-to-doc-mode-options{display:flex;flex-direction:column;gap:12px}.add-to-doc-mode-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s}.add-to-doc-mode-option:hover{border-color:#06c;background:#f5f8ff}.add-to-doc-mode-option input[type=radio]{margin-top:2px;cursor:pointer}.add-to-doc-mode-option input[type=radio]:checked+.add-to-doc-mode-content{color:#06c}.add-to-doc-mode-content{flex:1;display:flex;flex-direction:column;gap:4px}.add-to-doc-mode-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#333}.add-to-doc-mode-option input[type=radio]:checked~.add-to-doc-mode-content .add-to-doc-mode-title{color:#06c}.add-to-doc-mode-description{font-size:12px;color:#666;line-height:1.4}.add-to-doc-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e0e0e0}.add-to-doc-cancel{padding:8px 16px;background:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.add-to-doc-cancel:hover{background:#f5f5f5;border-color:#999}.add-to-doc-add{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#06c;border:none;border-radius:6px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:background .2s}.add-to-doc-add:hover:not(:disabled){background:#0052a3}.add-to-doc-add:disabled{opacity:.5;cursor:not-allowed}.share-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:2000}.share-modal{background:#fff;border-radius:12px;padding:24px;width:520px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 12px 40px #0003}.share-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.share-modal-close{border:none;background:transparent;font-size:22px;cursor:pointer;line-height:1}.share-cloud-section{border:1px solid #ffe0b2;background:#fff8e1;padding:16px;border-radius:8px;margin-bottom:16px}.share-link-section{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.share-link-row{display:flex;gap:8px}.share-link-row input[type=text]{flex:1;padding:8px;border:1px solid #ddd;border-radius:6px}.share-invite-section{margin-bottom:16px}.share-invite-row{display:flex;gap:8px}.share-invite-row input,.share-invite-row select{flex:1;padding:8px;border:1px solid #ddd;border-radius:6px}.share-list-section{border-top:1px solid #f0f0f0;padding-top:12px}.share-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.share-list-item{display:flex;justify-content:space-between;align-items:center;border:1px solid #eee;border-radius:8px;padding:8px 12px}.share-list-item div span{display:block;font-size:12px;color:#666}.share-primary-button{background:#1976d2;color:#fff;border:none;border-radius:6px;padding:8px 12px;cursor:pointer}.share-secondary-button{border:1px solid #1976d2;background:#fff;color:#1976d2;border-radius:6px;padding:8px 12px;cursor:pointer}.share-remove-button{border:none;background:transparent;color:#c62828;cursor:pointer}.share-error{color:#c62828;margin-top:8px}.share-stop-section{margin-top:24px;padding-top:16px}.share-stop-divider{height:1px;background:#e0e0e0;margin-bottom:16px}.share-stop-button{background:#c62828;color:#fff;border:none;border-radius:6px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:500;width:100%;margin-bottom:8px;transition:background-color .2s}.share-stop-button:hover:not(:disabled){background:#b71c1c}.share-stop-button:disabled{opacity:.6;cursor:not-allowed}.share-stop-hint{font-size:12px;color:#666;margin:0;text-align:center}.share-managed-section{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:16px;margin-bottom:16px}.share-managed-message{margin:0 0 12px;color:#856404;font-size:14px}.share-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000}.share-confirm-dialog{background:#fff;border-radius:12px;padding:24px;max-width:400px;box-shadow:0 12px 40px #0000004d}.share-confirm-dialog h3{margin:0 0 12px;font-size:18px}.share-confirm-dialog p{margin:0 0 20px;color:#666;font-size:14px;line-height:1.5}.share-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.board-app{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#fafafa;overflow:hidden;z-index:100}.board-app-toolbar{position:fixed;height:40px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 2px 8px #0000001a;z-index:200;display:flex;align-items:center;padding:0 8px;gap:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-user-select:none;user-select:none}.board-app-toolbar-title{cursor:grab}.board-app-toolbar-title:active{cursor:grabbing}.board-app-toolbar-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#333;transition:background-color .15s}.board-app-toolbar-button:hover{background:#0000000d}.board-app-toolbar-button:active{background:#0000001a}.board-app-toolbar-divider{width:1px;height:24px;background:#0000001a}.board-app-toolbar-title{font-size:14px;font-weight:500;color:#333;padding:0 8px;white-space:nowrap}.board-app-toolbar-spacer{flex:1}.board-app-view{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:1}.board-floating-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;background:#fff;border-right:1px solid rgba(0,0,0,.1);box-shadow:2px 0 8px #0000001a;z-index:150;display:flex;flex-direction:column;animation:slideInLeft .2s ease-out}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.board-floating-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(0,0,0,.1);font-weight:600;font-size:14px}.board-floating-sidebar-header button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#666;transition:background-color .15s}.board-floating-sidebar-header button:hover{background:#0000000d}.board-floating-sidebar-content{flex:1;overflow-y:auto;padding:8px}.board-floating-sidebar-section{margin-bottom:16px}.board-floating-sidebar-section-title{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;margin-bottom:4px}.board-floating-sidebar-item{display:block;width:100%;padding:8px 12px;border:none;background:transparent;text-align:left;font-size:14px;color:#333;border-radius:6px;cursor:pointer;transition:background-color .15s;margin-bottom:2px}.board-floating-sidebar-item:hover{background:#0000000d}.board-floating-sidebar-item.active{background:#1976d21a;color:#1976d2;font-weight:500}.board-floating-sidebar-toggle{position:fixed;top:16px;left:64px;width:40px;height:40px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 2px 8px #0000001a;z-index:200;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;transition:background-color .15s}.board-floating-sidebar-toggle:hover{background:#0000000d}.board-app-view .board-view{width:100%;height:100%}.toast-container{position:fixed;bottom:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:12px 16px;min-width:300px;max-width:500px;display:flex;flex-direction:column;gap:12px;pointer-events:auto;animation:toastSlideIn .3s ease-out;position:relative;overflow:hidden}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-content{display:flex;align-items:flex-start;gap:12px}.toast-message{flex:1;color:#333;font-size:.9em;line-height:1.4}.toast-actions-container{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;flex-wrap:wrap}.toast-actions{display:flex;gap:8px;flex-wrap:wrap}.toast-action{background:none;border:1px solid #ddd;border-radius:4px;padding:4px 12px;font-size:.85em;cursor:pointer;color:#666;transition:all .15s}.toast-action:hover{background-color:#f5f5f5;border-color:#bbb}.toast-action.primary{background-color:#1976d2;color:#fff;border-color:#1976d2}.toast-action.primary:hover{background-color:#1565c0}.toast-dismiss{background:none;border:none;font-size:1.5em;line-height:1;color:#999;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s}.toast-dismiss:hover{color:#666}.toast-checkbox{display:flex;align-items:center;gap:6px;font-size:.85em;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;margin-left:auto;white-space:nowrap}.toast-checkbox-label{cursor:pointer;order:1}.toast-checkbox input[type=checkbox]{cursor:pointer;margin:0;order:2;flex-shrink:0}.toast-progress{position:absolute;bottom:0;left:0;right:0;width:100%;height:4px;background-color:#1976d2;animation:toastProgress linear;transform-origin:left;border-radius:0 0 8px 8px;z-index:1}@keyframes toastProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.presence-indicator{display:flex;align-items:center;gap:0;cursor:pointer;padding:2px 4px;border-radius:16px;transition:background-color .2s}.presence-indicator:hover{background-color:#0000000d}.presence-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:#fff;border:2px solid white;box-shadow:0 1px 2px #0000001a;position:relative;flex-shrink:0;-webkit-user-select:none;user-select:none}.presence-avatar-more{background-color:#5f6368!important;font-size:10px}*{margin:0;padding:0;box-sizing:border-box}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;background:#fff}#root{width:100%;height:100vh}.cm-line:has(.tag-filter-hidden){display:none!important}.cm-editor,.cm-scroller,.cm-content{border:none!important;outline:none!important}.cm-editor:focus,.cm-editor:focus-within{outline:none!important;border:none!important}
