.hierarchy-icon{stroke:var(--color-icon-outline)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.loading-container{display:flex;align-items:center;justify-content:center;padding:20px}.sidebar-nav-buttons{display:flex;flex-direction:column;align-items:center;padding:1vh 0;gap:.56vh;flex:1}.app-sidebar-parent-button{width:3.05vh;aspect-ratio:1;border:none;border-radius:.58vh;background:transparent;--app-sidebar-icon-fill: var(--color-bg-surface);--app-sidebar-icon-stroke: var(--color-border);--app-sidebar-icon-mask: var(--color-bg-surface);color:var(--color-sidebar-text);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-sidebar-child-button{width:3.05vh;aspect-ratio:1;border:none;border-radius:.5vh;background:transparent;--app-sidebar-icon-fill: var(--color-bg-surface);--app-sidebar-icon-stroke: var(--color-border);--app-sidebar-icon-mask: var(--color-bg-surface);color:var(--color-sidebar-text);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-sidebar-option-button{width:3.05vh;aspect-ratio:1;border:none;border-radius:.58vh;background:transparent;color:var(--color-sidebar-text);cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:auto}.app-sidebar-domain-start{margin-top:.56vh}.app-sidebar-section-divider{width:2.2vh;height:1px;margin:.8vh 0 .24vh;background:var(--color-sidebar-text);opacity:.45}.app-sidebar-parent-button svg{width:2.4vh;height:2.4vh;display:block;transition:filter .14s ease-out}.app-sidebar-child-button svg{width:2.4vh;height:2.4vh;display:block;transition:filter .14s ease-out}.app-sidebar-option-button svg{width:1.96vh;height:1.96vh;display:block;transition:filter .14s ease-out}.sidebar-icon-surface{fill:var(--app-sidebar-icon-fill);stroke:var(--app-sidebar-icon-stroke)}.sidebar-icon-edge-mask{stroke:var(--app-sidebar-icon-mask)}.sidebar-icon-edge{stroke:var(--app-sidebar-icon-stroke)}.app-sidebar-parent-button:not(.app-sidebar-button-active):hover,.app-sidebar-child-button:not(.app-sidebar-button-active):hover{--app-sidebar-icon-stroke: var(--color-primary);--app-sidebar-icon-mask: color-mix(in srgb, var(--color-primary) 35%, var(--color-bg-surface));color:var(--color-primary)}.app-sidebar-option-button:not(.app-sidebar-button-active):hover{color:var(--color-primary)}.app-sidebar-parent-button:not(.app-sidebar-button-active):hover svg,.app-sidebar-child-button:not(.app-sidebar-button-active):hover svg,.app-sidebar-option-button:not(.app-sidebar-button-active):hover svg{filter:brightness(1.18) drop-shadow(0 0 .18vh var(--color-primary)) drop-shadow(0 0 .34vh var(--color-primary))}.app-sidebar-button-active{background:transparent;--app-sidebar-icon-fill: var(--color-primary);--app-sidebar-icon-stroke: color-mix(in srgb, var(--color-primary) 8%, var(--color-bg-surface));--app-sidebar-icon-mask: var(--color-bg-surface);color:var(--color-primary)}.app-sidebar-button-active svg{filter:drop-shadow(0 0 .18vh var(--color-primary)) drop-shadow(0 0 .34vh var(--color-primary))}.app-sidebar-button-active .sidebar-icon-surface,.app-sidebar-button-active .sidebar-icon-edge{stroke-width:1.2}.app-sidebar-button-active .sidebar-icon-edge-mask{stroke-width:1.6}.app-sidebar-button-disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.folder-config-page{display:flex;flex-direction:column;gap:12px;padding:14px}.folder-config-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;background:var(--color-bg-surface);border:var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-flat)}.folder-config-info{display:flex;flex-direction:column;gap:6px;min-width:0}.folder-config-title-row{display:flex;align-items:center;gap:10px}.folder-config-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-heading)}.folder-config-status-ready{padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-success);background:var(--color-success-subtle)}.folder-config-status-missing{padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-error);background:var(--color-error-subtle)}.folder-config-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.folder-config-path{margin:0;font-size:var(--font-size-sm);font-family:var(--font-family-mono);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-tab{display:flex;flex-direction:column;gap:1.11vh}.tc-cards-row{display:flex;gap:.74vh;flex-wrap:wrap}.tc-card{flex:1;min-width:120px;padding:.74vh;background:var(--color-bg-surface);border:var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-flat);cursor:pointer;transition:var(--transition-base);text-align:left;display:flex;flex-direction:column;gap:.37vh}.tc-card:hover{box-shadow:var(--shadow-raised);transform:translateY(-1px)}.tc-card-active{flex:1;min-width:120px;padding:.74vh;background:var(--color-bg-surface);border:var(--border-card);border-color:var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-accent);cursor:pointer;transition:var(--transition-base);text-align:left;display:flex;flex-direction:column;gap:.37vh}.tc-card-active:hover{box-shadow:var(--shadow-raised);transform:translateY(-1px)}.tc-card-header{display:flex;align-items:center;justify-content:space-between;gap:.37vh}.tc-card-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-heading)}.tc-card-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-primary-text);background:var(--color-primary);padding:1px 6px;border-radius:var(--radius-pill)}.tc-card-swatches{display:flex;gap:3px}.tc-swatch{flex:1;height:14px;border-radius:var(--radius-xs);border:1px solid var(--color-border-light);display:block}.tc-preview{display:flex;flex-direction:column;gap:.56vh}.tc-preview-header{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-heading);display:flex;align-items:center;gap:.56vh}.tc-preview-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-primary-text);background:var(--color-warning);padding:1px 6px;border-radius:var(--radius-pill)}.tc-preview-hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.tc-textarea{width:100%;height:200px;padding:.46vh;font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-primary);background:var(--color-bg-input);border:var(--border-input);border-radius:var(--radius-sm);resize:vertical;outline:none;transition:var(--transition-fast);line-height:1.5;box-sizing:border-box}.tc-textarea:focus{border-color:var(--color-border-focus);box-shadow:var(--input-shadow-focus)}.tc-textarea-error{width:100%;height:200px;padding:.46vh;font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-primary);background:var(--color-bg-input);border:var(--border-input);border-color:var(--color-error);border-radius:var(--radius-sm);resize:vertical;outline:none;transition:var(--transition-fast);line-height:1.5;box-sizing:border-box}.tc-error{font-size:var(--font-size-xs);color:var(--color-error);font-family:var(--font-family-mono);word-break:break-all;margin:0}.tc-warning{font-size:var(--font-size-xs);color:var(--color-warning);font-family:var(--font-family-mono);word-break:break-all;margin:0}.tc-actions{display:flex;gap:.56vh}.aic-gate{flex:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);color:var(--color-text-muted);padding:24px;text-align:center}.aic-card-grid{display:grid;grid-template-columns:repeat(auto-fill,380px);grid-auto-rows:440px;gap:14px;padding:14px;align-content:start;overflow-y:auto}.aic-card{display:flex;flex-direction:column;background:var(--color-bg-surface);border:var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-flat);overflow:hidden;transition:var(--transition-base);cursor:pointer}.aic-card:hover{box-shadow:var(--shadow-raised)}.aic-card-active{display:flex;flex-direction:column;background:var(--color-bg-surface);border:1px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-accent);overflow:hidden;transition:var(--transition-base);cursor:pointer}.aic-card-active:hover{box-shadow:var(--shadow-accent)}.aic-card-default-active{display:flex;flex-direction:column;background:var(--color-bg-surface);border:2px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-accent);overflow:hidden;transition:var(--transition-base);cursor:pointer}.aic-card-default-active:hover{box-shadow:var(--shadow-accent)}.aic-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 8px}.aic-card-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-heading);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.aic-card-name-input{flex:1;min-width:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-heading);background:transparent;border:none;outline:none;padding:0;text-align:center}.aic-icon-btn-danger{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:none;border:none;border-radius:var(--radius-xs);cursor:pointer;color:var(--color-text-muted);transition:var(--transition-fast);flex-shrink:0}.aic-icon-btn-danger svg{width:14px;height:14px}.aic-icon-btn-danger:hover{color:var(--color-error);background:var(--color-error-subtle)}.aic-card-body{flex:1;display:flex;flex-direction:column;gap:10px;padding:10px 12px;min-height:0;overflow:hidden}.aic-field{display:flex;flex-direction:column;gap:4px}.aic-field-grow{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0}.aic-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.aic-input{padding:5px 8px;font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-input);border:var(--border-input);border-radius:var(--radius-xs);outline:none;transition:var(--transition-fast);width:100%;box-sizing:border-box}.aic-input:focus{border-color:var(--color-border-focus);box-shadow:var(--input-shadow-focus)}.aic-input::placeholder{color:var(--color-text-primary)}.aic-field-hint{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.35}.aic-model-label-row{display:flex;align-items:center;gap:6px}.aic-model-add-inline-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:none;border:none;cursor:pointer;color:var(--color-text-muted);transition:var(--transition-fast);flex-shrink:0}.aic-model-add-inline-btn svg{width:14px;height:14px}.aic-model-add-inline-btn:hover{color:var(--color-primary)}.aic-model-section{display:flex;flex-direction:column;gap:4px;border:var(--border-input);border-radius:var(--radius-xs);padding:6px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:none}.aic-model-section::-webkit-scrollbar{display:none}.aic-model-entry{display:flex;align-items:center;gap:4px;padding:0 6px 0 4px;background:var(--color-bg-input);border:var(--border-input);border-radius:var(--radius-xs);transition:var(--transition-fast)}.aic-model-entry:focus-within{border-color:var(--color-border-focus);box-shadow:var(--input-shadow-focus)}.aic-model-drag-handle{display:flex;align-items:center;flex-shrink:0;padding:4px 2px;color:var(--color-text-muted);cursor:grab;transition:var(--transition-fast)}.aic-model-drag-handle svg{width:14px;height:14px}.aic-model-drag-handle:hover{color:var(--color-text-primary)}.aic-model-drag-handle:active{cursor:grabbing}.aic-model-input-box{flex:1;min-width:0;padding:5px 4px;font-size:var(--font-size-sm);font-family:var(--font-family-mono);color:var(--color-text-primary);background:transparent;border:none;outline:none;box-sizing:border-box;line-height:1.4}input.aic-model-input-box::placeholder{color:var(--color-text-primary)}.aic-model-remove-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:none;border:none;border-radius:var(--radius-xs);cursor:pointer;color:var(--color-text-muted);flex-shrink:0;transition:var(--transition-fast)}.aic-model-remove-btn svg{width:13px;height:13px}.aic-model-remove-btn:hover{color:var(--color-error)}.aic-card-footer{padding:8px 12px}.aic-default-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:5px 0;background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);transition:var(--transition-fast)}.aic-default-btn:hover{color:var(--color-primary)}.aic-default-btn-active{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:5px 0;background:none;border:none;cursor:default;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.aic-default-icon{display:flex;align-items:center;width:16px;height:16px;flex-shrink:0}.aic-default-icon svg{width:16px;height:16px}.aic-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:none;border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted);transition:var(--transition-fast)}.aic-add-card:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-subtle)}.aic-add-card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--color-bg-app);border:var(--border-panel)}.aic-add-card:hover .aic-add-card-icon{background:var(--color-primary-subtle);border-color:var(--color-primary)}.aic-add-card-icon svg{width:18px;height:18px}.opt-page{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--color-bg-app);color:var(--color-text-primary);font-family:var(--font-family)}.opt-header{padding:.93vh .93vh 0;border-bottom:var(--border-panel);flex-shrink:0}.opt-header h2{margin:0 0 .56vh;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary)}.opt-tabs{display:flex;gap:0;border-bottom:var(--border-panel);flex-shrink:0;background:var(--color-bg-app)}.opt-tab{padding:.56vh 1.11vh;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-fast);margin-bottom:-1px;white-space:nowrap}.opt-tab:hover{color:var(--color-text-primary)}.opt-tab-active{padding:.56vh 1.11vh;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);border:none;border-bottom:2px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;transition:var(--transition-fast);margin-bottom:-1px;white-space:nowrap}.opt-tab-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding:.93vh}.opt-btn-primary{padding:.46vh .93vh;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-xs);border:var(--border-btn);cursor:pointer;transition:var(--transition-fast);background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.opt-btn-primary:disabled{opacity:.4;cursor:not-allowed}.opt-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.opt-btn-secondary{padding:.46vh .93vh;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-xs);border:var(--border-btn);cursor:pointer;transition:var(--transition-fast);background:var(--color-bg-surface);color:var(--color-text-secondary)}.opt-btn-secondary:disabled{opacity:.4;cursor:not-allowed}.opt-btn-secondary:hover:not(:disabled){background:var(--color-bg-app)}.opt-sample-tab{display:flex;flex-direction:column;gap:.74vh}.opt-sample-tab p{margin:0;font-size:var(--font-size-base);color:var(--color-text-muted);line-height:1.4}.opt-warning{color:var(--color-error)!important;font-size:var(--font-size-base);font-weight:500}.filter-picker-menu{position:relative;flex-shrink:0;width:200px}.filter-picker-trigger{display:flex;align-items:center;gap:5px;width:100%;height:26px;padding:0 12px;border:var(--border-input);border-radius:var(--radius-pill);background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);white-space:nowrap}.filter-picker-trigger-filtered{display:flex;align-items:center;gap:5px;width:100%;height:26px;padding:0 12px;border:var(--border-input);border-color:var(--color-border-focus);border-radius:var(--radius-pill);background:var(--color-primary-subtle);color:var(--color-primary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);white-space:nowrap}.filter-picker-trigger-open{display:flex;align-items:center;gap:5px;width:100%;height:26px;padding:0 12px;border:var(--border-input);border-color:var(--color-border-focus);border-radius:var(--radius-pill);background:var(--color-bg-app);color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-primary-subtle);cursor:pointer;font:inherit;font-size:var(--font-size-sm);white-space:nowrap}.filter-picker-trigger:hover:not(:disabled),.filter-picker-trigger-filtered:hover:not(:disabled){background:var(--color-bg-app);border-color:var(--color-border-focus)}.filter-picker-trigger:disabled,.filter-picker-trigger-filtered:disabled,.filter-picker-trigger-open:disabled{opacity:.45;cursor:not-allowed}.filter-picker-trigger svg,.filter-picker-trigger-filtered svg,.filter-picker-trigger-open svg{width:13px;height:13px;flex-shrink:0}.filter-picker-label{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.filter-picker-chevron{display:inline-block;margin-left:1px;font-size:var(--font-size-lg);line-height:.75;opacity:.55;transition:transform .2s ease}.filter-picker-chevron-open{display:inline-block;margin-left:1px;transform:rotate(180deg);font-size:var(--font-size-lg);line-height:.75;opacity:.8;transition:transform .2s ease}.filter-picker-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:200;min-width:100%;overflow:hidden;border:1px solid var(--color-border-focus);border-radius:var(--radius-md);background:var(--color-bg-app);box-shadow:var(--dropdown-shadow)}.filter-picker-panel-inner{max-height:240px;overflow-y:auto;padding:4px 0}.filter-picker-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-secondary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);text-align:left}.filter-picker-row-active{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:left}.filter-picker-row:hover,.filter-picker-row-active:hover{background:var(--color-bg-surface)}.filter-picker-check{display:inline-flex;width:16px;min-width:16px;height:16px;border:1.5px solid var(--color-border-strong);border-radius:50%;box-sizing:border-box}.filter-picker-check-active{display:inline-flex;width:16px;min-width:16px;height:16px;border:5px solid var(--color-primary);border-radius:50%;box-sizing:border-box}.filter-picker-row-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-picker-empty{padding:8px 12px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.thumbnail-search-bar{display:flex;align-items:center;padding:8px 0 8px 16px;gap:8px;flex:1;min-width:0}.thumbnail-search-status{display:inline-flex;align-items:center;flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;opacity:0}.thumbnail-search-status-visible{display:inline-flex;align-items:center;flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;opacity:1}.thumbnail-search-input-wrapper{position:relative;flex:1;min-width:120px}.thumbnail-search-input{width:100%;padding:5px 2rem 5px 12px;border:var(--border-input);border-radius:var(--radius-pill);font-size:var(--font-size-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);box-sizing:border-box;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.thumbnail-search-input:focus{outline:none;background:var(--color-bg-app);border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-primary-subtle);color:var(--color-text-primary)}.thumbnail-search-input:disabled{opacity:.45;cursor:not-allowed}.thumbnail-search-clear-button{position:absolute;display:inline-flex;align-items:center;justify-content:center;right:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:transparent;cursor:pointer;padding:0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1;border-radius:50%}.thumbnail-search-clear-button:hover{color:var(--color-text-primary);background:var(--color-border)}.options-container{position:relative}.options-container-active{z-index:1001}.options-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:transparent;cursor:default}.options-button{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:var(--btn-radius);color:var(--color-icon);line-height:1;display:flex;align-items:center;justify-content:center;transition:var(--btn-transition);width:28px;height:28px}.options-button svg{width:16px;height:16px;flex-shrink:0}.options-button:hover{background:var(--color-bg-surface-highlight);color:var(--color-icon-active)}.shelf-options-button{padding:4px 8px}.options-menu{background:var(--dropdown-bg);border:var(--dropdown-border);border-radius:var(--dropdown-radius);box-shadow:var(--dropdown-shadow);min-width:160px;max-width:220px;max-height:80vh;overflow-y:auto;overflow-x:hidden;z-index:1001;animation:options-menu-enter var(--transition-spring) forwards}@keyframes options-menu-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.options-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);transition:background var(--transition-fast);border-bottom:1px solid var(--color-border-light)}.options-menu-item:last-child{border-bottom:none}.options-menu-item:hover{background:var(--color-bg-hover)}.options-menu-icon{width:16px;height:16px;flex-shrink:0;color:var(--color-icon);display:flex;align-items:center;justify-content:center}.options-menu-icon svg{width:16px;height:16px}.options-menu-item-danger .options-menu-icon{color:var(--color-error)}.options-menu-item-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.notebook-cover-image-input{display:none}.color-palette{position:fixed;background:var(--color-bg-surface);border:var(--border-panel);border-radius:var(--radius-md);padding:.5rem;box-shadow:var(--shadow-float);z-index:10000}.color-palette-grid{display:grid;grid-template-columns:repeat(4,2rem);gap:.4rem}.color-swatch{width:2rem;height:2rem;border-radius:var(--radius-xs);cursor:pointer;border:var(--border-width-base) solid transparent;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.color-swatch:hover{border-color:var(--color-text-muted);transform:scale(1.1)}.color-swatch.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-subtle)}.color-swatch svg{width:1rem;height:1rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.color-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-scrim);z-index:9999;pointer-events:all}.rotation-quadrant-2 .book-front-cover:before,.rotation-quadrant-3 .book-front-cover:before{display:none}.notebook-item-container{display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.notebook-item-active .notebook-scene{animation:notebook-active-glow 5s ease-out}@keyframes notebook-active-glow{0%,15%{filter:drop-shadow(0 0 10px var(--color-primary)) drop-shadow(0 0 4px var(--color-primary))}}.notebook-scene{width:calc(var(--cover-width) + 60px);height:calc(var(--cover-height) + 40px);perspective:1500px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.notebook-3d{position:relative;width:var(--cover-width);height:var(--cover-height);transform-style:preserve-3d;transition:transform .15s ease-out;pointer-events:none}.notebook-3d-dragging{transition:none}.notebook-hit-zone-drag{position:absolute;top:calc((100% - var(--cover-height)) / 2);left:calc((100% - var(--cover-width)) / 2);width:var(--cover-width);height:calc(var(--cover-height) / 10);cursor:grab;background:transparent;border-radius:var(--cover-border-radius) var(--cover-border-radius) 0 0;z-index:7}.notebook-hit-zone-drag:active{cursor:grabbing}.notebook-hit-zone-open{position:absolute;top:calc((100% - var(--cover-height)) / 2);right:calc((100% - var(--cover-width)) / 2);width:calc(var(--cover-width) * .05);height:var(--cover-height);cursor:zoom-in;background:transparent;z-index:6}.notebook-hit-zone-options{position:absolute;bottom:calc((100% - var(--cover-height)) / 2);left:calc((100% - var(--cover-width)) / 2);width:var(--cover-width);height:calc(var(--cover-height) / 10);cursor:help;z-index:8}.notebook-hit-zone-options.options-container-active{z-index:1001}.notebook-hit-zone-options-button{width:100%;height:100%;padding:0;border:none;border-radius:0 0 var(--cover-border-radius) var(--cover-border-radius);background:transparent;cursor:help;display:block}body[data-notebook-dragging] .notebook-item-container{pointer-events:none}body[data-notebook-dragging] .notebook-hit-zone-options{visibility:hidden}.notebook-item-slot-dragging .notebook-scene{border-radius:var(--radius-sm);background:var(--color-drop-target-bg);outline:2px dashed var(--color-drop-target-border);filter:none!important}.notebook-item-slot-dragging .notebook-scene>*{visibility:hidden}.book-spine{position:absolute;left:var(--spine-left);top:var(--spine-top);width:var(--spine-width);height:var(--spine-height);background:linear-gradient(130deg,rgb(var(--spine-start-r),var(--spine-start-g),var(--spine-start-b)),rgb(var(--spine-end-r),var(--spine-end-g),var(--spine-end-b)));transform-origin:right center;transform:rotateY(-90deg);border-radius:2px 0 0 2px;backface-visibility:hidden;box-shadow:inset -2px 0 4px #00000026,inset 2px 0 4px #fff3}.book-spine-inner{position:absolute;left:0;top:var(--spine-top);width:var(--spine-width);height:var(--spine-height);background:var(--color-border-strong);transform-origin:left center;transform:rotateY(90deg);backface-visibility:hidden}.book-front-cover{position:absolute;left:var(--cover-left);top:var(--cover-top);width:var(--cover-width);height:var(--cover-height);background:linear-gradient(135deg,rgb(var(--front-cover-top-left-r),var(--front-cover-top-left-g),var(--front-cover-top-left-b)),rgb(var(--front-cover-bottom-right-r),var(--front-cover-bottom-right-g),var(--front-cover-bottom-right-b)));border-radius:0 var(--cover-border-radius) var(--cover-border-radius) 0;transform-origin:left center;backface-visibility:hidden;box-shadow:inset -1px -1px #00000026,inset 1px 1px #fff6;display:flex;flex-direction:column;align-items:center;justify-content:space-between;transform-style:preserve-3d}.cover-media-window{position:absolute;top:5%;left:5%;width:calc(var(--cover-width) * .92);height:calc(var(--cover-width) * .92 / 1.5);border-radius:calc(var(--cover-border-radius) * .5);overflow:hidden;background:transparent;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 5%,black 95%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 5%,black 95%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.cover-media-content{width:95%;height:95%;object-fit:cover;object-position:center}.book-front-cover:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgb(var(--book-base-r),var(--book-base-g),var(--book-base-b));border-radius:var(--cover-border-radius) 0 0 var(--cover-border-radius);transform:rotateY(180deg);backface-visibility:hidden}.book-front-cover-right-edge{position:absolute;top:50%;right:-1px;width:1px;height:var(--cover-edge-height);background:linear-gradient(to bottom,rgb(var(--book-base-r),var(--book-base-g),var(--book-base-b)));transform-origin:left center;transform:translateY(-50%) rotateY(90deg);backface-visibility:visible}.book-front-cover:after{content:"";position:absolute;top:0;left:5px;width:5px;height:100%;background:linear-gradient(to right,#00000003,#0000001a 60%,#ffffff1a 51%,#fff3);pointer-events:none}.cover-title{position:absolute;top:70%;left:50%;transform:translate(-50%);width:90%;color:var(--color-primary-text);backface-visibility:hidden;font-size:var(--font-size-lg);font-weight:700;text-align:center;line-height:1.4;overflow-wrap:break-word;word-break:break-word;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}textarea.cover-title{display:block;resize:none;overflow:hidden;background:none;border:none;outline:none;padding:0;margin:0;font-family:inherit;pointer-events:auto;cursor:text}.book-back-cover{position:absolute;left:var(--cover-left);top:var(--cover-top);width:var(--cover-width);height:var(--cover-height);background:rgb(var(--book-base-r),var(--book-base-g),var(--book-base-b));border-radius:0 var(--cover-border-radius) var(--cover-border-radius) 0;backface-visibility:hidden;box-shadow:inset 2px 2px 4px #ffffff4d,inset -2px -2px 4px #00000026;transform-style:preserve-3d}.book-back-cover:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgb(var(--back-cover-top-left-r),var(--back-cover-top-left-g),var(--back-cover-top-left-b)),rgb(var(--back-cover-bottom-right-r),var(--back-cover-bottom-right-g),var(--back-cover-bottom-right-b)));border-radius:var(--cover-border-radius) 0 0 var(--cover-border-radius);transform:rotateY(180deg);backface-visibility:hidden}.book-back-cover-right-edge{position:absolute;top:50%;right:0;width:1px;height:var(--cover-edge-height);background:linear-gradient(to bottom,rgb(var(--book-base-r),var(--book-base-g),var(--book-base-b)));transform-origin:right center;transform:translateY(-50%) rotateY(90deg);backface-visibility:visible}.page-stack-placeholder{position:absolute;left:var(--page-stack-left);top:var(--page-stack-top);width:var(--page-width);height:var(--page-height);background:var(--color-border-strong);box-shadow:inset -8px 0 4px 0 var(--color-border);pointer-events:none}.page-stack-3d{position:absolute;left:var(--page-stack-left);top:var(--page-stack-top);width:var(--page-width);height:var(--page-height);transform-style:preserve-3d;backface-visibility:visible}.page-3d{position:absolute;top:0;left:0;width:var(--page-width);height:var(--page-height);transform-style:preserve-3d;backface-visibility:visible;will-change:transform}.pages{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-border-strong);box-shadow:inset -8px 0 4px 0 var(--color-border);backface-visibility:visible}.page-edge-right{position:absolute;top:0;right:0;width:1px;height:100%;background:var(--color-bg-surface);transform-origin:left center;transform:rotateY(90deg);backface-visibility:hidden}body[data-notebook-menu-open] .notebook-item-container{pointer-events:none}body[data-notebook-menu-open] .options-container-active{pointer-events:auto}.shelf-section{background:var(--color-bg-surface);border:var(--border-panel);border-radius:var(--radius-sm);overflow:visible;box-shadow:var(--shadow-flat)}.shelf-section-new{background:var(--color-bg-surface);border:var(--border-panel);border-radius:var(--radius-sm);overflow:visible;box-shadow:var(--shadow-flat);animation:shelf-new-glow 5s ease-out forwards}@keyframes shelf-new-glow{0%,15%{box-shadow:var(--shadow-flat),0 0 0 2px var(--color-primary),0 0 16px 4px var(--color-primary)}to{box-shadow:var(--shadow-flat)}}.shelf-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:var(--transition-base);border-bottom:var(--border-width-base) solid transparent}.shelf-header:hover{background-color:var(--color-bg-surface-highlight)}.shelf-header-expanded{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:var(--transition-base);border-bottom:var(--border-width-base) solid var(--color-border)}.shelf-header-expanded:hover{background-color:var(--color-bg-surface-highlight)}.shelf-header-main{display:flex;align-items:center;gap:12px;flex:1}.shelf-expand-icon{font-size:var(--font-size-base);color:var(--color-text-muted);min-width:16px;text-align:center}.shelf-info{flex:1;min-width:0}.shelf-actions{display:flex;align-items:center}.shelf-name-display{font-size:var(--font-size-base);font-weight:500;color:var(--color-text-primary);border:none;outline:none;background:none;padding:0;margin:0;font-family:inherit}span.shelf-name-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebooks-container{max-height:0;overflow:hidden;transition:var(--transition-slow)}.notebooks-container-expanded{max-height:fit-content;overflow:visible;transition:var(--transition-slow)}.notebooks-list{padding:16px 20px}.notebooks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.notebook-item-wrapper{display:flex;flex-direction:column;justify-content:flex-start;transition:box-shadow var(--transition-base),filter var(--transition-base),opacity var(--transition-base);position:relative}.notebook-item-wrapper-overlay{display:flex;flex-direction:column;justify-content:flex-start;position:relative;cursor:grabbing;filter:drop-shadow(var(--shadow-accent));border-radius:var(--radius-sm)}.empty-notebooks{text-align:center;padding:32px 20px;color:var(--color-text-muted)}.empty-notebooks p{margin:0;font-size:var(--font-size-base)}.thumbnail-view{display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--color-bg-app)}.thumbnail-view-header{display:flex;align-items:center;flex-shrink:0;gap:8px;padding-right:8px;background:var(--color-bg-surface);border-bottom:var(--border-panel);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.shelves-container{flex:1;overflow-y:auto;padding:0 8px}.shelves-list{display:flex;flex-direction:column;gap:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;text-align:center;color:var(--color-text-muted)}.empty-state p{margin:0;font-size:var(--font-size-base)}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-overlay-scrim);z-index:1000}.confirm-dialog{min-width:280px;max-width:400px;display:flex;flex-direction:column;gap:16px;padding:20px 24px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);box-shadow:0 8px 24px #0000004d}.confirm-dialog-title{margin:0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:600}.confirm-dialog-message{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-dialog-cancel{padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);transition:background var(--transition-fast)}.confirm-dialog-cancel:hover{background:var(--color-bg-hover)}.confirm-dialog-ok{padding:6px 14px;border:none;border-radius:var(--radius-xs);background:var(--color-error);color:var(--color-primary-text);cursor:pointer;font-size:var(--font-size-sm);transition:opacity var(--transition-fast)}.confirm-dialog-ok:hover{opacity:.85}.confirm-dialog-cancel:disabled,.confirm-dialog-ok:disabled{opacity:.6;cursor:not-allowed}.sw-tree{--tree-base-indent: 8px;--tree-level-indent: 16px;--tree-clip-extra-indent: 20px;--tree-row-connector-top: 13px;overflow:visible;-webkit-user-select:none;user-select:none}.sw-node-wrapper{position:relative}.sw-node-wrapper-has-hierarchy:before{content:"";position:absolute;left:calc(var(--tree-level, 1) * var(--tree-level-indent, 16px));top:0;bottom:0;width:var(--tree-guide-width);background-image:linear-gradient(to bottom,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-width) var(--tree-guide-dash);background-repeat:repeat-y;pointer-events:none;z-index:1}.sw-node-wrapper-has-hierarchy:last-child:before{height:calc(var(--tree-row-connector-top) + 1px);bottom:auto}.sw-node-row{display:flex;align-items:center;padding:4px;padding-left:calc(var(--tree-base-indent, 8px) + var(--tree-level, 0) * var(--tree-level-indent, 16px));position:relative;gap:4px;cursor:pointer;border-radius:var(--radius-xs);overflow:visible;z-index:0}.sw-node-wrapper-has-hierarchy>.sw-node-row:after{content:"";position:absolute;left:calc(var(--tree-level, 1) * var(--tree-level-indent, 16px));top:var(--tree-row-connector-top);width:var(--tree-base-indent, 8px);height:var(--tree-guide-width);background-image:linear-gradient(to right,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-dash) var(--tree-guide-width);background-repeat:repeat-x;pointer-events:none;z-index:1}.sw-node-wrapper-has-hierarchy>.sw-node-row.sw-node-type-clip:after{width:calc(var(--tree-base-indent, 8px) + var(--tree-clip-extra-indent, 20px))}.sw-node-row:hover{background-color:var(--color-bg-hover)}.sw-node-row-active{background-color:var(--color-primary-subtle)}.sw-node-row-selected{background-color:var(--color-primary-subtle);outline:1px solid var(--color-primary);outline-offset:-1px}.sw-node-row-dragging{opacity:.35}.sw-node-row-annotated{align-items:flex-start}.sw-node-row.sw-node-type-clip{padding-left:calc(var(--tree-base-indent, 8px) + var(--tree-level, 0) * var(--tree-level-indent, 16px) + var(--tree-clip-extra-indent, 20px))}.sw-node-row.sw-drop-before,.sw-node-row.sw-drop-after{z-index:10}.sw-node-row.sw-drop-before:before,.sw-node-row.sw-drop-after:before{content:"";position:absolute;left:0;right:0;height:2px;background-color:var(--color-primary);border-radius:0;pointer-events:none;z-index:10}.sw-node-row.sw-drop-before:before{top:0}.sw-node-row.sw-drop-after:before{bottom:0}.sw-node-icon{width:14px;height:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab}.sw-node-type-clipgroup>.sw-node-icon,.sw-node-type-clip>.sw-node-icon{cursor:default}.sw-node-icon[aria-disabled=true]{cursor:default}.sw-node-row-renaming .sw-node-icon{pointer-events:none;cursor:default}.sw-checkbox{flex-shrink:0;width:14px;height:14px;cursor:pointer;accent-color:var(--color-primary)}.sw-node-row-renaming .sw-checkbox{display:none}.sw-checkbox-locked{opacity:.4;pointer-events:none}.sw-checkbox:disabled{opacity:.4;cursor:not-allowed}.sw-node-row:has(.sw-checkbox-locked){cursor:default}.sw-node-name{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-base);color:var(--color-text-primary)}.sw-node-type-shelf>.sw-node-name{font-weight:600}.sw-node-type-notebook>.sw-node-name{font-weight:500}.sw-node-type-clip>.sw-node-text{display:flex;flex:0 1 auto;flex-direction:column;min-width:0}.sw-node-type-clip>.sw-node-text .sw-node-name{white-space:normal;overflow:visible;text-overflow:unset}.sw-node-open-btn{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-muted);cursor:pointer;padding:2px}.sw-node-open-btn:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-primary)}.sw-node-open-btn:disabled{cursor:default;opacity:.45}.sw-node-open-btn svg{width:17px;height:17px}.sw-toggle{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:none;padding:0;color:var(--color-text-muted);transition:opacity var(--transition-fast)}.sw-toggle:hover{opacity:.7}.sw-toggle-placeholder{cursor:default;opacity:.2}.sw-node-children{position:relative}.sw-node-type-clipgroup>.sw-node-name,.sw-node-type-clip>.sw-node-name,.sw-node-type-clip>.sw-node-text .sw-node-name{color:var(--color-text-muted);font-size:var(--font-size-sm)}.sw-annotation-preview{color:var(--color-text-muted);font-size:.78em;line-height:1.4;margin-top:2px;white-space:pre-wrap;word-break:break-word}.sw-search-bar{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.sw-search-input-wrapper{position:relative;flex:1;min-width:120px}.sw-search-input{width:100%;padding:5px 2rem 5px 12px;border:var(--border-input);border-radius:var(--radius-pill);font-size:var(--font-size-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);box-sizing:border-box;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.sw-search-input:focus{outline:none;background:var(--color-bg-app);border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-primary-subtle);color:var(--color-text-primary)}.sw-search-input:disabled{opacity:.45;cursor:not-allowed}.sw-search-clear-btn{position:absolute;display:inline-flex;align-items:center;justify-content:center;right:5px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:transparent;cursor:pointer;padding:0;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1;border-radius:50%}.sw-search-clear-btn:hover{color:var(--color-text-primary);background:var(--color-border)}.sw-search-status{display:inline-flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;opacity:0;transition:opacity .2s ease}.sw-search-status-visible{display:inline-flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;opacity:1;transition:opacity .2s ease}.sw-search-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 5px;height:16px;border-radius:var(--radius-pill);background:var(--color-primary-subtle);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:600}.sw-search-badge-warning{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 5px;height:16px;border-radius:var(--radius-pill);background:var(--color-warning-subtle);color:var(--color-warning);font-size:var(--font-size-xs);font-weight:600}.sw-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--color-bg-app)}.sw-toolbar{display:flex;align-items:center;gap:2px;padding:2px 6px;border-bottom:1px solid var(--color-border);flex-shrink:0}.sw-action-buttons{display:flex;align-items:center;gap:2px;flex-shrink:0}.sw-toolbar-btn{display:flex;align-items:center;justify-content:flex-start;gap:3px;padding:2px 6px;border:none;border-radius:var(--radius-xs);background:none;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);transition:background var(--transition-fast);white-space:nowrap;height:24px}.sw-action-add{width:90px}.sw-action-clone{width:64px}.sw-action-rename{width:76px}.sw-action-delete{width:70px}.sw-toolbar-btn:hover:not(:disabled){background:var(--color-bg-hover)}.sw-toolbar-btn svg{width:14px;height:14px;flex-shrink:0}.sw-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.sw-toolbar-btn-danger:hover:not(:disabled){background:var(--color-error-subtle);color:var(--color-error)}.sw-toolbar-spacer{flex:1}.sw-filter-bar{display:flex;align-items:center;gap:6px;padding:4px 8px;border-bottom:1px solid var(--color-border);flex-shrink:0}.sw-selection-count,.sw-toolbar-status-saving{font-size:var(--font-size-sm);white-space:nowrap;color:var(--color-text-muted)}.sw-toolbar-status-error{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);white-space:nowrap;max-width:200px;overflow:hidden;color:var(--color-error)}.sw-toolbar-status-icon{flex-shrink:0}.sw-toolbar-status-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-toolbar-status-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:0 2px;font-size:var(--font-size-base);line-height:1;color:inherit;opacity:.7}.sw-toolbar-status-dismiss:hover{opacity:1}.sw-toolbar-status-reload{flex-shrink:0;background:none;border:1px solid currentColor;border-radius:var(--radius-xs);cursor:pointer;padding:0 6px;font-size:var(--font-size-sm);line-height:18px;color:inherit;opacity:.8}.sw-toolbar-status-reload:hover{opacity:1}.sw-tree-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0}.sw-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;gap:8px}.sw-drag-overlay{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xs);box-shadow:0 4px 12px #0003;padding:6px 10px;opacity:.92;pointer-events:none;font-size:var(--font-size-base);color:var(--color-text-primary);white-space:nowrap}.open-notebook{height:100%;display:flex;flex-direction:column;background:var(--color-bg-surface)}.open-notebook-header{padding:.56vh;border-bottom:1px solid var(--color-border);background:var(--color-bg-app);display:flex;flex-direction:column;gap:.56vh}.open-notebook-content{flex:1;min-height:0}.view-mode-switch{display:flex;justify-content:center}.view-mode-buttons{display:flex;gap:.19vh;background:var(--color-bg-app);border-radius:.28vh;padding:.19vh;width:fit-content;border:1px solid var(--color-border)}.view-mode-button{display:flex;align-items:center;gap:.28vh;padding:.37vh .56vh;border:none;border-radius:.19vh;background:transparent;color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition-base);outline:none}.view-mode-button:hover{background:var(--color-border);color:var(--color-text-secondary)}.view-mode-button-active{display:flex;align-items:center;gap:.28vh;padding:.37vh .56vh;border:none;border-radius:.19vh;background:var(--color-primary);color:var(--color-bg-surface);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition-base);outline:none;box-shadow:var(--shadow-accent)}.view-mode-button-active:hover{background:var(--color-primary-hover)}.view-mode-icon{font-size:var(--font-size-base);line-height:1}.view-mode-label{font-size:var(--font-size-base);font-weight:600}.storage-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.78vh .93vh;text-align:center;color:var(--color-text-muted)}.storage-waiting-icon{font-size:var(--font-size-base);margin-bottom:.93vh;opacity:.8}.storage-waiting h3{font-size:var(--font-size-base);margin:0 0 .56vh;color:var(--color-text-secondary)}.storage-waiting p{font-size:var(--font-size-base);margin:0;max-width:23.15vw;color:var(--color-text-muted)}.chapter-tab-scroll-wrap{margin-left:1vw;min-width:0;max-width:100%;height:100%;display:flex;align-items:flex-end;background:var(--color-bg-surface)}.chapter-tabs-scroll{gap:.1vw;padding-left:.1vw;padding-right:.1vw;height:calc(100% + .4vw);display:flex;align-items:flex-end;padding-bottom:.4vw;margin-bottom:-.4vw;overflow-x:auto;overflow-y:visible;scrollbar-width:none;-ms-overflow-style:none;position:relative}.chapter-tabs-scroll::-webkit-scrollbar{display:none}.chapter-tab-operate{flex-shrink:0;display:flex;margin:.1vw;align-items:flex-end;justify-content:center;background:var(--color-bg-surface)}.chapter-tab{display:flex;align-items:center;height:85%;width:var(--chapter-tab-width);min-width:var(--chapter-tab-width);max-width:var(--chapter-tab-width);flex-shrink:0;padding:.2vw;background:var(--color-bg-surface);border:.05vw solid var(--color-border);border-bottom:none;border-radius:.3vw .3vw 0 0;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background-color var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.chapter-drag-icon{display:flex;align-items:center;justify-content:center;width:10%;height:100%;flex-shrink:0;border-radius:.2vw;background-color:var(--color-border-strong);color:var(--color-bg-surface);font-size:var(--font-size-sm);font-weight:600;cursor:grab}.chapter-drag-icon:active{cursor:grabbing}.chapter-tab-dragging{background:var(--color-drop-target-bg);border:2px dashed var(--color-drop-target-border)}.chapter-tab-dragging>*{visibility:hidden}.chapter-tab-overlay{cursor:grabbing;filter:drop-shadow(var(--shadow-accent))}.chapter-tab.active{background-color:var(--color-bg-surface);z-index:10;box-shadow:var(--shadow-raised)}.chapter-tab.active:after{content:"";position:absolute;bottom:-.2vw;left:0;right:0;height:.4vw;background-color:var(--color-bg-surface)}.chapter-name-text{flex:1;min-width:0;font-size:var(--font-size-base);font-weight:500;color:var(--color-text-primary);white-space:nowrap;text-align:left;border:none;outline:none;background:none;padding:0 .2vw;margin:0;font-family:inherit}span.chapter-name-text{overflow:hidden;text-overflow:ellipsis}.section-tab-scroll-wrap{flex-shrink:0;margin-top:1vw;width:100%;min-height:0;display:flex;flex-direction:column;background:var(--color-bg-surface);position:relative}.section-tab-operation{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin:.1vw;background:var(--color-bg-surface)}.section-tab-operation .options-button{transform:rotate(90deg)}.section-tab-scroll{width:calc(100% + .4vw);height:100%;gap:.1vw;display:flex;flex-direction:column;padding-left:.4vw;margin-left:-.4vw;padding-top:.1vw;padding-bottom:.1vw;overflow-x:visible;overflow-y:auto;scroll-behavior:auto;scrollbar-width:none;-ms-overflow-style:none;position:relative}.section-tab-scroll::-webkit-scrollbar{display:none}.section-tab{position:relative;height:var(--section-tab-height);min-height:var(--section-tab-height);max-height:var(--section-tab-height);width:85%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:.2vw;background:var(--color-bg-surface);border:.05vw solid var(--color-border);border-left:none;border-radius:0 .3vw .3vw 0vw;cursor:pointer;transition:background-color var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.section-tab.active{background:var(--color-bg-surface);z-index:10;box-shadow:var(--shadow-raised)}.section-tab.active:after{content:"";position:absolute;left:-.3vw;top:0;bottom:0;width:.5vw;background:var(--color-bg-surface)}.section-drag-icon{border-radius:.1vw;display:flex;align-items:center;justify-content:center;width:100%;height:15%;background-color:var(--color-border-strong);color:var(--color-bg-surface);flex-shrink:0;font-size:var(--font-size-sm);font-weight:600;position:relative;cursor:grab}.section-drag-icon:active{cursor:grabbing}.section-number{display:inline-block;transform:rotate(90deg)}.section-name-display{font-size:var(--font-size-base);font-weight:500;color:var(--color-text-primary);padding-top:.1vw;padding-bottom:.1vw;margin-bottom:0;text-align:center;width:calc(var(--section-tab-height) * .7);max-width:var(--section-tab-height);min-width:0;white-space:nowrap;transform:rotate(90deg) translate(45%);transform-origin:center center;border:none;outline:none;background:none;font-family:inherit}span.section-name-display{overflow:hidden;text-overflow:clip}.section-tab-dragging{background:var(--color-drop-target-bg);border:2px dashed var(--color-drop-target-border)}.section-tab-dragging>*{visibility:hidden}.section-tab-overlay{cursor:grabbing;filter:drop-shadow(var(--shadow-accent))}.page-item-wrapper{position:relative;display:flex;flex-direction:column;background:var(--color-bg-surface);border:var(--border-panel);overflow:hidden;min-width:0;min-height:0;flex:1}.page-item-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-bg-app);border-bottom:var(--border-panel);height:5vh;min-height:5vh;flex-shrink:0;cursor:pointer}.page-item-name{flex:1;min-width:0;margin:0 12px;font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);white-space:nowrap;border:none;outline:none;background:none;padding:0;font-family:inherit}div.page-item-name{overflow:hidden;text-overflow:ellipsis;cursor:pointer}.page-item-actions{display:flex;gap:8px}.page-item-body{display:flex;flex-direction:row;overflow:hidden;flex:1;min-height:0}.page-item-btn-add,.page-item-btn-delete,.page-item-btn-maximize,.page-item-btn-ai{padding:6px 12px;border:var(--border-panel);background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-base);border-radius:var(--radius-xs);transition:all var(--transition-base);display:flex;align-items:center;gap:4px}.page-item-btn-add svg,.page-item-btn-delete svg,.page-item-btn-maximize svg,.page-item-btn-ai svg{width:1rem;height:1rem}.page-item-btn-add:hover{background:var(--color-info-subtle);color:var(--color-info)}.page-item-btn-delete{background:var(--color-bg-app)}.page-item-btn-delete:hover{background:var(--color-error-subtle);color:var(--color-error);border-color:var(--color-error-subtle)}.page-item-btn-add:disabled,.page-item-btn-delete:disabled,.page-item-btn-maximize:disabled,.page-item-btn-ai:disabled{opacity:.4;cursor:not-allowed;background:var(--color-bg-app);color:var(--color-text-muted)}.page-item-btn-add:disabled:hover,.page-item-btn-delete:disabled:hover,.page-item-btn-maximize:disabled:hover,.page-item-btn-ai:disabled:hover{background:var(--color-bg-hover);color:var(--color-text-muted);transform:none}.page-item-btn-ai{font-weight:var(--font-weight-bold);letter-spacing:.03em}.page-item-btn-ai:hover{background:var(--color-info-subtle);color:var(--color-primary)}.page-item-btn-maximize{font-size:var(--font-size-md)}.page-item-btn-maximize svg{width:16px;height:16px}.page-item-btn-maximize:hover{background:var(--color-bg-hover);color:var(--color-primary)}.page-item-maximized .page-item-btn-maximize{background:var(--color-primary);color:var(--color-bg-surface);border-color:var(--color-primary-hover)}.page-item-maximized .page-item-btn-maximize:hover{background:var(--color-primary-hover)}.pageitem-active{border:.1vw solid var(--color-primary);transition:border-color var(--transition-base)}body.page-item-maximized-active{overflow:hidden}body.page-item-maximized-active .bookedit-main-content-top-bar,body.page-item-maximized-active .chapter-tab-nav,body.page-item-maximized-active .section-tab-nav,body.page-item-maximized-active .bookedit-sidebar,body.page-item-maximized-active .sidebar-divider{display:none!important}body.page-item-maximized-active .page-item-wrapper:not(.page-item-maximized){display:none!important}.page-item-maximized{position:fixed!important;top:0;left:0;right:0;bottom:0;width:100vw!important;height:100vh!important;max-height:none!important;z-index:9999;border:none!important;box-shadow:none!important}.tbd-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:24px 32px;box-sizing:border-box}.tbd-media-zone,.tbd-media-zone-drag-over,.tbd-text-zone{width:100%;flex:1;display:flex;align-items:center;justify-content:center;border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);transition:border-color var(--transition-base),background var(--transition-base);padding:20px;box-sizing:border-box}.tbd-zone-text{font-size:var(--font-size-md);color:var(--color-text-secondary);text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none}.tbd-media-zone-drag-over{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.tbd-media-zone-drag-over .tbd-zone-text{color:var(--color-primary)}.tbd-text-zone{cursor:pointer}.tbd-text-zone:hover{border-color:var(--color-border-strong);background:var(--color-bg-hover)}.tbd-text-zone:hover .tbd-zone-text{color:var(--color-text-primary)}.tbd-text-zone:active{background:var(--color-bg-app)}.tbd-or-divider{flex-shrink:0;padding:10px 0;font-size:var(--font-size-base);color:var(--color-text-muted);font-weight:500;letter-spacing:.03em}.media-player{position:relative;background-color:var(--color-media-bg)}.media-player-loading{min-height:30vh;background-color:var(--color-media-bg)}.media-video{width:100%;height:auto;max-height:100%;display:block;object-fit:contain;aspect-ratio:16 / 9;min-height:30vh;background-color:var(--color-media-bg)}.timeline-section{padding:.5vh 1vh 1vh;background-color:var(--color-bg-app);border:var(--border-panel);border-radius:.56vh;flex-shrink:0;scrollbar-width:none;-ms-overflow-style:none}.timeline-main-bar{position:relative;height:2.4vh;background-color:var(--color-bg-surface);border:var(--border-panel);border-radius:.28vh .28vh 0 0;cursor:pointer;overflow:hidden;-webkit-user-select:none;user-select:none}.main-bar-tick{position:absolute;top:0;bottom:0;width:1px;background-color:var(--color-border);pointer-events:none}.main-bar-label{position:absolute;top:50%;left:2px;transform:translateY(-50%);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;pointer-events:none}.timeline-position-needle{position:absolute;top:0;bottom:0;width:2px;background-color:var(--color-primary);cursor:ew-resize;z-index:2;transform:translate(-50%)}.timeline-fineseek-bar{position:relative;height:3.2vh;background-color:var(--color-bg-surface);border:var(--border-panel);border-top:none;border-radius:0 0 .28vh .28vh;cursor:crosshair;overflow:hidden;-webkit-user-select:none;user-select:none}.fine-seek-tick{position:absolute;top:0;bottom:0;width:1px;background-color:var(--color-border);pointer-events:none}.fine-seek-label{position:absolute;bottom:2px;font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;pointer-events:none;transform:translate(-50%)}.fine-seek-needle{position:absolute;top:0;bottom:0;width:2px;background-color:var(--color-primary);cursor:ew-resize;z-index:2;transform:translate(-50%)}.timeline-clip-thumbnail-bar{position:relative;height:1.2vh;min-height:6px;background-color:var(--color-bg-surface);border:var(--border-panel);border-top:none;border-radius:0 0 .28vh .28vh;margin-top:.4vh;overflow:hidden}.clip-thumbnail-marker{position:absolute;top:1px;bottom:1px;background-color:var(--color-primary);opacity:.4;border-radius:1px;cursor:pointer;transition:opacity .1s}.clip-thumbnail-marker:hover{opacity:.7}.clip-thumbnail-marker-active{opacity:.85;z-index:1}.timeline-toolbar{display:flex;align-items:center;gap:.4vh;margin-top:.6vh;flex-wrap:wrap}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;padding:.3vh .8vh;font-size:var(--font-size-sm);border:var(--border-panel);border-radius:var(--radius-xs);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;transition:background .1s,color .1s;white-space:nowrap}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn:hover:not(:disabled){background:var(--color-bg-hover)}.toolbar-btn-play{min-width:3.2vh}.toolbar-btn-save:not(:disabled){color:var(--color-success)}.toolbar-btn-save:hover:not(:disabled){background-color:var(--color-success-subtle)}.toolbar-btn-delete:not(:disabled){color:var(--color-error)}.toolbar-btn-delete:hover:not(:disabled){background-color:var(--color-error-subtle)}.timeline-clip-zoombar{position:relative;height:4vh;background-color:var(--color-bg-hover);overflow:hidden;-webkit-user-select:none;user-select:none;cursor:pointer}.clip-edit-marker{position:absolute;top:.5vh;bottom:.5vh;display:flex;align-items:stretch;background-color:var(--color-timeline-marker-fill);border:2px solid var(--color-error);border-radius:.37vh;z-index:3;min-width:24px}.clip-edit-marker-duration{position:absolute;top:50%;transform:translateY(-50%);z-index:5;pointer-events:none;white-space:nowrap;font-size:1.32vh;color:var(--color-error);-webkit-user-select:none;user-select:none}.clip-edit-marker-left,.clip-edit-marker-right{flex-shrink:0;width:10px;cursor:ew-resize;background-color:var(--color-error);opacity:.7;transition:opacity var(--transition-fast)}.clip-edit-marker-left{border-radius:.2vh 0 0 .2vh}.clip-edit-marker-right{border-radius:0 .2vh .2vh 0}.clip-edit-marker-left:hover,.clip-edit-marker-right:hover{opacity:1}.clip-edit-marker-body{flex:1;cursor:grab;background-color:transparent;border-left:1px solid var(--color-error);border-right:1px solid var(--color-error)}.clip-edit-marker-body:active{cursor:grabbing}.page-item-split-pane{display:flex;flex-direction:row;width:100%;height:100%;overflow:hidden}.split-pane-left,.split-pane-right{height:100%;overflow:hidden;flex-shrink:0}.split-pane-divider{width:6px;height:100%;flex-shrink:0;cursor:col-resize;background:var(--color-bg-app);border-left:var(--border-panel);border-right:var(--border-panel);transition:background var(--transition-fast)}.split-pane-divider:hover{background:var(--color-primary-hover)}.rich-text-editor-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:40px 20px;color:var(--color-text-muted);font-style:italic;font-size:var(--font-size-base);text-align:center}.rich-text-editor-wrapper{height:100%;display:flex;flex-direction:column;overflow:hidden}.annotation-toolbar{flex-shrink:0;display:flex;align-items:center;gap:2px;padding:3px 6px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-light)}.annotation-toolbar-item,.annotation-toolbar-item-sep{display:flex;align-items:center;flex-shrink:0}.rich-text-paste-warning-bar{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-warning-subtle);border-bottom:1px solid var(--color-warning);color:var(--color-warning);font-size:var(--font-size-sm);flex-shrink:0}.rich-text-paste-warning-icon{flex-shrink:0;font-weight:700}.rich-text-paste-warning-text{flex:1;min-width:0}.rich-text-paste-warning-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:var(--font-size-md);line-height:1;color:inherit;padding:0 2px;opacity:.7}.rich-text-paste-warning-dismiss:hover{opacity:1}.annotation-toolbar-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--color-text-secondary);cursor:pointer;line-height:1;transition:background var(--transition-fast),color var(--transition-fast)}.annotation-toolbar-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.annotation-toolbar-btn svg,.annotation-toolbar-btn-active svg,.annotation-toolbar-btn-disabled svg,.annotation-toolbar-btn-danger svg{width:13px;height:13px;flex-shrink:0}.annotation-toolbar-btn-active{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 5px;background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-xs);color:var(--color-primary);cursor:pointer;line-height:1;transition:background var(--transition-fast),color var(--transition-fast)}.annotation-toolbar-btn-disabled{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--color-border);cursor:not-allowed;line-height:1;opacity:.45}.annotation-toolbar-btn-danger{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--color-text-secondary);cursor:pointer;line-height:1;transition:background var(--transition-fast),color var(--transition-fast)}.annotation-toolbar-btn-danger:hover{background:var(--color-error-subtle);color:var(--color-error)}.annotation-toolbar-sep{width:1px;height:18px;background:var(--color-border-light);margin:0 3px;flex-shrink:0}.annotation-toolbar-popover{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-float);padding:8px;display:flex;flex-direction:column;gap:6px;min-width:140px}.annotation-toolbar-popover-portal{position:fixed;z-index:200;max-width:calc(100vw - 16px)}.annotation-toolbar-swatches{display:grid;grid-template-columns:repeat(4,20px);gap:4px}.annotation-toolbar-size-list{display:flex;flex-direction:column;gap:4px}.annotation-toolbar-size-option{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);padding:4px 8px;cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.annotation-toolbar-size-option:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.annotation-toolbar-size-option-active{font-size:var(--font-size-xs);color:var(--color-primary);background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-xs);padding:4px 8px;cursor:pointer;text-align:left}.annotation-toolbar-swatch{width:20px;height:20px;border-radius:var(--radius-xs);border:1px solid var(--color-border-light);cursor:pointer;padding:0;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.annotation-toolbar-swatch:hover{transform:scale(1.15);box-shadow:0 0 0 2px var(--color-primary)}.annotation-toolbar-custom-color{display:flex;align-items:center;gap:5px;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;padding:2px 0;border-top:1px solid var(--color-border-light)}.annotation-toolbar-custom-color input[type=color]{width:20px;height:20px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-xs);cursor:pointer;background:none}.annotation-toolbar-remove-highlight{font-size:var(--font-size-xs);color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border-light);border-radius:var(--radius-xs);padding:3px 6px;cursor:pointer;text-align:left;border-top:1px solid var(--color-border-light);transition:background var(--transition-fast),color var(--transition-fast)}.annotation-toolbar-remove-highlight:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.rich-text-editor{flex:1;overflow:auto;display:flex;flex-direction:column;position:relative;scrollbar-width:none}.rich-text-editor-drop-allowed{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:2px dashed var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary-subtle);opacity:.35;pointer-events:none;z-index:5}.rich-text-editor-drop-blocked{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-error-subtle);pointer-events:none;z-index:5}.rich-text-editor-drop-blocked:after{content:"";position:absolute;top:50%;left:50%;width:42px;height:42px;border:4px solid var(--color-error);border-radius:50%;background:linear-gradient(45deg,transparent 43%,var(--color-error) 43%,var(--color-error) 57%,transparent 57%);transform:translate(-50%,-50%)}.rich-text-editor::-webkit-scrollbar{display:none}.rich-text-editor .ProseMirror{flex:1;padding:8px 12px;min-height:100%;outline:none;color:var(--color-text-primary);font-size:var(--font-size-base);line-height:1.6}.rich-text-editor .ProseMirror img{max-width:100%;border-radius:var(--radius-sm);display:block}.annotation-image-wrapper{position:relative;display:inline-block}.rich-text-editor .ProseMirror-focused .annotation-image-wrapper.selected img{outline:2px solid var(--color-primary)}.annotation-image-resize-handle{position:absolute;right:0;bottom:0;width:10px;height:10px;cursor:se-resize;background:var(--color-primary);opacity:0}.rich-text-editor .ProseMirror-focused .annotation-image-wrapper.selected .annotation-image-resize-handle{opacity:.8}.rich-text-editor .ProseMirror table{border-collapse:collapse;width:100%;margin:8px 0}.rich-text-editor .ProseMirror td,.rich-text-editor .ProseMirror th{border:1px solid var(--color-border);padding:4px 8px;font-size:var(--font-size-base)}.page-item-clips{width:100%;height:100%;overflow:auto;background:var(--color-bg-app);overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.page-item-clips::-webkit-scrollbar{display:none}.clips-empty-state{padding:40px 20px;text-align:center;color:var(--color-text-muted);font-style:italic}.clips-empty-state p{margin:0}.clip-group{border-bottom:1px solid var(--color-border);--clip-header-padding-left: 8px;--clip-toggle-width: 16px;--clip-header-gap: 6px;--clip-leading-size: 36px;--clip-side-column-width: 60px;--clip-row-connector-top: 22px;--clip-toggle-center-x: calc(var(--clip-header-padding-left) + var(--clip-toggle-width) / 2);--clip-group-icon-left-x: calc(var(--clip-header-padding-left) + var(--clip-toggle-width) + var(--clip-header-gap));--clip-vline-left: calc(var(--clip-toggle-center-x) - var(--clip-group-icon-left-x));--clip-hline-width: calc(var(--clip-group-icon-left-x) - var(--clip-toggle-center-x))}.clip-group-active{background-color:var(--color-primary-subtle)}.clip-group-header{display:flex;align-items:center;gap:var(--clip-header-gap);padding:6px 4px 6px var(--clip-header-padding-left);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.clip-group-header:hover,.clip-group-active .clip-group-header,.clip-group-active .clip-group-header:hover{background-color:var(--color-primary-subtle);box-shadow:inset 0 0 0 1px var(--color-primary)}.clip-group-toggle{width:var(--clip-toggle-width);height:var(--clip-toggle-width);border:none;background:none;cursor:pointer;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast)}.clip-group-toggle:hover{opacity:.7}.clip-group-toggle svg{display:block}.clip-group-icon{width:14px;height:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;-webkit-user-select:none;user-select:none;opacity:.7;transition:opacity var(--transition-fast)}.clip-group-icon:hover{opacity:1}.clip-group-icon:active{cursor:grabbing}.clip-group-icon svg{width:100%;height:100%}.clip-group-dragging{opacity:.4}.clip-group-name{flex:1;min-width:0;font-weight:600;font-size:var(--font-size-base);color:var(--color-text-primary);white-space:nowrap;border:none;outline:none;background:none;padding:0;margin:0;font-family:inherit}span.clip-group-name{overflow:hidden;text-overflow:ellipsis}input.clip-group-name{background-color:var(--color-primary-subtle)}.clip-group-count{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0}.clip-group-edit-btn,.clip-group-add-btn,.clip-group-delete-btn{padding:2px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.clip-group-edit-btn svg,.clip-group-add-btn svg,.clip-group-delete-btn svg{width:14px;height:14px}.clip-group-edit-btn:hover,.clip-group-add-btn:hover{color:var(--color-primary)}.clip-group-delete-btn:hover{color:var(--color-error)}.clip-group-items{padding:4px 0 4px var(--clip-group-icon-left-x)}.clip-item-wrapper{position:relative}.clip-item-wrapper:before{content:"";position:absolute;left:var(--clip-vline-left);top:0;bottom:0;width:var(--tree-guide-width);background-image:linear-gradient(to bottom,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-width) var(--tree-guide-dash);background-repeat:repeat-y;pointer-events:none;z-index:1}.clip-item-wrapper:last-child:before{height:var(--clip-row-connector-top);bottom:auto}.clip-item-wrapper>.clip-item:after{content:"";position:absolute;left:calc(-1 * var(--clip-hline-width));top:var(--clip-row-connector-top);width:var(--clip-hline-width);height:var(--tree-guide-width);background-image:linear-gradient(to right,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-dash) var(--tree-guide-width);background-repeat:repeat-x;pointer-events:none;z-index:1}.clip-item{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 2px 0 0;transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base);margin:4px 4px 4px 0;display:flex;flex-direction:column;box-shadow:var(--shadow-flat);position:relative}.clip-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-accent)}.clip-item-active{border-color:var(--color-primary)!important;box-shadow:var(--shadow-accent)}.clip-title-row{display:flex;align-items:center;gap:0;cursor:pointer;transition:background var(--transition-base);min-height:40px}.clip-handle-column{width:15px;align-self:stretch;border-radius:6px 0 0 6px;cursor:grab;transition:opacity var(--transition-base),filter var(--transition-base);flex-shrink:0;margin:0}.clip-item-annotation-expanded .clip-handle-column{border-bottom-left-radius:0}.clip-handle-column:hover{filter:brightness(1.15)}.clip-handle-column:active{cursor:grabbing}.clip-leading-column{width:var(--clip-leading-size);min-width:var(--clip-leading-size);display:flex;align-items:center;justify-content:center;flex-shrink:0}.clip-title-column{min-width:0;flex:1;display:flex;align-items:center}.clip-title{width:100%;min-width:0;font-weight:500;font-size:var(--font-size-base);line-height:1.4;color:var(--color-text-primary);align-self:auto;border:none;border-radius:2px;padding:0 2px;outline:none;background:none;font-family:inherit;margin:0;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}textarea.clip-title{display:block;width:100%;min-width:0;-webkit-line-clamp:unset;overflow:hidden;outline:none;background-color:var(--color-primary-subtle);resize:none;font-family:inherit;align-self:stretch}.clip-side-column{width:var(--clip-side-column-width);min-width:var(--clip-side-column-width);display:flex;flex-direction:column;justify-content:center;gap:1px;flex-shrink:0}.clip-side-row{min-height:14px;display:flex;align-items:center;justify-content:flex-end}.clip-side-row-meta-toggle{min-height:16px;gap:4px}.clip-delete-btn{padding:2px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-base),opacity var(--transition-base);display:flex;align-items:center;justify-content:center;flex-shrink:0}.clip-delete-btn svg{width:16px;height:16px}.clip-delete-btn:hover{color:var(--color-error)}.clip-meta-text{max-width:100%;font-size:var(--font-size-xs);line-height:1.2;color:var(--color-text-secondary);font-weight:500;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clip-thumbnail{width:var(--clip-leading-size);height:var(--clip-leading-size);aspect-ratio:1 / 1;cursor:inherit;border-radius:0;overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg-app);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin:0 2px 0 4px}.clip-thumbnail img{width:100%;height:100%;object-fit:cover}.clip-thumbnail:hover{border-color:var(--color-primary);box-shadow:var(--shadow-accent)}.clip-item-dragging{opacity:.5;cursor:move!important}.clip-item-drop-before{position:relative;z-index:10}.clip-item-drop-before:before{content:"";position:absolute;top:-2px;left:0;right:0;height:2px;background-color:var(--color-primary);border-radius:0;z-index:100}.clip-item-drop-after{position:relative;z-index:10}.clip-item-drop-after:before{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--color-primary);border-radius:0;z-index:100}.clip-group-header-drop-before{box-shadow:inset 0 2px 0 0 var(--color-primary);position:relative;z-index:10}.clip-group-header-drop-after{box-shadow:inset 0 -2px 0 0 var(--color-primary);position:relative;z-index:10}.clip-group-header-drop-inside{background-color:var(--color-primary-subtle)!important;border:2px dashed var(--color-primary);border-radius:var(--radius-xs)}.clip-play-btn{padding:0;border:none;background:transparent;color:var(--color-border-light);cursor:pointer;transition:color var(--transition-base),opacity var(--transition-base);flex-shrink:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0}.clip-play-btn svg{width:85%;height:85%}.clip-play-btn:hover{color:var(--color-border);opacity:.9}.clip-annotation-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:none;padding:0;cursor:pointer;color:var(--color-text-muted);opacity:.4;transition:opacity var(--transition-fast),color var(--transition-fast)}.clip-annotation-toggle svg{width:16px;height:16px}.clip-annotation-toggle-empty{opacity:.22}.clip-annotation-toggle-open{opacity:.85;color:var(--color-primary)}.clip-annotation-toggle:hover{opacity:1}.clip-annotation-toggle-empty:hover{opacity:.55}.clip-annotation-toggle-open:hover{opacity:1}.clip-annotation-toggle:focus-visible,.clip-delete-btn:focus-visible,.clip-group-edit-btn:focus-visible,.clip-group-add-btn:focus-visible,.clip-group-delete-btn:focus-visible{outline:1px solid var(--color-primary);outline-offset:2px;border-radius:2px}.clip-annotation-inline{margin-top:0;padding-top:8px;border-top:1px solid var(--color-border-light);min-height:0}.clip-annotation-inline .rich-text-editor-wrapper{height:auto;width:100%;min-height:0;background:transparent}.clip-annotation-inline .annotation-toolbar,.clip-annotation-inline .rich-text-editor{min-width:0}.clip-annotation-inline .annotation-toolbar{padding:0 0 6px;background:transparent;border-bottom:1px solid var(--color-border-light)}.clip-annotation-inline .rich-text-editor{min-height:0;max-height:240px;overflow-y:auto;background:transparent}.clip-annotation-inline .rich-text-editor .ProseMirror{min-height:120px;padding:8px 0}.clip-annotation-inline .rich-text-editor-empty{width:100%;height:auto;min-height:120px;padding:20px 12px;justify-content:flex-start;align-items:flex-start;text-align:left;font-size:var(--font-size-sm)}.pai-transcription-blocker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--color-bg-surface)}.pai-transcription-progress-card{width:min(560px,100%);display:flex;flex-direction:column;gap:14px;padding:24px;border:var(--border-panel);border-radius:var(--radius-lg);background:var(--color-bg-app)}.pai-transcription-title{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.pai-transcription-phase{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.pai-transcription-progress-track{width:100%;height:12px;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-border-light)}.pai-transcription-progress-value{height:100%;background:var(--color-primary);transition:width .2s ease}.pai-transcription-progress-indeterminate{width:35%;height:100%;background:var(--color-primary);animation:pai-transcription-progress-move 1.2s ease-in-out infinite alternate}@keyframes pai-transcription-progress-move{0%{transform:translate(-20%)}to{transform:translate(210%)}}.pai-transcription-progress-row{display:flex;justify-content:space-between;gap:16px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.pai-transcription-detail{color:var(--color-text-muted);font-size:var(--font-size-sm)}.pai-transcription-warning{padding:10px 12px;border:1px solid var(--color-warning);border-radius:var(--radius-sm);background:var(--color-warning-subtle);color:var(--color-text-primary);font-size:var(--font-size-sm)}.pai-transcription-cancel{align-self:flex-end;min-width:96px;padding:8px 16px;border:var(--border-panel);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer}.pai-transcription-cancel:hover{background:var(--color-bg-hover)}.pai-transcription-cancel:disabled{color:var(--color-text-muted);cursor:default;background:var(--color-bg-surface)}@media (prefers-reduced-motion: reduce){.pai-transcription-progress-indeterminate{animation:none;width:100%}}.pai-transcript-panel{display:flex;flex-direction:column;gap:10px;padding:12px;border:var(--border-panel);border-radius:var(--radius-md);background:var(--color-bg-app)}.pai-transcript-heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pai-transcript-heading{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.pai-transcript-status-ready{padding:2px 8px;border-radius:999px;background:var(--color-success-subtle);color:var(--color-success);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.pai-transcript-status-muted{padding:2px 8px;border-radius:999px;background:var(--color-bg-surface);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.pai-transcript-empty{padding:8px;border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-muted);font-size:var(--font-size-xs)}.pai-transcript-divider{padding-top:8px;border-top:var(--border-panel);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.pai-transcript-helper{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.35}.pai-transcript-error{padding:8px 10px;border:1px solid var(--color-error);border-radius:var(--radius-sm);background:var(--color-error-subtle);color:var(--color-error);font-size:var(--font-size-xs)}.pai-transcript-success{padding:8px 10px;border:1px solid var(--color-success);border-radius:var(--radius-sm);background:var(--color-success-subtle);color:var(--color-success);font-size:var(--font-size-xs)}.pai-transcript-notice{padding:8px 10px;border:var(--border-panel);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.pai-transcript-generate{width:100%;padding:8px 12px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-text);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.pai-transcript-generate:hover:not(:disabled){background:var(--color-primary-hover)}.pai-transcript-generate:disabled{opacity:.45;cursor:not-allowed}.pai-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:var(--color-overlay-scrim);display:flex;align-items:center;justify-content:center}.pai-dialog{position:relative;background:var(--color-bg-surface);border:var(--border-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);width:min(980px,94vw);min-height:min(720px,88vh);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:pai-enter .15s ease forwards}.pai-dialog-content{display:flex;flex:1;flex-direction:column;min-height:0}@keyframes pai-enter{0%{opacity:0;transform:scale(.97) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.pai-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 0;flex-shrink:0}.pai-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.pai-close-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:1;padding:4px 8px;border-radius:var(--radius-xs);transition:var(--transition-base)}.pai-close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.pai-tabs{display:flex;gap:0;padding:10px 16px 0;border-bottom:var(--border-panel);flex-shrink:0}.pai-tab{padding:7px 20px;border:var(--border-panel);border-bottom:none;background:var(--color-bg-app);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-xs) var(--radius-xs) 0 0;transition:var(--transition-base);margin-right:4px}.pai-tab:hover{background:var(--color-bg-surface);color:var(--color-text-secondary)}.pai-tab-active{padding:7px 20px;border:var(--border-panel);border-bottom:2px solid var(--color-bg-surface);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:var(--radius-xs) var(--radius-xs) 0 0;transition:var(--transition-base);margin-right:4px;margin-bottom:-1px}.pai-body{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.pai-info-row{display:flex;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:3px 0;border-bottom:1px solid var(--color-border-light)}.pai-info-row:last-child{border-bottom:none}.pai-info-label{color:var(--color-text-muted);min-width:110px;flex-shrink:0}.pai-info-value{color:var(--color-text-primary);word-break:break-all}.pai-setup-grid{display:grid;grid-template-columns:280px 1fr 1fr;flex:1;min-height:0;overflow:hidden}.pai-col{display:flex;flex-direction:column;gap:10px;overflow-y:auto;overscroll-behavior:contain;padding:14px;border-right:var(--border-panel)}.pai-col:last-child{border-right:none}.pai-col-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:6px;border-bottom:var(--border-panel);flex-shrink:0}.pai-col-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.pai-info-compact{display:flex;flex-direction:column;gap:0}.pai-provider-card{background:var(--color-bg-app);border:var(--border-panel);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.pai-provider-meta{display:flex;gap:8px;font-size:var(--font-size-xs);align-items:baseline}.pai-provider-meta-label{color:var(--color-text-muted);min-width:28px;flex-shrink:0}.pai-provider-meta-value{color:var(--color-text-secondary);font-family:var(--font-family-mono);word-break:break-all}.pai-guideline-textarea{padding:6px 8px;border:var(--border-panel);border-radius:var(--radius-xs);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:inherit;resize:vertical;min-height:64px;transition:var(--transition-fast)}.pai-guideline-textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--input-shadow-focus)}.pai-density-stack{display:flex;flex-direction:column;gap:14px}.pai-setup-sticky-footer{display:flex;justify-content:flex-end;align-items:center;padding:10px 16px;border-top:var(--border-panel);background:var(--color-bg-surface);flex-shrink:0}.pai-btn-generate{padding:9px 24px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-accent)}.pai-btn-generate:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.pai-btn-generate:disabled{background:var(--color-bg-surface);color:var(--color-text-muted);box-shadow:none;cursor:not-allowed;opacity:.5}.pai-field{display:flex;flex-direction:column;gap:4px}.pai-field-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.pai-field-input,.pai-field-select{padding:6px 8px;border:var(--border-panel);border-radius:var(--radius-xs);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:inherit;transition:var(--transition-base)}.pai-field-input:focus,.pai-field-select:focus{outline:none;border-color:var(--color-primary)}.pai-slider-block{display:flex;flex-direction:column;gap:6px}.pai-slider-header{display:flex;justify-content:space-between;align-items:baseline}.pai-slider-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.pai-slider-label{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-bold)}.pai-slider{width:100%;accent-color:var(--color-primary);cursor:pointer}.pai-slider-stops{display:flex;justify-content:space-between;font-size:var(--font-size-2xs);color:var(--color-text-muted)}.pai-slider-estimate{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.pai-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;min-height:100%;flex:1;padding:14px}.pai-preview-main{min-width:0;display:flex;flex-direction:column;min-height:0}.pai-preview-content{flex:1;min-height:0;overflow-y:auto}.pai-preview-empty{min-height:420px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:32px 24px;border:var(--border-panel);border-radius:var(--radius-md);background:var(--color-bg-app)}.pai-preview-error{min-height:420px;display:flex;align-items:center;justify-content:center;color:var(--color-error);font-size:var(--font-size-sm);text-align:center;padding:32px 24px;border:var(--border-panel);border-radius:var(--radius-md);background:var(--color-bg-app)}.pai-preview-summary{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:8px}.pai-group{border:var(--border-panel);border-radius:var(--radius-md);overflow:hidden;margin-bottom:10px}.pai-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-app);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);border-bottom:var(--border-panel)}.pai-clip-row{display:flex;align-items:center;gap:10px;padding:7px 12px;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);transition:background var(--transition-fast)}.pai-clip-row:last-child{border-bottom:none}.pai-clip-row:hover{background:var(--color-bg-hover)}.pai-clip-check{width:15px;height:15px;flex-shrink:0;cursor:pointer;accent-color:var(--color-primary)}.pai-clip-play-btn{width:28px;height:28px;flex-shrink:0;border:var(--border-panel);border-radius:999px;background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.pai-clip-play-btn svg{width:14px;height:14px}.pai-clip-play-btn:hover:not(:disabled),.pai-clip-time-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.pai-clip-play-btn:disabled,.pai-clip-time-btn:disabled{opacity:.4;cursor:not-allowed}.pai-clip-name{flex:1;min-width:0;color:var(--color-text-primary)}.pai-clip-time-btn{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-family-mono);white-space:nowrap;border:none;background:transparent;cursor:pointer;padding:2px 4px;border-radius:var(--radius-xs)}.pai-clip-reason{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pai-preview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:var(--border-panel);margin-top:4px}.pai-btn{padding:7px 16px;border:var(--border-panel);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-base);white-space:nowrap}.pai-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.pai-btn:disabled{opacity:.4;cursor:not-allowed}.pai-btn-apply-all{padding:7px 16px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-base);white-space:nowrap}.pai-btn-apply-all:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.pai-btn-apply-all:disabled{background:var(--color-bg-surface);color:var(--color-text-muted);box-shadow:none;cursor:not-allowed}.pai-btn-spacer{flex:1}.pai-debug-panel{display:flex;flex-direction:column;min-width:0;min-height:0;border:var(--border-panel);border-radius:var(--radius-md);background:var(--color-bg-app);overflow:hidden}.pai-debug-title{padding:10px 12px;border-bottom:var(--border-panel);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:space-between;gap:8px}.pai-debug-copy-btn{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);letter-spacing:0;text-transform:none;padding:2px 8px;border:var(--border-panel);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.pai-debug-copy-btn:hover:not(:disabled){background:var(--color-bg-surface);color:var(--color-text-primary)}.pai-debug-copy-btn:disabled{opacity:.35;cursor:default}.pai-debug-log{flex:1;min-height:420px;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.pai-debug-line,.pai-debug-empty{font-size:var(--font-size-xs);line-height:1.45;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.pai-debug-line{font-family:var(--font-family-mono)}.media-player-loading{min-height:30vh;background-color:var(--color-media-bg);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.richtextclip,.richtextclip-active{display:flex;align-items:stretch;margin:6px 6px 6px 0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);box-shadow:var(--shadow-flat);transition:border-color var(--transition-base),box-shadow var(--transition-base);position:relative}.richtextclip:hover,.richtextclip-active{border-color:var(--color-primary);box-shadow:var(--shadow-accent)}.richtextclip-dragging{opacity:.5;cursor:move}.richtextclip-drop-before:before{content:"";position:absolute;top:-2px;left:0;right:0;height:2px;background-color:var(--color-primary);z-index:10}.richtextclip-drop-after:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--color-primary);z-index:10}.richtextclip-handle{width:15px;flex-shrink:0;border-radius:6px 0 0 6px;cursor:grab;transition:filter var(--transition-base)}.richtextclip-handle:hover{filter:brightness(1.15)}.richtextclip-handle:active{cursor:grabbing}.richtextclip-content{flex:1;min-width:0;position:relative}.richtextclip-delete-btn{position:absolute;top:4px;right:2px;z-index:2;padding:2px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.richtextclip-delete-btn:hover{color:var(--color-error)}.richtextclip-delete-btn svg{width:14px;height:14px}.richtextclip-body{min-height:120px}.richtextclip-body .rich-text-editor-wrapper{border:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:none}.richtextclip-body .rich-text-editor{min-height:100px;padding-right:34px}.richtextclip-list{width:100%;height:100%;overflow:auto;background:var(--color-bg-app);overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.richtextclip-list::-webkit-scrollbar{display:none}.richtextclip-empty-state{padding:40px 20px;text-align:center;color:var(--color-text-muted);font-style:italic}.richtextclip-empty-state p{margin:0}.richtextclip-group,.richtextclip-group-active{border-bottom:1px solid var(--color-border)}.richtextclip-group-active{background-color:var(--color-primary-subtle)}.richtextclip-group-dragging{opacity:.4}.richtextclip-group-header{display:flex;align-items:center;gap:6px;padding:6px 4px 6px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.richtextclip-group-header:hover,.richtextclip-group-active .richtextclip-group-header{background-color:var(--color-primary-subtle);box-shadow:inset 0 0 0 1px var(--color-primary)}.richtextclip-group-toggle{width:16px;height:16px;border:none;background:none;cursor:pointer;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center}.richtextclip-group-icon{width:14px;height:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;opacity:.7}.richtextclip-group-icon:hover{opacity:1}.richtextclip-group-name{flex:1;min-width:0;font-weight:600;font-size:var(--font-size-base);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:none;outline:none;background:none;padding:0;margin:0;font-family:inherit}input.richtextclip-group-name{background-color:var(--color-primary-subtle)}.richtextclip-group-count{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0}.richtextclip-group-edit-btn,.richtextclip-group-add-btn,.richtextclip-group-delete-btn{padding:2px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.richtextclip-group-edit-btn svg,.richtextclip-group-add-btn svg,.richtextclip-group-delete-btn svg{width:14px;height:14px}.richtextclip-group-edit-btn:hover,.richtextclip-group-add-btn:hover{color:var(--color-primary)}.richtextclip-group-delete-btn:hover{color:var(--color-error)}.richtextclip-group-items{padding:4px 0 4px 28px}.richtextclip-group-header-drop-before{box-shadow:inset 0 2px 0 0 var(--color-primary)}.richtextclip-group-header-drop-after{box-shadow:inset 0 -2px 0 0 var(--color-primary)}.richtextclip-group-header-drop-inside{background-color:var(--color-primary-subtle);border:2px dashed var(--color-primary);border-radius:var(--radius-xs)}.page-item-wrapper[data-type=image] .page-item-media{display:flex;flex-direction:column;gap:10px;height:100%;background:var(--color-media-bg);padding:0;overflow:hidden;overscroll-behavior:contain}.image-main-view{flex:8;position:relative;display:flex;align-items:center;justify-content:center;min-height:400px;background:var(--color-media-bg);overflow:hidden;transition:var(--transition-slow);overscroll-behavior:contain}.image-main-view.drag-over{background:var(--color-success-subtle);outline:3px dashed var(--color-success);outline-offset:-10px}.image-main-view .display-image{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;display:block}.image-main-view .error-state,.image-main-view .drop-zone-hint{color:var(--color-text-muted);font-size:var(--font-size-lg);text-align:center;padding:60px 40px}.image-main-view .drop-zone-hint{color:var(--color-success);font-weight:500}.image-main-view .error-state{color:var(--color-error)}.image-thumbnail-strip{flex:2;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;background:var(--color-media-bg);border-top:1px solid var(--color-text-primary);min-height:100px;-webkit-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}.image-thumbnail-strip::-webkit-scrollbar{display:none}.page-item-image-thumbnail-item{position:relative;flex-shrink:0;width:120px;height:80px;overflow:hidden;cursor:pointer;background:var(--color-bg-surface);display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;border:2px solid transparent!important;outline:none!important}.page-item-image-thumbnail-item:focus{outline:none!important;border:2px solid transparent!important}.page-item-image-thumbnail-item.active{border:2px solid var(--color-primary)!important;box-shadow:var(--shadow-accent)}.page-item-image-thumbnail-item img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.page-item-image-thumbnail-item .page-item-image-thumbnail-error,.page-item-image-thumbnail-item .page-item-image-thumbnail-placeholder{font-size:var(--font-size-xl);color:var(--color-text-muted)}.page-item-image-thumbnail-item .page-item-image-thumbnail-error{color:var(--color-error)}.page-item-image-thumbnail-index{position:absolute;top:4px;right:4px;background:var(--color-media-bg);color:var(--color-primary-text);padding:2px 6px;border-radius:var(--radius-xs);font-size:var(--font-size-2xs);font-weight:700;line-height:1;border:1px solid rgba(255,255,255,.2)}.page-item-wrapper[data-type=image] .page-item-clips{overscroll-behavior:contain}.empty-images-state{width:100%;display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--color-bg-app);border:2px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-md);text-align:center;padding:40px}.pdf-toolbar{display:flex;flex-direction:column;gap:2px;width:40px;padding:4px;background:var(--color-bg-surface);border-right:1px solid var(--color-border);flex-shrink:0;height:100%;overflow:hidden}.pdf-toolbar-section{display:flex;flex-direction:column;gap:2px;position:relative}.pdf-toolbar-divider{height:1px;background:var(--color-border);margin:1px 0}.pdf-toolbar-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;background:transparent;border-radius:var(--radius-xs);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-fast);flex-shrink:0}.pdf-toolbar-btn:hover:not(:disabled){background:var(--color-bg-app);color:var(--color-text-primary)}.pdf-toolbar-btn:active:not(:disabled){background:var(--color-border);transform:scale(.95)}.pdf-toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.pdf-toolbar-btn svg{width:16px;height:16px}.pdf-toolbar-page-display{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px;text-align:center;width:30px}.pdf-toolbar-page-current-list{display:flex;flex-direction:column;align-items:center;justify-content:center;width:26px;height:30px;border-bottom:1px solid var(--color-border)}.pdf-toolbar-page-current,.pdf-toolbar-page-current-empty{display:flex;align-items:center;justify-content:center;width:26px;height:14px;line-height:14px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.pdf-toolbar-page-total{display:flex;align-items:center;justify-content:center;width:26px;height:12px;line-height:12px;font-size:var(--font-size-2xs);color:var(--color-text-muted)}.pdf-toolbar-zoom-display{display:flex;align-items:center;justify-content:center;padding:0;font-size:var(--font-size-2xs);font-weight:600;color:var(--color-text-secondary);min-height:16px}.pdf-toolbar-btn.active,.pdf-toolbar-btn.active:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.pdf-toolbar-cover-checkbox{display:flex;align-items:center;justify-content:center;gap:2px;padding:2px 4px;font-size:var(--font-size-2xs);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:var(--transition-fast)}.pdf-toolbar-cover-checkbox:hover:not(.disabled){background:var(--color-bg-app);color:var(--color-text-secondary)}.pdf-toolbar-cover-checkbox.disabled{opacity:.4;cursor:not-allowed}.pdf-toolbar-cover-checkbox input[type=checkbox]{width:10px;height:10px;margin:0;cursor:pointer;accent-color:var(--color-primary)}.pdf-toolbar-cover-checkbox.disabled input[type=checkbox]{cursor:not-allowed}.pdf-toolbar-cover-checkbox span{-webkit-user-select:none;user-select:none}.pdf-canvas{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--color-bg-app);position:relative}.pdf-canvas.pan-mode{cursor:grab;overflow-x:hidden}.pdf-canvas::-webkit-scrollbar{width:12px}.pdf-canvas::-webkit-scrollbar-track{background:var(--color-bg-app)}.pdf-canvas::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-sm);border:2px solid var(--color-bg-app)}.pdf-canvas::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.pdf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-border-strong)}.pdf-empty-icon{width:64px;height:64px;margin-bottom:16px;opacity:.5;display:flex;align-items:center;justify-content:center}.pdf-empty-icon svg{width:100%;height:100%}.pdf-error{display:flex;align-items:center;justify-content:center;height:400px;color:var(--color-error);font-size:var(--font-size-base)}.pdf-virtual-container{width:100%;position:relative}.pdf-virtual-item{will-change:transform}.pdf-page-single{display:flex;justify-content:center}.pdf-page-wrapper{position:relative;background:var(--color-bg-surface);box-shadow:var(--shadow-raised);border-radius:2px}.pdf-page-wrapper canvas{display:block;border-radius:2px}.pdf-page-error{display:flex;align-items:center;justify-content:center;background:var(--color-error-subtle);border:1px solid var(--color-error);border-radius:2px;color:var(--color-error);font-size:var(--font-size-base);font-weight:500}.react-pdf__Document{display:flex;flex-direction:column;align-items:center;width:100%}.react-pdf__Page__textContent span{color:transparent!important}.react-pdf__Page__textContent span::selection,.react-pdf__Page__textContent span::-moz-selection{color:transparent!important;background:var(--color-primary-subtle)}.pdf-canvas.dual-page .pdf-virtual-container{min-width:100%}.pdf-page-blank{display:block;background:var(--color-bg-surface);box-shadow:var(--shadow-raised);border-radius:2px}.pdf-canvas.dual-page .pdf-virtual-item[data-lane="0"] .pdf-page-wrapper{box-shadow:var(--shadow-flat);border-radius:2px 0 0 2px}.pdf-canvas.dual-page .pdf-virtual-item[data-lane="1"] .pdf-page-wrapper{box-shadow:var(--shadow-flat);border-radius:0 2px 2px 0}.pdf-canvas.dual-page .pdf-virtual-item[data-lane="0"] .pdf-page-wrapper canvas{border-radius:2px 0 0 2px}.pdf-canvas.dual-page .pdf-virtual-item[data-lane="1"] .pdf-page-wrapper canvas{border-radius:0 2px 2px 0}.pdf-highlight{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.pdf-highlight-item{position:absolute;pointer-events:none;border-radius:2px}.pdf-highlight-search{background:var(--color-highlight-search);border:1px solid var(--color-highlight-search-strong);z-index:10}.pdf-highlight-active{background:var(--color-highlight-search-strong);border:2px solid var(--color-highlight-search-edge);box-shadow:0 0 4px var(--color-highlight-search-edge)}.pdf-highlight-clip{pointer-events:all;cursor:pointer;border-radius:2px;transition:var(--transition-fast)}.pdf-highlight-clip:hover{filter:brightness(.95);transform:scale(1.01)}.pdf-highlight-clip-active{z-index:5;animation:pdfHighlightFadeOut 3s ease-out forwards}@keyframes pdfHighlightFadeOut{0%{border:2px solid var(--color-highlight-pulse)}80%{border:2px solid var(--color-highlight-pulse)}to{border:2px solid var(--color-highlight-manual-edge)}}.pdf-canvas.region-mode{cursor:crosshair}.pdf-canvas.region-mode .pdf-page-wrapper{cursor:crosshair;-webkit-user-select:none;user-select:none}.pdf-canvas.region-mode .react-pdf__Page__textContent{pointer-events:none}.pdf-region-selection{position:absolute;border:2px dashed var(--color-primary);background:transparent;pointer-events:none;z-index:20;box-sizing:border-box}.pdf-gallery{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--color-bg-app);padding:0;position:relative}.pdf-gallery-grid{position:relative;padding:20px 0;width:100%;box-sizing:border-box}.pdf-gallery-item{cursor:pointer;border:2px solid transparent;border-radius:var(--radius-xs);overflow:hidden;background:var(--color-bg-surface);box-shadow:var(--shadow-flat);transition:var(--transition-base);position:relative;box-sizing:border-box}.pdf-gallery-item.current{border:3px solid var(--color-primary);box-shadow:var(--shadow-accent)}.pdf-gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-float);border-color:var(--color-primary);z-index:1}.pdf-gallery-item:active{transform:translateY(-2px)}.pdf-gallery-page-number{position:absolute;bottom:4px;right:4px;background:var(--color-media-bg);color:var(--color-primary-text);padding:2px 6px;border-radius:var(--radius-xs);font-size:var(--font-size-2xs);font-weight:600;pointer-events:none;z-index:2}.pdf-gallery-page-error{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--color-error-subtle);color:var(--color-error);font-size:var(--font-size-md);font-weight:700}.pdf-gallery-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-error)}.pdf-gallery-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-border-strong)}.pdf-gallery::-webkit-scrollbar{width:8px}.pdf-gallery::-webkit-scrollbar-track{background:var(--color-bg-app)}.pdf-gallery::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-xs)}.pdf-gallery::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.pdf-search-panel{display:flex;flex-direction:column;width:224px;max-height:100%;background:var(--color-bg-surface);border-right:1px solid var(--color-border);flex-shrink:0;overflow:hidden}.pdf-search-input-section{display:flex;flex-direction:row;align-items:center;gap:6px;padding:8px;border-bottom:1px solid var(--color-border)}.pdf-search-input-wrapper{position:relative;flex:0 0 148px;width:148px;min-width:0;height:26px}.pdf-search-input{width:100%;height:26px;box-sizing:border-box;padding:0 2rem 0 12px;border:var(--border-input);border-radius:var(--radius-pill);background:var(--color-bg-surface);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);line-height:24px;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.pdf-search-input:focus{outline:none;background:var(--color-bg-app);border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-primary-subtle);color:var(--color-text-primary)}.pdf-search-input::placeholder{color:var(--color-text-muted)}.pdf-search-input:disabled{opacity:.45;cursor:not-allowed}.pdf-search-clear-button{position:absolute;display:inline-flex;align-items:center;justify-content:center;right:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1;cursor:pointer}.pdf-search-clear-button:hover{background:var(--color-border);color:var(--color-text-primary)}.pdf-search-close-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.pdf-search-close-button:hover:not(:disabled){background:var(--color-border);color:var(--color-text-primary)}.pdf-search-close-button:disabled{opacity:.45;cursor:not-allowed}.pdf-search-close-button svg{width:14px;height:14px}.pdf-search-badge,.pdf-search-badge-loading{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;flex-direction:column;width:24px;height:26px;padding:0;color:var(--color-text-muted);font-size:var(--font-size-2xs);font-weight:600;line-height:1;text-align:center}.pdf-search-badge-row{width:3ch}.pdf-search-badge-row+.pdf-search-badge-row{border-top:1px solid var(--color-border)}.pdf-search-badge-loading-text{width:3ch;animation:pdf-search-badge-pulse 1s ease-in-out infinite}@keyframes pdf-search-badge-pulse{0%,to{opacity:.35}50%{opacity:1}}.pdf-search-results{flex:1;overflow-y:auto;overflow-x:hidden}.pdf-search-empty-state{padding:12px 8px;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.35}.pdf-search-result-item,.pdf-search-result-item-active{padding:8px;border-bottom:1px solid var(--color-bg-app);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.pdf-search-result-item:hover{background:var(--color-bg-hover)}.pdf-search-result-item-active{background:var(--color-primary-subtle);border-left:3px solid var(--color-primary);padding-left:5px}.pdf-search-result-item-active:hover{background:var(--color-primary-subtle)}.pdf-search-result-page{font-size:var(--font-size-2xs);font-weight:600;color:var(--color-primary);margin-bottom:3px}.pdf-search-result-snippet{overflow:hidden;max-height:2.6em;color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:1.3;word-break:break-word}.pdf-search-snippet-highlight{background:var(--color-highlight-search);color:var(--color-text-primary);padding:0 2px;border-radius:2px}.pdf-search-results::-webkit-scrollbar{width:6px}.pdf-search-results::-webkit-scrollbar-track{background:transparent}.pdf-search-results::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-xs)}.pdf-search-results::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.pdf-outline-panel{display:flex;flex-direction:column;width:224px;max-height:100%;background:var(--color-bg-surface);border-right:1px solid var(--color-border);flex-shrink:0;overflow:hidden}.pdf-outline-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-bg-app)}.pdf-outline-header-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.pdf-outline-close-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.pdf-outline-close-btn:hover{background:var(--color-border);color:var(--color-text-secondary)}.pdf-outline-close-btn svg{width:14px;height:14px}.pdf-outline-content{flex:1;overflow-y:auto;overflow-x:hidden}.pdf-outline-empty{display:flex;align-items:center;justify-content:center;padding:24px 16px;text-align:center;color:var(--color-border-strong);font-size:var(--font-size-sm);font-style:italic}.pdf-outline-tree{padding:4px 0}.pdf-outline-item{display:flex;align-items:center;gap:4px;padding:6px 8px 6px 12px;min-height:30px;cursor:default;-webkit-user-select:none;user-select:none}.pdf-outline-item.clickable{cursor:pointer}.pdf-outline-item.clickable:hover{background-color:var(--color-bg-hover)}.pdf-outline-toggle{width:16px;height:16px;border:none;background:none;cursor:pointer;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.pdf-outline-toggle:hover{opacity:.7}.pdf-outline-toggle svg{display:block}.pdf-outline-toggle-placeholder{cursor:default;opacity:.25}.pdf-outline-toggle-placeholder:hover{opacity:.25}.pdf-outline-title{flex:1;min-width:0;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-outline-page{flex-shrink:0;font-size:var(--font-size-2xs);font-weight:600;color:var(--color-primary);padding:1px 5px;background:var(--color-primary-subtle);border-radius:var(--radius-xs);margin-left:4px}.pdf-outline-content::-webkit-scrollbar{width:6px}.pdf-outline-content::-webkit-scrollbar-track{background:transparent}.pdf-outline-content::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-xs)}.pdf-outline-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.pdf-viewer-content{display:flex;height:100%;background:var(--color-bg-app);position:relative}.pdf-viewer-error{padding:40px 20px;text-align:center;color:var(--color-error);margin:0}.pdf-selection-popup{position:fixed;z-index:1000;pointer-events:auto;animation:popupFadeIn .15s ease-out}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pdf-selection-popup-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--color-primary);color:var(--color-bg-surface);font-size:var(--font-size-lg);font-weight:600;line-height:1;border:none;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-accent);transition:var(--transition-fast)}.pdf-selection-popup-btn:hover{background:var(--color-primary);transform:scale(1.1)}.pdf-selection-popup-btn:active{transform:scale(.95)}.pdf-region-popup{display:flex;gap:6px}.pdf-selection-cancel-btn{background:var(--color-text-muted);box-shadow:var(--shadow-raised)}.pdf-selection-cancel-btn:hover{background:var(--color-text-muted)}.epub-toolbar{display:flex;flex-direction:column;gap:2px;width:40px;padding:4px;background:var(--color-bg-surface);border-right:1px solid var(--color-border);flex-shrink:0;height:100%;overflow:hidden}.epub-toolbar-section{display:flex;flex-direction:column;gap:2px;position:relative}.epub-toolbar-divider{height:1px;background:var(--color-border);margin:1px 0}.epub-toolbar-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;background:transparent;border-radius:var(--radius-xs);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-fast);flex-shrink:0}.epub-toolbar-btn:hover:not(:disabled){background:var(--color-bg-app);color:var(--color-text-primary)}.epub-toolbar-btn:active:not(:disabled){background:var(--color-border);transform:scale(.95)}.epub-toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.epub-toolbar-btn svg{width:16px;height:16px}.epub-toolbar-btn.active,.epub-toolbar-btn.active:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.epub-toolbar-info-block{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 0;gap:1px;line-height:1.2}.epub-toolbar-chapter-toggle{cursor:pointer;border-radius:var(--radius-xs);padding:4px 2px;transition:var(--transition-fast)}.epub-toolbar-chapter-toggle:hover{background:var(--color-bg-hover)}.epub-toolbar-chapter-toggle:active{background:var(--color-border);transform:scale(.95)}.epub-toolbar-chapter-toggle.active{background:var(--color-primary-subtle)}.epub-toolbar-chapter-toggle.active .epub-toolbar-info-title,.epub-toolbar-chapter-toggle.active .epub-toolbar-info-value{color:var(--color-primary)}.epub-toolbar-chapter-toggle.active:hover{background:var(--color-primary-subtle)}.epub-toolbar-info-title{font-size:var(--font-size-3xs);font-weight:500;color:var(--color-border-strong);text-transform:uppercase;letter-spacing:.3px}.epub-toolbar-info-value{font-size:var(--font-size-2xs);font-weight:600;color:var(--color-text-primary);white-space:nowrap}.epub-toolbar-zoom-display{display:flex;align-items:center;justify-content:center;padding:0;font-size:var(--font-size-2xs);font-weight:600;color:var(--color-text-secondary);min-height:16px}.epub-seek-bar{display:flex;flex-direction:column;align-items:center;width:20px;padding:4px 2px;flex-shrink:0;height:100%;gap:4px}.epub-seek-bar.disabled{opacity:.55;pointer-events:none}.epub-seek-label{font-size:var(--font-size-3xs);font-weight:500;color:var(--color-border-strong);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.epub-seek-track{position:relative;width:6px;flex:1;min-height:30px;background:var(--color-border);border-radius:var(--radius-xs);cursor:pointer;-webkit-user-select:none;user-select:none}.epub-seek-track.dragging{cursor:grabbing}.epub-seek-fill{position:absolute;top:0;left:0;width:100%;background:var(--color-primary);border-radius:var(--radius-xs);pointer-events:none;transition:height .1s ease}.epub-seek-track.dragging .epub-seek-fill{transition:none}.epub-seek-track.seeking .epub-seek-fill{opacity:.72}.epub-seek-thumb{position:absolute;left:50%;width:14px;height:14px;background:var(--color-primary);border:2px solid var(--color-bg-surface);border-radius:var(--radius-full);transform:translate(-50%,-50%);cursor:grab;box-shadow:var(--shadow-raised);transition:top .1s ease,transform var(--transition-fast);z-index:1}.epub-seek-thumb:hover{transform:translate(-50%,-50%) scale(1.15);box-shadow:var(--shadow-raised)}.epub-seek-track.dragging .epub-seek-thumb{cursor:grabbing;transform:translate(-50%,-50%) scale(1.2);transition:transform .1s ease}.epub-search-panel{display:flex;flex-direction:column;width:224px;max-height:100%;background:var(--color-bg-surface);border-right:1px solid var(--color-border);flex-shrink:0;overflow:hidden}.epub-search-input-section{display:flex;flex-direction:row;align-items:center;gap:6px;padding:8px;border-bottom:1px solid var(--color-border)}.epub-search-input-wrapper{position:relative;flex:0 0 148px;width:148px;min-width:0;height:26px}.epub-search-input{width:100%;height:26px;box-sizing:border-box;padding:0 2rem 0 12px;border:var(--border-input);border-radius:var(--radius-pill);background:var(--color-bg-surface);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);line-height:24px;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.epub-search-input:focus{outline:none;background:var(--color-bg-app);border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-primary-subtle);color:var(--color-text-primary)}.epub-search-input::placeholder{color:var(--color-text-muted)}.epub-search-input:disabled{opacity:.45;cursor:not-allowed}.epub-search-clear-button{position:absolute;display:inline-flex;align-items:center;justify-content:center;right:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:transparent;cursor:pointer;padding:0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1;border-radius:50%}.epub-search-clear-button:hover{color:var(--color-text-primary);background:var(--color-border)}.epub-search-close-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.epub-search-close-button:hover:not(:disabled){background:var(--color-border);color:var(--color-text-primary)}.epub-search-close-button:disabled{opacity:.45;cursor:not-allowed}.epub-search-close-button svg{width:14px;height:14px}.epub-search-badge,.epub-search-badge-loading{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;flex-direction:column;width:24px;height:26px;padding:0;color:var(--color-text-muted);font-size:var(--font-size-2xs);font-weight:600;line-height:1;text-align:center}.epub-search-badge-row{width:3ch}.epub-search-badge-row+.epub-search-badge-row{border-top:1px solid var(--color-border)}.epub-search-badge-loading-text{width:3ch;animation:epub-search-badge-pulse 1s ease-in-out infinite}@keyframes epub-search-badge-pulse{0%,to{opacity:.35}50%{opacity:1}}.epub-search-results{flex:1;overflow-y:auto;overflow-x:hidden}.epub-search-empty-state{padding:12px 8px;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.35}.epub-search-result-item,.epub-search-result-item-active{padding:8px;border-bottom:1px solid var(--color-bg-app);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.epub-search-result-item:hover{background:var(--color-bg-hover)}.epub-search-result-item-active{background:var(--color-primary-subtle);border-left:3px solid var(--color-primary);padding-left:5px}.epub-search-result-item-active:hover{background:var(--color-primary-subtle)}.epub-search-result-progress{margin-bottom:3px;color:var(--color-primary);font-size:var(--font-size-2xs);font-weight:600}.epub-search-result-snippet{overflow:hidden;max-height:2.6em;color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:1.3;word-break:break-word}.epub-search-snippet-highlight{padding:0 2px;border-radius:2px;background:var(--color-highlight-search);color:var(--color-text-primary)}.epub-search-results::-webkit-scrollbar{width:6px}.epub-search-results::-webkit-scrollbar-track{background:transparent}.epub-search-results::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-xs)}.epub-search-results::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.epub-outline-panel{display:flex;flex-direction:column;width:224px;max-height:100%;background:var(--color-bg-surface);border-right:1px solid var(--color-border);flex-shrink:0;overflow:hidden}.epub-outline-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-bg-app)}.epub-outline-header-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.epub-outline-close-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.epub-outline-close-btn:hover{background:var(--color-border);color:var(--color-text-primary)}.epub-outline-close-btn svg{width:14px;height:14px}.epub-outline-content{flex:1;overflow-y:auto;overflow-x:hidden}.epub-outline-empty{display:flex;align-items:center;justify-content:center;padding:24px 16px;text-align:center;color:var(--color-border-strong);font-size:var(--font-size-sm);font-style:italic}.epub-outline-tree{padding:4px 0}.epub-outline-item{display:flex;align-items:center;gap:4px;padding:6px 8px 6px 12px;min-height:30px;cursor:default;-webkit-user-select:none;user-select:none}.epub-outline-item.clickable{cursor:pointer}.epub-outline-item.clickable:hover{background-color:var(--color-bg-hover)}.epub-outline-toggle{width:16px;height:16px;border:none;background:none;cursor:pointer;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.epub-outline-toggle:hover{opacity:.7}.epub-outline-toggle svg{display:block}.epub-outline-toggle-placeholder{cursor:default;opacity:.25}.epub-outline-toggle-placeholder:hover{opacity:.25}.epub-outline-title{flex:1;min-width:0;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epub-outline-content::-webkit-scrollbar{width:6px}.epub-outline-content::-webkit-scrollbar-track{background:transparent}.epub-outline-content::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-xs)}.epub-outline-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.epub-media-container.page-item-media{display:flex;flex-direction:row;position:relative;height:100%;width:100%;overflow:hidden}.epub-media-container.preparing .epub-toolbar,.epub-media-container.preparing .epub-search-panel,.epub-media-container.preparing .epub-outline-panel,.epub-media-container.preparing .epub-seek-bar{opacity:.45;pointer-events:none}.epub-viewer-container{flex:1;display:flex;flex-direction:column;background:var(--color-bg-app);border:var(--border-panel);border-radius:.56vh;overflow:hidden;position:relative;min-width:0}.epub-viewer-container.preparing{cursor:progress}.epub-navigation-cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:var(--color-bg-app);pointer-events:none}.epub-direct-view,.epub-render-target{position:relative;width:100%;height:100%;overflow-anchor:none}.epub-viewer-container.preparing .epub-render-target{opacity:0;pointer-events:none}.epub-viewport-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;height:100%;background:var(--color-bg-app);color:var(--color-text-primary);text-align:center}.epub-viewport-loading-percent,.epub-viewport-loading-hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.epub-viewport-loading-hint{max-width:min(360px,80%)}.epub-viewer-container>div:not(.epub-region-overlay):not(.epub-selection-popup),.epub-viewer-container>div:not(.epub-region-overlay):not(.epub-selection-popup)>div{height:100%!important;width:100%}.epub-direct-view,.epub-viewer-container .epub-container,.epub-viewer-container .epub-view,.epub-viewer-container .epub-view>iframe{scrollbar-width:none;-ms-overflow-style:none;overflow-anchor:none}.epub-direct-view::-webkit-scrollbar,.epub-viewer-container .epub-container::-webkit-scrollbar,.epub-viewer-container .epub-view::-webkit-scrollbar,.epub-viewer-container .epub-view>iframe::-webkit-scrollbar{width:0;height:0}.epub-highlight{pointer-events:all;cursor:pointer}.epub-highlight-active{pointer-events:all;cursor:pointer;animation:epubHighlightFadeOut 3s ease-out forwards}@keyframes epubHighlightFadeOut{0%{outline:2px solid var(--color-highlight-pulse);outline-offset:1px}80%{outline:2px solid var(--color-highlight-pulse);outline-offset:1px}to{outline:2px solid var(--color-highlight-manual-edge);outline-offset:1px}}.epub-search-highlight{pointer-events:none}.epub-search-highlight rect{fill:var(--color-highlight-search);fill-opacity:1}.epub-error-boundary{padding:20px;color:var(--color-error)}.epub-load-error{padding:20px;text-align:center;color:var(--color-error)}.epub-selection-popup{position:absolute;transform:translateY(8px);z-index:1000;pointer-events:auto;animation:epubPopupFadeIn .15s ease-out}@keyframes epubPopupFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.epub-selection-popup-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--color-primary);color:var(--color-bg-surface);font-size:var(--font-size-lg);font-weight:600;line-height:1;border:none;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-accent);transition:var(--transition-fast)}.epub-selection-popup-btn:hover{background:var(--color-primary);transform:scale(1.1)}.epub-selection-popup-btn:active{transform:scale(.95)}.epub-region-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:100;cursor:crosshair;user-select:none;-webkit-user-select:none;outline:none}.epub-region-rect{position:absolute;border:2px dashed var(--color-primary);background:var(--color-primary-subtle);border-radius:2px;pointer-events:none}.epub-region-popup{position:absolute;display:flex;gap:4px;z-index:101;pointer-events:auto;animation:epubPopupFadeIn .15s ease-out}.epub-region-popup-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;font-size:var(--font-size-lg);font-weight:600;line-height:1;border:none;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-raised);transition:var(--transition-fast)}.epub-region-popup-btn.add{background:var(--color-primary);color:var(--color-bg-surface)}.epub-region-popup-btn.add:hover{background:var(--color-primary);transform:scale(1.1)}.epub-region-popup-btn.add:active{transform:scale(.95)}.epub-region-popup-btn.cancel{background:var(--color-text-muted);color:var(--color-bg-surface)}.epub-region-popup-btn.cancel:hover{background:var(--color-text-muted);transform:scale(1.1)}.epub-region-popup-btn.cancel:active{transform:scale(.95)}.epub-viewer-container .epub-container{height:100%!important;overflow-anchor:none}.page-pagination-bar{--pg-btn-size: 28px;display:flex;flex-direction:column;align-items:center;width:36px;flex-shrink:0;overflow:hidden;gap:3px;background:transparent}.pp-btn{width:var(--pg-btn-size);height:var(--pg-btn-size);padding:0;border:none;background:var(--color-bg-app);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition-base),color var(--transition-base)}.pp-btn svg{width:1rem;height:1rem}.pp-btn:hover{background:var(--color-bg-hover)}.pp-btn-page{cursor:grab;position:relative;font-size:var(--font-size-xs);font-weight:600;-webkit-user-select:none;user-select:none}.pp-btn-page:active{cursor:grabbing}.pp-btn-page-active{background:var(--color-text-primary);color:var(--color-bg-surface);box-shadow:var(--shadow-flat)}.pp-btn-page-active:hover{background:var(--color-text-secondary)}.pp-btn-dragging{opacity:.5}.pp-btn-drop-before:before,.pp-btn-drop-after:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:var(--pg-btn-size);height:3px;background-color:var(--color-primary);border-radius:2px;z-index:100}.pp-btn-drop-before:before{top:-4px}.pp-btn-drop-after:after{bottom:-4px}.page-pagination-list{flex:1;display:flex;flex-direction:column;gap:3px;padding:3px 0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;min-height:0}.page-pagination-list::-webkit-scrollbar{display:none}.section-items-container{display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden}.section-items-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.page-item-media{width:100%;height:100%;overflow:auto;background:var(--color-bg-app);overscroll-behavior:contain;position:relative;scrollbar-width:none;-ms-overflow-style:none}.page-item-media::-webkit-scrollbar{display:none}.error-message,.empty-message{text-align:center;padding:2vh;display:flex;flex-direction:column;align-items:center;gap:1vh;color:var(--color-text-muted);font-size:var(--font-size-base)}.error-icon,.empty-icon{font-size:var(--font-size-2xl);margin-bottom:1vh}.section-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1vh;padding:4vh;border:2px dashed var(--color-border);border-radius:.56vh;background:var(--color-bg-app);text-align:center}.section-empty-heading{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-lg)}.section-empty-text{margin:0;color:var(--color-text-muted);font-size:var(--font-size-base)}.section-content-view{display:flex;flex-direction:column;flex:1;min-height:0;margin:.5vw;overflow:hidden}.EditSidebar-BookIndex-tree-node-wrapper{position:relative}.EditSidebar-BookIndex-tree-node-wrapper-has-hierarchy:before{content:"";position:absolute;left:calc(var(--tree-level, 1) * var(--tree-level-indent, 16px));top:0;bottom:0;width:var(--tree-guide-width);background-image:linear-gradient(to bottom,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-width) var(--tree-guide-dash);background-repeat:repeat-y;pointer-events:none;z-index:1}.EditSidebar-BookIndex-tree-node-wrapper-has-hierarchy>.EditSidebar-BookIndex-tree-node:after{content:"";position:absolute;left:calc(var(--tree-level, 1) * var(--tree-level-indent, 16px));top:var(--tree-row-connector-top);width:var(--tree-base-indent, 8px);height:var(--tree-guide-width);background-image:linear-gradient(to right,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-dash) var(--tree-guide-width);background-repeat:repeat-x;pointer-events:none;z-index:1}.EditSidebar-BookIndex-tree-node-wrapper-has-hierarchy:last-child:before{height:var(--tree-row-connector-top);bottom:auto}.EditSidebar-BookIndex-tree-node-children{position:relative}.EditSidebar-BookIndex-tree-node{display:flex;align-items:center;padding:6px 4px;padding-left:calc(var(--tree-base-indent, 8px) + var(--tree-level, 0) * var(--tree-level-indent, 16px));-webkit-user-select:none;user-select:none;position:relative;gap:4px}.EditSidebar-BookIndex-tree-node-inner{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;border-radius:var(--radius-xs)}.EditSidebar-BookIndex-tree-node-dragging{background:var(--color-drop-target-bg);outline:2px dashed var(--color-drop-target-border);outline-offset:-2px;border-radius:var(--radius-xs)}.EditSidebar-BookIndex-tree-node-dragging>*{visibility:hidden}.EditSidebar-BookIndex-tree-node-drop-before,.EditSidebar-BookIndex-tree-node-drop-after{z-index:10}.EditSidebar-BookIndex-tree-node-drop-before:before,.EditSidebar-BookIndex-tree-node-drop-after:before{content:"";position:absolute;left:0;right:0;height:2px;background-color:var(--color-primary);border-radius:0;pointer-events:none;z-index:10}.EditSidebar-BookIndex-tree-node-drop-before:before{top:0}.EditSidebar-BookIndex-tree-node-drop-after:before{bottom:0}.EditSidebar-BookIndex-tree-node-content{display:flex;align-items:center;gap:6px;min-width:0;width:fit-content;max-width:100%;cursor:pointer;padding:2px 4px;border-radius:var(--radius-xs);transition:background-color var(--transition-fast);margin:-2px 0;box-sizing:border-box}.EditSidebar-BookIndex-tree-node-content:hover{background-color:var(--color-bg-hover)}.EditSidebar-BookIndex-tree-node-hover-expand-target .EditSidebar-BookIndex-tree-node-content{background:color-mix(in srgb,var(--color-primary) 12%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 42%,transparent)}.EditSidebar-BookIndex-tree-node-hover-expand-target .EditSidebar-BookIndex-tree-node-toggle{color:var(--color-primary)}.EditSidebar-BookIndex-tree-node-active .EditSidebar-BookIndex-tree-node-content{background-color:var(--color-primary-subtle)}.EditSidebar-BookIndex-tree-node-content-search-hit{align-items:flex-start}.EditSidebar-BookIndex-tree-node-toggle{width:16px;height:16px;border:none;background:none;cursor:pointer;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast)}.EditSidebar-BookIndex-tree-node-toggle:hover{opacity:.7}.EditSidebar-BookIndex-tree-node-toggle svg{display:block}.EditSidebar-BookIndex-tree-node-toggle-placeholder{cursor:default;opacity:.25}.EditSidebar-BookIndex-tree-node-toggle-placeholder:hover{opacity:.25}.EditSidebar-BookIndex-tree-node-icon-wrapper{width:14px;height:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;-webkit-user-select:none;user-select:none}.EditSidebar-BookIndex-tree-node-icon-wrapper:active{cursor:grabbing}.EditSidebar-BookIndex-tree-node-icon-wrapper svg{width:100%;height:100%}.EditSidebar-BookIndex-tree-node-name{flex:0 1 auto;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-base);color:var(--color-text-primary);font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.EditSidebar-BookIndex-tree-node-chapter .EditSidebar-BookIndex-tree-node-name{font-weight:500}.EditSidebar-BookIndex-tree-node-clip{margin-left:4px;color:var(--color-text-muted)}.EditSidebar-BookIndex-tree-node-clip .EditSidebar-BookIndex-tree-node-name{font-style:italic}.EditSidebar-BookIndex-tree-node-clip .EditSidebar-BookIndex-tree-node-text{cursor:pointer;display:flex;flex:0 1 auto;flex-direction:column;min-width:0;max-width:100%}.EditSidebar-BookIndex-tree-node-clip .EditSidebar-BookIndex-tree-node-text .EditSidebar-BookIndex-tree-node-name{overflow:visible;text-overflow:unset;white-space:normal}.EditSidebar-BookIndex-tree-node-annotation-preview{color:var(--color-text-muted);font-size:.78em;line-height:1.4;margin-top:2px;white-space:pre-wrap;word-break:break-word}.EditSidebar-BookIndex-drag-overlay{background-color:var(--color-bg-surface);outline:1px solid var(--color-border);border-radius:var(--radius-xs);box-shadow:0 4px 12px #0003;padding:2px 4px;opacity:.9;pointer-events:none}.index-tree-search-bar{display:grid;grid-template-columns:1fr 2fr 2fr;align-items:center;gap:8px;flex:1;min-width:0;min-height:26px}.index-tree-search-section{display:flex;align-items:center;gap:8px;min-width:0;height:26px}.index-tree-search-input-wrapper{position:relative;flex:1;min-width:0;height:26px}.index-tree-search-input{width:100%;height:26px;box-sizing:border-box;padding:0 2rem 0 12px;border:var(--border-input);border-radius:var(--radius-pill);background:var(--color-bg-surface);font-family:inherit;font-size:var(--font-size-sm);line-height:24px;color:var(--color-text-secondary);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.index-tree-search-input:focus{outline:none;background:var(--color-bg-app);border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-primary-subtle);color:var(--color-text-primary)}.index-tree-search-input::placeholder{color:var(--color-text-muted)}.index-tree-search-clear-button{position:absolute;display:inline-flex;align-items:center;justify-content:center;right:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:transparent;cursor:pointer;padding:0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1;border-radius:50%}.index-tree-search-clear-button:hover{color:var(--color-text-primary);background:var(--color-border)}.index-tree-search-filter_index,.index-tree-search-filter_chapter{position:relative;min-width:0}.index-tree-search-filter-btn{border:var(--border-input);background:var(--color-bg-surface);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:5px;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;width:100%;height:26px;padding:0 12px;overflow:hidden;text-overflow:ellipsis}.index-tree-search-filter-btn-active{border:var(--border-input);background:var(--color-primary-subtle);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-primary);display:flex;align-items:center;gap:5px;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;width:100%;height:26px;padding:0 12px;overflow:hidden;text-overflow:ellipsis;border-color:var(--color-border-focus)}.index-tree-search-filter-btn svg,.index-tree-search-filter-btn-active svg{width:13px;height:13px;flex-shrink:0}.index-tree-search-filter-btn svg{opacity:.65}.index-tree-search-filter-btn-active svg{opacity:1;color:var(--color-primary)}.index-tree-search-filter-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}.index-tree-search-filter-btn:hover{background:var(--color-bg-app);border-color:var(--color-border-focus);color:var(--color-text-primary)}.index-tree-search-filter-btn-active:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.index-tree-search-filter-chevron{font-size:var(--font-size-lg);line-height:.75;opacity:.55;display:inline-block;margin-left:1px;transition:transform .2s ease}.index-tree-search-filter-chevron-open{font-size:var(--font-size-lg);line-height:.75;opacity:.8;display:inline-block;margin-left:1px;transform:rotate(180deg);transition:transform .2s ease}.index-tree-search-filter-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--color-bg-app);border:1px solid var(--color-border-focus);border-radius:var(--radius-md);box-shadow:var(--dropdown-shadow);width:100%;box-sizing:border-box;max-height:300px;overflow:hidden;display:flex;flex-direction:column;z-index:1000}.index-tree-search-filter-dropdown-items{overflow-y:auto;max-height:240px;padding:4px 0}.index-tree-search-filter-dropdown-item,.index-tree-search-filter-dropdown-item-active{display:flex;align-items:center;gap:5px;width:100%;box-sizing:border-box;padding:5px 8px;cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-xs);transition:background var(--transition-fast),color var(--transition-fast)}.index-tree-search-filter-dropdown-item-active{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.index-tree-search-filter-dropdown-item:hover,.index-tree-search-filter-dropdown-item-active:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.index-tree-search-filter-dropdown-item input[type=checkbox],.index-tree-search-filter-dropdown-item-active input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.index-tree-search-filter-round-indicator{width:16px;height:16px;min-width:16px;border-radius:50%;border:1.5px solid var(--color-border-strong);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.index-tree-search-filter-round-indicator-active{width:16px;height:16px;min-width:16px;border-radius:50%;border:5px solid var(--color-primary);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.index-tree-search-filter-chapter-name,.index-tree-search-filter-option-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-primary)}.index-tree-search-filter-dropdown-empty{padding:16px;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.index-tree-search-status{display:inline-flex;align-items:center;flex-shrink:0}.index-tree-search-filter-dropdown-items::-webkit-scrollbar{width:8px}.index-tree-search-filter-dropdown-items::-webkit-scrollbar-track{background:var(--color-bg-app);border-radius:var(--radius-xs)}.index-tree-search-filter-dropdown-items::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-xs)}.index-tree-search-filter-dropdown-items::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.EditSidebar-BookIndex-tree-view{height:100%;display:flex;flex-direction:column;background:var(--color-bg-app);--tree-base-indent: 8px;--tree-level-indent: 16px;--tree-row-connector-top: 15px}.EditSidebar-BookIndex-tree-view-header{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:var(--border-panel);background:var(--color-bg-surface);flex-shrink:0}.EditSidebar-BookIndex-tree-view-header-title h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.EditSidebar-BookIndex-tree-view-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0}.EditSidebar-BookIndex-tree-view-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);font-size:var(--font-size-base);padding:20px;text-align:center}.EditSidebar-BookIndex-tree-view-content::-webkit-scrollbar{width:8px}.EditSidebar-BookIndex-tree-view-content::-webkit-scrollbar-track{background:var(--color-bg-app)}.EditSidebar-BookIndex-tree-view-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-xs)}.EditSidebar-BookIndex-tree-view-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.index-tree-search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.index-tree-search-empty-icon{font-size:var(--font-size-2xl);margin-bottom:12px;opacity:.5}.index-tree-search-empty-message{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:8px;font-weight:500}.index-tree-search-empty-hint{font-size:var(--font-size-base);color:var(--color-text-muted)}.EditSidebar-media-tree-node{display:flex;align-items:center;min-height:32px;cursor:default;-webkit-user-select:none;user-select:none;margin:1px 0}.EditSidebar-media-tree-node-content{display:flex;align-items:center;width:100%;padding:4px 8px;gap:8px}.EditSidebar-media-tree-dragbody,.EditSidebar-media-tree-dragbody-static{display:flex;align-items:center;min-width:0;width:fit-content;max-width:100%;gap:8px;padding:2px 4px;border-radius:var(--radius-xs);box-sizing:border-box}.EditSidebar-media-tree-dragbody{cursor:grab}.EditSidebar-media-tree-dragbody:hover{background:var(--color-bg-hover)}.EditSidebar-media-tree-dragbody:active{cursor:grabbing}.EditSidebar-media-tree-dragbody.dragging{opacity:.5;transform:scale(.98);background:var(--color-primary-subtle);outline:1px dashed var(--color-primary)}.EditSidebar-media-tree-expand-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);color:var(--color-text-muted);cursor:pointer;transition:transform var(--transition-base);flex-shrink:0}.EditSidebar-media-tree-expand-icon:hover{color:var(--color-text-primary);background:var(--color-border);border-radius:2px}.EditSidebar-media-tree-icon{font-size:var(--font-size-base);flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.EditSidebar-media-tree-node-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.EditSidebar-media-tree-node-name{font-size:var(--font-size-base);font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.EditSidebar-media-tree-node[data-type=folder] .EditSidebar-media-tree-node-name{font-weight:600;color:var(--color-text-secondary)}.EditSidebar-media-tree-node-meta{display:flex;gap:8px;flex-wrap:wrap}.EditSidebar-media-file-type,.EditSidebar-media-file-size,.EditSidebar-media-file-date{font-size:var(--font-size-base);color:var(--color-text-muted);white-space:nowrap}.EditSidebar-media-file-type{font-weight:600;text-transform:uppercase;color:var(--color-primary)}.EditSidebar-media-tree-children{position:relative}.EditSidebar-media-tree-children:before{content:"";position:absolute;left:var(--guide-x, 20px);top:0;bottom:14px;width:var(--tree-guide-width);background-image:linear-gradient(to bottom,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-width) var(--tree-guide-dash);background-repeat:repeat-y;pointer-events:none}.EditSidebar-media-tree-children>.EditSidebar-media-tree-node{position:relative;margin:0}.EditSidebar-media-tree-children>.EditSidebar-media-tree-node:before{content:"";position:absolute;left:var(--guide-x, 20px);top:50%;transform:translateY(-50%);width:16px;height:var(--tree-guide-width);background-image:linear-gradient(to right,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-dash) var(--tree-guide-width);background-repeat:repeat-x;pointer-events:none}.EditSidebar-media-tree-node:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.EditSidebar-media-tree-expand-icon:focus{outline:1px solid var(--color-primary);outline-offset:1px}.media-sidebar{background:var(--color-bg-surface);border-left:var(--border-panel);display:flex;flex-direction:column;height:100%}.media-sidebar-header{padding:.5vh;border-bottom:var(--border-panel);background:var(--color-bg-app);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;min-width:0}.media-sidebar-header h2{margin:0;font-size:var(--font-size-base);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:1}.media-header-actions{display:flex;gap:.5vh;flex-wrap:wrap;min-width:0;flex-shrink:0}.refresh-button{padding:.5vh;border:var(--border-panel);background:var(--color-bg-surface);border-radius:var(--radius-xs);cursor:pointer;font-size:var(--font-size-base);transition:var(--transition-base)}.refresh-button:hover{background:var(--color-border)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.media-sidebar-controls{padding:.5vh;border-bottom:var(--border-panel)}.search-input{width:100%;padding:.5vh;border:var(--border-panel);border-radius:var(--radius-xs);font-size:var(--font-size-base)}.search-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-accent)}.media-sidebar-content{flex:1;overflow-y:auto;padding:.5vh;min-height:0;min-width:0}.media-files-stats{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:.5vh;text-align:center}.media-tree-container{display:flex;flex-direction:column}.tree-action-button{padding:.5vh;border:var(--border-panel);background:var(--color-bg-surface);border-radius:var(--radius-xs);cursor:pointer;font-size:var(--font-size-base);font-weight:700;transition:var(--transition-base);min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.tree-action-button:hover{background:var(--color-border);border-color:var(--color-border-strong)}.tree-action-button:disabled{opacity:.6;cursor:not-allowed}.search-indicator{color:var(--color-primary);font-style:italic}.no-access-message{text-align:center;padding:.5vh;color:var(--color-text-muted)}.no-access-message p{margin-bottom:.5vh}.loading{text-align:center;color:var(--color-text-muted);font-style:italic;padding:.5vh}.empty-state{text-align:center;color:var(--color-text-muted);font-style:italic;padding:.5vh;border:1px dashed var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-app)}.bookedit-sidebar-tabs{display:flex;border-bottom:var(--border-panel);background:var(--color-bg-app);flex-shrink:0}.bookedit-sidebar-tab{flex:1;padding:12px 16px;border:none;background:transparent;color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition-base);border-bottom:2px solid transparent}.bookedit-sidebar-tab:hover{background:var(--color-border);color:var(--color-text-secondary)}.bookedit-sidebar-tab-active{flex:1;padding:12px 16px;border:none;background:var(--color-bg-surface);color:var(--color-primary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition-base);border-bottom:2px solid var(--color-primary)}.bookedit-sidebar-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.notebook-container{display:flex;flex-direction:row;height:100%;width:100%;background:var(--color-bg-surface)}.bookedit-sidebar{flex-shrink:0;display:flex;flex-direction:column;background:var(--color-bg-surface);overflow:hidden;position:relative}.sidebar-divider{width:6px;align-self:stretch;flex-shrink:0;cursor:col-resize;background:var(--color-bg-app);border-left:var(--border-panel);border-right:var(--border-panel);transition:background var(--transition-fast)}.sidebar-divider:hover{background:var(--color-primary-hover)}.bookedit-main-content{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.bookedit-main-content-top-bar{width:100%;height:var(--chapter-tabs-height);flex-shrink:0;display:flex;flex-direction:row}.chapter-tab-nav{height:100%;flex:1;min-width:0;display:flex;flex-direction:row;justify-content:space-between;position:relative}.bookedit-close-notebook{width:var(--section-tab-nav-width);background:var(--color-bg-surface);display:flex;align-items:flex-end;justify-content:center;margin:.1vw}.bookedit-close-notebook-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:4px;transition:color var(--transition-fast),background var(--transition-fast)}.bookedit-close-notebook-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.chapter-content{flex:1;min-height:0;width:100%;display:flex;flex-direction:row;position:relative}.section-tab-nav{width:var(--section-tab-nav-width);height:100%;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;background:var(--color-bg-surface)}.section-content{flex:1;min-height:0;border-radius:.3vw;display:flex;border:.05vw solid var(--color-border);flex-direction:column;min-width:0;overflow:hidden;z-index:1;box-shadow:var(--shadow-raised)}.bookedit-crud-error-bar{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-error-subtle);border-bottom:1px solid var(--color-error);color:var(--color-error);font-size:var(--font-size-sm);flex-shrink:0}.bookedit-crud-error-icon{flex-shrink:0}.bookedit-crud-error-text{flex:1;min-width:0}.bookedit-crud-error-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:var(--font-size-md);line-height:1;color:inherit;padding:0 2px;opacity:.7}.bookedit-crud-error-dismiss:hover{opacity:1}.book-edit-placeholder{text-align:center;padding:.5vw;max-width:500px}.placeholder-icon{font-size:var(--font-size-base);margin-bottom:.5vh}.book-edit-placeholder h3{color:var(--color-text-secondary);font-size:var(--font-size-base)}.book-edit-placeholder p{color:var(--color-text-muted);font-size:var(--font-size-base);margin-bottom:.5vh;line-height:1.5}.wb-thumbnail-search-bar{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.wb-thumbnail-search-input-wrapper{position:relative;flex:1;min-width:120px}.wb-thumbnail-search-input{width:100%;padding:5px 2rem 5px 12px;border:var(--border-input);border-radius:var(--radius-pill);font-size:var(--font-size-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);box-sizing:border-box;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.wb-thumbnail-search-input:focus{outline:none;background:var(--color-bg-app);border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-primary-subtle);color:var(--color-text-primary)}.wb-thumbnail-search-input:disabled{opacity:.45;cursor:not-allowed}.wb-thumbnail-search-clear-button{position:absolute;display:inline-flex;align-items:center;justify-content:center;right:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:transparent;cursor:pointer;padding:0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1;border-radius:50%}.wb-thumbnail-search-clear-button:hover{color:var(--color-text-primary);background:var(--color-border)}.wb-thumbnail-search-status{display:inline-flex;align-items:center;flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;opacity:0}.wb-thumbnail-search-status-visible{display:inline-flex;align-items:center;flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;opacity:1}.wb-options-container{position:relative}.wb-options-container-active{z-index:1001}.wb-options-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:transparent;cursor:default}.wb-options-button{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:var(--btn-radius);color:var(--color-icon);line-height:1;display:flex;align-items:center;justify-content:center;transition:var(--btn-transition);width:28px;height:28px}.wb-options-button svg{width:16px;height:16px;flex-shrink:0}.wb-options-button:hover{background:var(--color-bg-surface-highlight);color:var(--color-icon-active)}.wb-options-menu{background:var(--dropdown-bg);border:var(--dropdown-border);border-radius:var(--dropdown-radius);box-shadow:var(--dropdown-shadow);min-width:160px;max-width:220px;max-height:80vh;overflow-y:auto;overflow-x:hidden;z-index:1001;animation:wb-options-menu-enter var(--transition-spring) forwards}@keyframes wb-options-menu-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.wb-options-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);transition:background var(--transition-fast);border-bottom:1px solid var(--color-border-light)}.wb-options-menu-item:last-child{border-bottom:none}.wb-options-menu-item:hover{background:var(--color-bg-hover)}.wb-options-menu-icon{width:16px;height:16px;flex-shrink:0;color:var(--color-icon);display:flex;align-items:center;justify-content:center}.wb-options-menu-icon svg{width:16px;height:16px}.wb-options-menu-item-danger .wb-options-menu-icon{color:var(--color-error)}.wb-options-menu-item-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.wb-board-image-input{display:none}.wb-board-item{--board-color: #94a3b8;width:218px;display:flex;flex-direction:column;align-items:center;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);padding:0}.wb-board-scene{width:218px;height:218px;perspective:1200px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:filter .15s}.wb-board-item:hover .wb-board-scene{filter:drop-shadow(var(--shadow-flat))}.wb-board-item-active .wb-board-scene{animation:wb-board-active-glow 5s ease-out}@keyframes wb-board-active-glow{0%,15%{filter:drop-shadow(0 0 10px var(--color-primary)) drop-shadow(0 0 4px var(--color-primary))}}.wb-board-card{--wb-board-card-face: #e8edf2;position:relative;width:202px;height:202px;border-radius:var(--radius-sm);background:var(--wb-board-card-face);overflow:visible;transform-style:preserve-3d;transition:transform .15s ease-out;box-shadow:var(--wb-card-shadow-x, 0) 14px var(--wb-card-shadow-blur, 28px) rgba(15,23,42,var(--wb-card-shadow-opacity, .22)),0 3px 8px #0f172a29,inset 0 0 0 1px #ffffff2e;cursor:pointer}.wb-board-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--wb-board-card-face);backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(180deg) translateZ(1px)}.wb-board-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,var(--wb-card-light-opacity, .32)) 0%,transparent 46%),linear-gradient(135deg,transparent 46%,rgba(15,23,42,var(--wb-card-shade-opacity, .16)) 100%);box-shadow:inset 1px 1px rgba(255,255,255,var(--wb-card-edge-light-opacity, .34)),inset -1px -1px rgba(15,23,42,var(--wb-card-edge-shade-opacity, .16));pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px);z-index:6}.wb-board-card-dragging{transition:none}.wb-board-thumbnail-image{width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px)}.wb-board-thumbnail-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:inherit;background:linear-gradient(135deg,#ffffff3d,#0000000a),var(--wb-board-card-face);backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px)}.wb-board-cover-title{position:relative;width:82%;color:var(--color-primary-text);font-size:var(--font-size-base);font-weight:600;line-height:1.2;text-align:center;overflow-wrap:break-word;word-break:break-word;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;pointer-events:none;z-index:2}.wb-board-cover-title-editor{position:relative;width:82%;z-index:2}.wb-board-cover-title-input{width:100%;color:var(--color-primary-text);font-size:var(--font-size-base);font-weight:600;line-height:1.2;text-align:center;background:#ffffff94;border:1px solid rgba(15,23,42,.22);border-radius:var(--radius-sm);outline:none;padding:6px;font-family:inherit;text-shadow:none}.wb-board-open-overlay{position:absolute;left:0;bottom:0;width:100%;height:50%;display:flex;align-items:center;justify-content:center;border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:4;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px)}.wb-board-open-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:linear-gradient(to bottom,color-mix(in srgb,var(--board-color) 18%,transparent),color-mix(in srgb,var(--board-color) 46%,transparent) 28%,color-mix(in srgb,var(--board-color) 82%,transparent) 66%,color-mix(in srgb,var(--board-color) 100%,transparent));backdrop-filter:blur(5px) saturate(1.14);-webkit-backdrop-filter:blur(5px) saturate(1.14);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0f172a14;mask-image:linear-gradient(to bottom,transparent 0%,black 28%,black 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 28%,black 100%);pointer-events:none;z-index:1}.wb-board-open-hit-zone{position:absolute;top:0;right:0;width:10%;height:100%;cursor:zoom-in;background:transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;z-index:5;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px)}.wb-board-move-hit-zone{position:absolute;top:0;left:0;width:100%;height:10%;cursor:grab;background:transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;z-index:7;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px)}.wb-board-move-hit-zone:active{cursor:grabbing}.wb-board-options-hit-container{position:absolute;left:0;bottom:0;width:100%;height:10%;z-index:8;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px)}.wb-board-options-hit-container.wb-options-container-active{z-index:1001}.wb-board-options-hit-button{width:100%;height:100%;padding:0;border:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:transparent;cursor:help;display:block}.wb-board-item-moving .wb-board-scene,.wb-board-item-moving .wb-board-card,.wb-board-item-moving .wb-board-open-hit-zone,.wb-board-item-moving .wb-board-move-hit-zone{cursor:grab}.wb-board-item-moving .wb-board-scene:active,.wb-board-item-moving .wb-board-scene:active .wb-board-card,.wb-board-item-moving .wb-board-scene:active .wb-board-open-hit-zone,.wb-board-item-moving .wb-board-scene:active .wb-board-move-hit-zone{cursor:grabbing}.wb-board-item-slot-dragging .wb-board-scene{width:202px;height:202px;margin-top:8px;background:var(--color-drop-target-bg);outline:2px dashed var(--color-drop-target-border);box-shadow:none;filter:none}.wb-board-item-slot-dragging .wb-board-scene>*{visibility:hidden}body[data-wb-board-moving] .wb-board-item:not(.wb-board-item-moving){pointer-events:none}body[data-wb-board-moving] .wb-board-options-hit-container{visibility:hidden}body[data-wb-board-menu-open] .wb-board-item{pointer-events:none}body[data-wb-board-menu-open] .wb-options-container-active{pointer-events:auto}.wb-shelf-section{border-radius:var(--radius-sm);overflow:visible;border:1px solid var(--color-border);margin-bottom:8px}.wb-shelf-section-new{border-radius:var(--radius-sm);overflow:visible;border:1px solid var(--color-border);margin-bottom:8px;animation:wb-shelf-new-glow 5s ease-out forwards}@keyframes wb-shelf-new-glow{0%,15%{box-shadow:0 0 0 2px var(--color-primary),0 0 16px 4px var(--color-primary)}to{box-shadow:none}}.wb-shelf-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:40px}.wb-shelf-header:hover{background-color:var(--color-bg-surface-highlight)}.wb-shelf-header-expanded{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:40px;border-bottom:1px solid var(--color-border)}.wb-shelf-header-expanded:hover{background-color:var(--color-bg-surface-highlight)}.wb-shelf-header-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.wb-shelf-expand-icon{color:var(--color-text-secondary);flex-shrink:0}.wb-shelf-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-shelf-actions{flex-shrink:0}.wb-shelf-boards{padding:4px;background:var(--color-bg-app)}.wb-boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:4px;justify-content:stretch}.wb-board-wrapper{display:flex;justify-content:center;transition:box-shadow var(--transition-base),filter var(--transition-base),opacity var(--transition-base)}.wb-board-wrapper-overlay{display:flex;justify-content:center;cursor:grabbing;filter:drop-shadow(var(--shadow-accent));border-radius:var(--radius-sm)}.wb-shelf-empty{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:8px 0}.wb-thumbnail-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.wb-thumbnail-header{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.wb-thumbnail-list{flex:1;overflow-y:auto;padding:12px 16px}.wb-empty-state{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.wb-switch-search-bar{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.wb-switch-search-input-wrapper{position:relative;flex:1;min-width:120px}.wb-switch-search-input{width:100%;padding:5px 2rem 5px 12px;border:var(--border-input);border-radius:var(--radius-pill);background:var(--color-bg-surface);color:var(--color-text-secondary);box-sizing:border-box;font-size:var(--font-size-sm);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.wb-switch-search-input:focus{outline:none;border-color:var(--color-border-focus);background:var(--color-bg-app);color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-primary-subtle)}.wb-switch-search-input:disabled{opacity:.45;cursor:not-allowed}.wb-switch-search-clear{position:absolute;top:50%;right:5px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;transform:translateY(-50%);border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);line-height:1}.wb-switch-search-clear:hover{background:var(--color-border);color:var(--color-text-primary)}.wb-switch-search-status{display:inline-flex;align-items:center;flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-sm);opacity:0;white-space:nowrap}.wb-switch-search-status-visible{display:inline-flex;align-items:center;flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-sm);opacity:1;white-space:nowrap}.wb-switch-search-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;border-radius:var(--radius-pill);background:var(--color-primary-subtle);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:600}.wb-switch-search-count-warning{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;border-radius:var(--radius-pill);background:var(--color-warning-subtle);color:var(--color-warning);font-size:var(--font-size-xs);font-weight:600}.wb-switch-tree{--wb-switch-tree-base-indent: 8px;--wb-switch-tree-level-indent: 16px;--wb-switch-tree-row-connector-top: 13px;overflow:visible;-webkit-user-select:none;user-select:none}.wb-switch-node-wrapper{position:relative}.wb-switch-node-wrapper-has-hierarchy:before{content:"";position:absolute;left:calc(var(--wb-switch-tree-level, 1) * var(--wb-switch-tree-level-indent));top:0;bottom:0;width:var(--tree-guide-width);background-image:linear-gradient(to bottom,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-width) var(--tree-guide-dash);background-repeat:repeat-y;pointer-events:none}.wb-switch-node-wrapper-has-hierarchy:last-child:before{height:calc(var(--wb-switch-tree-row-connector-top) + 1px);bottom:auto}.wb-switch-node-row{display:flex;align-items:center;gap:4px;position:relative;padding:4px;padding-left:calc(var(--wb-switch-tree-base-indent) + var(--wb-switch-tree-level, 0) * var(--wb-switch-tree-level-indent));border-radius:var(--radius-xs);cursor:pointer}.wb-switch-node-wrapper-has-hierarchy>.wb-switch-node-row:after{content:"";position:absolute;left:calc(var(--wb-switch-tree-level, 1) * var(--wb-switch-tree-level-indent));top:var(--wb-switch-tree-row-connector-top);width:var(--wb-switch-tree-base-indent);height:var(--tree-guide-width);background-image:linear-gradient(to right,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-dash) var(--tree-guide-width);background-repeat:repeat-x;pointer-events:none}.wb-switch-node-row:hover{background:var(--color-bg-hover)}.wb-switch-node-row-active{background:var(--color-primary-subtle)}.wb-switch-node-row-selected{background:var(--color-primary-subtle);outline:1px solid var(--color-primary);outline-offset:-1px}.wb-switch-node-row-dragging{opacity:.35}.wb-switch-drop-before,.wb-switch-drop-after{z-index:10}.wb-switch-drop-before:before,.wb-switch-drop-after:before{content:"";position:absolute;left:0;right:0;height:2px;background:var(--color-primary);pointer-events:none;z-index:10}.wb-switch-drop-before:before{top:0}.wb-switch-drop-after:before{bottom:0}.wb-switch-node-row-renaming .wb-switch-checkbox{display:none}.wb-switch-drop-attach{background:color-mix(in srgb,var(--color-primary) 14%,transparent);outline:2px solid var(--color-primary);outline-offset:-2px}.wb-switch-drop-root{background:color-mix(in srgb,var(--color-info-subtle) 72%,transparent);outline:2px solid var(--color-primary);outline-offset:-2px}.wb-switch-toggle,.wb-switch-toggle-placeholder{width:16px;height:16px;flex-shrink:0}.wb-switch-toggle{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer}.wb-switch-toggle-placeholder{display:inline-block}.wb-switch-checkbox{width:14px;height:14px;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.wb-switch-node-icon,.wb-switch-node-icon-draggable{width:14px;height:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.wb-switch-node-icon{cursor:default}.wb-switch-node-icon-draggable{cursor:grab}.wb-switch-node-icon svg,.wb-switch-node-icon-draggable svg{width:14px;height:14px}.wb-switch-node-name{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font-size:var(--font-size-base)}.wb-switch-node-text{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.wb-switch-annotation-preview{overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.wb-switch-node-type-shelf>.wb-switch-node-name{font-weight:600}.wb-switch-node-type-whiteboard>.wb-switch-node-name{font-weight:500}.wb-switch-node-type-group>.wb-switch-node-name,.wb-switch-node-type-background>.wb-switch-node-name,.wb-switch-node-type-notegroup>.wb-switch-node-name,.wb-switch-node-type-note .wb-switch-node-name{color:var(--color-text-secondary)}.wb-switch-node-type-note .wb-switch-node-name{font-size:var(--font-size-sm)}.wb-switch-node-open-btn{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:2px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-muted);cursor:pointer}.wb-switch-node-open-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-primary)}.wb-switch-node-open-btn:disabled{cursor:default;opacity:.45}.wb-switch-node-open-btn svg{width:17px;height:17px}.wb-switch-node-children{position:relative}.wb-switch-node-loading{padding:4px 4px 4px calc(var(--wb-switch-tree-base-indent) + 2 * var(--wb-switch-tree-level-indent));color:var(--color-text-muted);font-size:var(--font-size-sm)}.wb-switch-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--color-bg-app)}.wb-switch-filter-bar{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px 6px;border-bottom:1px solid var(--color-border);flex-shrink:0}.wb-switch-toolbar{display:flex;align-items:center;gap:2px;padding:3px 6px;border-bottom:1px solid var(--color-border);flex-shrink:0}.wb-switch-action-buttons{display:flex;align-items:center;gap:2px;flex-shrink:0}.wb-switch-toolbar-btn{display:flex;align-items:center;justify-content:flex-start;gap:3px;height:24px;padding:2px 6px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);white-space:nowrap}.wb-switch-action-add{width:102px}.wb-switch-action-clone{width:64px}.wb-switch-action-rename{width:76px}.wb-switch-action-delete{width:70px}.wb-switch-action-open{width:62px}.wb-switch-toolbar-btn:hover:not(:disabled){background:var(--color-bg-hover)}.wb-switch-toolbar-btn:disabled{cursor:not-allowed;opacity:.4}.wb-switch-toolbar-btn svg{width:14px;height:14px;flex-shrink:0}.wb-switch-toolbar-btn-danger:hover:not(:disabled){background:var(--color-error-subtle);color:var(--color-error)}.wb-switch-subnode-toggle{display:flex;align-items:center;gap:4px;height:24px;padding:2px 6px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);white-space:nowrap}.wb-switch-subnode-toggle-active{display:flex;align-items:center;gap:4px;height:24px;padding:2px 6px;border:none;border-radius:var(--radius-xs);background:var(--color-primary-subtle);color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);white-space:nowrap}.wb-switch-subnode-toggle:hover:not(:has(.wb-switch-subnode-checkbox:disabled)){background:var(--color-bg-hover);color:var(--color-primary)}.wb-switch-subnode-toggle-active:hover:not(:has(.wb-switch-subnode-checkbox:disabled)){background:var(--color-bg-hover);color:var(--color-primary)}.wb-switch-subnode-toggle:has(.wb-switch-subnode-checkbox:disabled){cursor:not-allowed;opacity:.4}.wb-switch-subnode-toggle-active:has(.wb-switch-subnode-checkbox:disabled){cursor:not-allowed;opacity:.4}.wb-switch-subnode-checkbox{width:14px;height:14px;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.wb-switch-subnode-checkbox:disabled{cursor:not-allowed}.wb-switch-toolbar-spacer{flex:1}.wb-switch-selection-count,.wb-switch-toolbar-status,.wb-switch-toolbar-status-error{font-size:var(--font-size-sm);white-space:nowrap}.wb-switch-selection-count,.wb-switch-toolbar-status{color:var(--color-text-muted)}.wb-switch-toolbar-status-error{display:flex;align-items:center;gap:4px;max-width:260px;color:var(--color-error);overflow:hidden}.wb-switch-toolbar-status-text{overflow:hidden;text-overflow:ellipsis}.wb-switch-toolbar-status-dismiss{border:none;background:transparent;color:inherit;cursor:pointer;padding:0 2px}.wb-switch-tree-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0}.wb-switch-empty-state{display:flex;align-items:center;justify-content:center;padding:32px 16px;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.wb-switch-drag-overlay{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:0 4px 12px #0003;font-size:var(--font-size-base);white-space:nowrap}.wb-open-home{height:100%;display:flex;flex-direction:column;background:var(--color-bg-surface)}.wb-open-header{padding:.56vh;border-bottom:1px solid var(--color-border);background:var(--color-bg-app);display:flex;flex-direction:column;gap:.56vh}.wb-open-content{flex:1;min-height:0}.wb-view-mode-switch{display:flex;justify-content:center}.wb-view-mode-buttons{display:flex;gap:.19vh;background:var(--color-bg-app);border-radius:.28vh;padding:.19vh;width:fit-content;border:1px solid var(--color-border)}.wb-view-mode-button{display:flex;align-items:center;gap:.28vh;padding:.37vh .56vh;border:none;border-radius:.19vh;background:transparent;color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition-base);outline:none}.wb-view-mode-button:hover{background:var(--color-border);color:var(--color-text-secondary)}.wb-view-mode-button-active{display:flex;align-items:center;gap:.28vh;padding:.37vh .56vh;border:none;border-radius:.19vh;background:var(--color-primary);color:var(--color-bg-surface);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition-base);outline:none;box-shadow:var(--shadow-accent)}.wb-view-mode-button-active:hover{background:var(--color-primary-hover)}.wb-view-mode-icon{font-size:var(--font-size-base);line-height:1}.wb-view-mode-label{font-size:var(--font-size-base);font-weight:600}.wb-open-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.78vh .93vh;text-align:center;color:var(--color-text-muted)}.wb-open-waiting-icon{font-size:var(--font-size-base);margin-bottom:.93vh;opacity:.8}.wb-open-waiting h3{font-size:var(--font-size-base);margin:0 0 .56vh;color:var(--color-text-secondary)}.wb-open-waiting p{font-size:var(--font-size-base);margin:0;max-width:23.15vw;color:var(--color-text-muted)}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.clip-card-media-window{position:relative;width:100%;flex:1 1 0;min-height:0;height:auto;background:var(--color-bg-app);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;overflow:hidden}.clip-card-media-window-dragover{outline:2px dashed var(--color-primary);outline-offset:-4px}.clip-card-media-image{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in}.clip-card-media-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-text-secondary);pointer-events:none}.clip-card-media-placeholder-icon{font-size:var(--font-size-xl);opacity:.4}.clip-card-media-placeholder-text{font-size:var(--font-size-xs);opacity:.6}.clip-card-media-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-media);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.clip-card-media-overlay-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-sm)}.clip-card-note-list{width:100%;height:100%;overflow:hidden;flex:1 1 0;min-height:0;display:flex;flex-direction:column;background:var(--color-bg-app)}.clip-card-note-list-head{flex:0 0 32px;min-height:32px;display:flex;align-items:center;gap:6px;padding:4px 6px 4px 8px;box-sizing:border-box;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.clip-card-note-list-title{flex:1 1 auto;min-width:0;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.clip-card-note-list-add-group{width:24px;height:24px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-app);color:var(--color-text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.clip-card-note-list-add-group:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-hover)}.clip-card-note-list-add-group svg,.clip-card-note-group-action svg,.clip-card-note-group-edit-btn svg,.clip-card-note-group-delete svg{width:14px;height:14px}.clip-card-note-list-body{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.clip-card-note-list-body::-webkit-scrollbar{display:none}.clip-card-note-list-body-drop{background-color:var(--color-primary-subtle);box-shadow:inset 0 0 0 2px var(--color-primary)}.clip-card-note-list-empty,.clip-card-note-empty{padding:40px 20px;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-base);font-style:italic}.clip-card-note-group{border-bottom:1px solid var(--color-border);flex:0 0 auto;--clip-card-note-header-padding-left: 8px;--clip-card-note-toggle-width: 16px;--clip-card-note-header-gap: 6px;--clip-card-note-leading-size: 36px;--clip-card-note-side-column-width: 60px;--clip-card-note-row-connector-top: 22px;--clip-card-note-toggle-center-x: calc(var(--clip-card-note-header-padding-left) + var(--clip-card-note-toggle-width) / 2);--clip-card-note-group-icon-left-x: calc(var(--clip-card-note-header-padding-left) + var(--clip-card-note-toggle-width) + var(--clip-card-note-header-gap));--clip-card-note-vline-left: calc(var(--clip-card-note-toggle-center-x) - var(--clip-card-note-group-icon-left-x));--clip-card-note-hline-width: calc(var(--clip-card-note-group-icon-left-x) - var(--clip-card-note-toggle-center-x))}.clip-card-note-group-active{background-color:var(--color-primary-subtle)}.clip-card-note-group-header{display:flex;align-items:center;gap:var(--clip-card-note-header-gap);padding:6px 4px 6px var(--clip-card-note-header-padding-left);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.clip-card-note-group-header:hover,.clip-card-note-group-active .clip-card-note-group-header{background-color:var(--color-primary-subtle);box-shadow:inset 0 0 0 1px var(--color-primary)}.clip-card-note-group-toggle{width:var(--clip-card-note-toggle-width);height:var(--clip-card-note-toggle-width);border:none;background:none;cursor:pointer;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast)}.clip-card-note-group-toggle:hover{opacity:.7}.clip-card-note-group-toggle svg{display:block}.clip-card-note-group-color{width:14px;height:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;-webkit-user-select:none;user-select:none;opacity:.7;transition:opacity var(--transition-fast)}.clip-card-note-group-color:hover{opacity:1}.clip-card-note-group-color:active{cursor:grabbing}.clip-card-note-group-color svg{width:100%;height:100%}.clip-card-note-group-name{flex:1;min-width:0;box-sizing:border-box;display:block;padding:0 2px;border:1px solid transparent;border-radius:2px;font-weight:600;font-size:var(--font-size-base);line-height:1.4;color:var(--color-text-primary);cursor:text;white-space:nowrap;outline:none;background:none;margin:0;font-family:inherit;vertical-align:top}span.clip-card-note-group-name{overflow:hidden;text-overflow:ellipsis}input.clip-card-note-group-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-primary-subtle)}.clip-card-note-group-count{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0}.clip-card-note-group-dragging{opacity:.4}.clip-card-note-group-header-drop-before .clip-card-note-group-header{box-shadow:inset 0 2px 0 0 var(--color-primary);position:relative;z-index:10}.clip-card-note-group-header-drop-after .clip-card-note-group-header{box-shadow:inset 0 -2px 0 0 var(--color-primary);position:relative;z-index:10}.clip-card-note-group-header-drop-inside .clip-card-note-group-header{background-color:var(--color-primary-subtle);border:2px dashed var(--color-primary);border-radius:var(--radius-xs)}.clip-card-note-group-action,.clip-card-note-group-edit-btn,.clip-card-note-group-delete{padding:2px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.clip-card-note-group-action:hover:not(:disabled),.clip-card-note-group-edit-btn:hover:not(:disabled){color:var(--color-primary)}.clip-card-note-group-delete:hover:not(:disabled){color:var(--color-error)}.clip-card-note-group-items{padding:4px 0 4px var(--clip-card-note-group-icon-left-x)}.clip-card-note-item-wrapper{position:relative}.clip-card-note-item-wrapper:before{content:"";position:absolute;left:var(--clip-card-note-vline-left);top:0;bottom:0;width:var(--tree-guide-width);background-image:linear-gradient(to bottom,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-width) var(--tree-guide-dash);background-repeat:repeat-y;pointer-events:none;z-index:1}.clip-card-note-item-wrapper:last-child:before{height:var(--clip-card-note-row-connector-top);bottom:auto}.clip-card-note-item-wrapper>.clip-card-media-note-item:after,.clip-card-note-item-wrapper>.text-card-note-item:after{content:"";position:absolute;left:calc(-1 * var(--clip-card-note-hline-width));top:var(--clip-card-note-row-connector-top);width:var(--clip-card-note-hline-width);height:var(--tree-guide-width);background-image:linear-gradient(to right,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-dash) var(--tree-guide-width);background-repeat:repeat-x;pointer-events:none;z-index:1}.clip-card-note-item-drop-before,.clip-card-note-item-drop-after{position:relative;z-index:10}.clip-card-note-item-drop-before:before,.clip-card-note-item-drop-after:before{content:"";position:absolute;left:0;right:0;height:2px;border-radius:0;background-color:var(--color-primary);pointer-events:none;z-index:100}.clip-card-note-item-drop-before:before{top:-2px}.clip-card-note-item-drop-after:before{bottom:-2px}.clip-card-media-note-item{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 2px 0 0;transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base);margin:4px 4px 4px 0;display:flex;flex-direction:column;box-shadow:var(--shadow-flat);position:relative}.clip-card-media-note-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-accent)}.clip-card-media-note-item-active{border-color:var(--color-primary)!important;box-shadow:var(--shadow-accent)}.clip-card-media-note-item-dragging{opacity:.5;cursor:move}.clip-card-media-note-item-inline-expanded .clip-card-media-note-handle{border-bottom-left-radius:0}.clip-card-media-note-title-row{display:flex;align-items:center;gap:0;cursor:pointer;transition:background var(--transition-base);min-height:40px}.clip-card-media-note-handle{width:15px;align-self:stretch;border-radius:6px 0 0 6px;cursor:grab;transition:opacity var(--transition-base),filter var(--transition-base);flex-shrink:0;margin:0}.clip-card-media-note-handle:hover{filter:brightness(1.15)}.clip-card-media-note-handle:active{cursor:grabbing}.clip-card-media-note-name{width:100%;min-width:0;flex:1 1 auto;box-sizing:border-box;font-weight:500;font-size:var(--font-size-base);line-height:1.4;color:var(--color-text-primary);align-self:auto;border:1px solid transparent;border-radius:2px;padding:0 2px;outline:none;background:none;font-family:inherit;margin:0;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.clip-card-media-note-side-column{width:var(--clip-card-note-side-column-width);min-width:var(--clip-card-note-side-column-width);display:flex;flex-direction:column;justify-content:center;gap:1px;flex-shrink:0}.clip-card-media-note-side-row{min-height:14px;display:flex;align-items:center;justify-content:flex-end}.clip-card-media-note-side-row-toggle{min-height:16px;gap:4px}.clip-card-media-note-delete{padding:2px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-base),opacity var(--transition-base);display:flex;align-items:center;justify-content:center;flex-shrink:0}.clip-card-media-note-delete:hover:not(:disabled){color:var(--color-error)}.clip-card-media-note-delete svg{width:16px;height:16px}.clip-card-media-note-play,.clip-card-media-note-inline-toggle{padding:0;border:none;background:transparent;color:var(--color-border-light);cursor:pointer;transition:color var(--transition-base),opacity var(--transition-base);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin:0}.clip-card-media-note-play{width:var(--clip-card-note-leading-size);min-width:var(--clip-card-note-leading-size);align-self:stretch}.clip-card-media-note-play svg{width:85%;height:85%}.clip-card-media-note-inline-toggle{width:18px;height:18px;color:var(--color-text-muted);opacity:.4;transition:opacity var(--transition-fast),color var(--transition-fast)}.clip-card-media-note-inline-toggle svg{width:16px;height:16px}.clip-card-media-note-inline-toggle-empty{opacity:.22}.clip-card-media-note-inline-toggle-open{opacity:.85;color:var(--color-primary)}.clip-card-media-note-play:hover{color:var(--color-border);opacity:.9}.clip-card-media-note-inline-toggle:hover{opacity:1}.clip-card-media-note-inline-toggle-empty:hover{opacity:.55}.clip-card-media-note-inline-toggle-open:hover{opacity:1}.clip-card-media-note-inline{margin-top:0;padding-top:8px;border-top:1px solid var(--color-border-light);min-height:0}.clip-card-media-note-time{max-width:100%;font-size:var(--font-size-xs);line-height:1.2;color:var(--color-text-secondary);font-weight:500;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.clip-card-note-name-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;min-width:0;flex:1 1 auto;box-sizing:border-box;margin:0;font-weight:500;font-size:var(--font-size-base);line-height:1.4;font-family:inherit;color:var(--color-text-primary);cursor:text;background-color:var(--color-primary-subtle);border:1px solid transparent;border-radius:2px;padding:0 2px;outline:none;resize:none;vertical-align:top}.clip-card-note-name-input:focus{box-shadow:0 0 0 2px var(--color-primary-subtle)}.clip-card-note-list-add-group:focus-visible,.clip-card-note-group-action:focus-visible,.clip-card-note-group-edit-btn:focus-visible,.clip-card-note-group-toggle:focus-visible,.clip-card-note-group-delete:focus-visible,.clip-card-media-note-play:focus-visible,.clip-card-media-note-inline-toggle:focus-visible,.clip-card-media-note-delete:focus-visible{outline:1px solid var(--color-primary);outline-offset:2px;border-radius:2px}.card-show-note{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);height:var(--clip-card-active-note-height, 64px);min-height:var(--clip-card-active-note-height, 64px);box-sizing:border-box;flex:0 0 var(--clip-card-active-note-height, 64px);overflow:hidden}.card-show-note-content{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.45;padding:2px 4px}.card-show-note-content-empty{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.45;padding:2px 4px;cursor:default}.card-show-note-title{flex:1 1 auto;min-width:0;box-sizing:border-box;display:block;padding:1px 4px;border:1px solid transparent;border-radius:var(--radius-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.45;font-weight:600}.card-show-note .clip-card-note-name-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;min-width:0;margin:0;padding:1px 4px;border:1px solid transparent;box-sizing:border-box;font-size:var(--font-size-sm);font-weight:600;font-family:inherit;line-height:1.45;color:var(--color-text-primary);cursor:text;background:transparent;outline:1px solid var(--color-primary);border-radius:var(--radius-xs);vertical-align:top}.card-show-note-placeholder{color:var(--color-text-muted);opacity:.55;font-style:italic;font-size:var(--font-size-xs)}.clip-card-root-image.clip-card-root-compact{grid-template-rows:var(--clip-card-title-height, 34px) var(--clip-card-video-height, 166px) var(--clip-card-active-note-height, 64px) var(--clip-card-details-toggle-height, 11px)}.clip-card-root-image.clip-card-root-expanded{grid-template-rows:var(--clip-card-title-height, 34px) var(--clip-card-video-height, 166px) var(--clip-card-active-note-height, 64px) var(--clip-card-details-toggle-height, 11px) minmax(0,var(--clip-card-expanded-drawer-height, 420px))}.image-clip-card-expanded-drawer{min-height:0;overflow:hidden}.text-card-note-item{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 4px 0 0;margin:4px 4px 4px 0;min-height:62px;display:flex;align-items:stretch;position:relative;box-shadow:var(--shadow-flat);cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base)}.text-card-note-item:hover,.text-card-note-item-active{border-color:var(--color-primary);box-shadow:var(--shadow-accent)}.text-card-note-item-dragging{opacity:.5;cursor:move}.text-card-note-handle-column{width:15px;align-self:stretch;border-radius:6px 0 0 6px;cursor:grab;transition:opacity var(--transition-base),filter var(--transition-base);flex-shrink:0;margin:0}.text-card-note-handle-column:hover{filter:brightness(1.15)}.text-card-note-handle-column:active{cursor:grabbing}.text-card-note-label{min-width:0;flex:1 1 auto;min-height:calc(var(--font-size-base) * 1.4 * 2);font-weight:500;font-size:var(--font-size-base);line-height:1.4;color:var(--color-text-primary);padding:6px 4px;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-card-note-delete{padding:2px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 24px}.text-card-note-delete:hover:not(:disabled){color:var(--color-error)}.text-card-note-delete svg{width:16px;height:16px}.text-card-note-delete:focus-visible{outline:1px solid var(--color-primary);outline-offset:2px;border-radius:2px}.clip-card-root-text.clip-card-root-compact{grid-template-rows:var(--clip-card-title-height, 34px) minmax(var(--clip-card-active-note-height, 64px),1fr) var(--clip-card-details-toggle-height, 11px)}.clip-card-root-text.clip-card-root-expanded{grid-template-rows:var(--clip-card-title-height, 34px) var(--clip-card-active-note-height, 64px) var(--clip-card-details-toggle-height, 11px) minmax(0,var(--clip-card-expanded-drawer-height, 420px))}.text-card-body-editor{height:100%;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;background:var(--color-bg-surface)}.text-card-body-editor .rich-text-editor-wrapper{width:100%;height:100%;min-height:0;background:transparent}.text-card-body-editor .annotation-toolbar{padding:4px 8px;min-width:0}.text-card-body-editor .rich-text-editor{min-height:0;overflow-y:auto;background:transparent}.text-card-body-editor .rich-text-editor .ProseMirror{min-height:80px;padding:8px 10px}.text-card-body-editor .rich-text-editor-empty{width:100%;height:100%;min-height:80px;padding:20px 12px;justify-content:flex-start;align-items:flex-start;text-align:left;font-size:var(--font-size-sm)}.text-card-expanded-drawer{min-height:0;overflow:hidden}.whiteboard-resize-handle.react-flow__resize-control.handle{width:18px;height:18px;padding:0;border:none;border-radius:0;background:transparent;color:var(--color-text-secondary);cursor:nwse-resize;display:flex;align-items:center;justify-content:center;opacity:.62;pointer-events:all;scale:var(--whiteboard-resize-handle-scale, 1);transform-origin:bottom right;translate:-80% -80%;z-index:20}.whiteboard-resize-handle.react-flow__resize-control.handle:hover{color:var(--color-primary);opacity:1}.whiteboard-resize-handle-icon{width:8px;height:8px;display:flex;align-items:center;justify-content:center}.whiteboard-resize-handle-icon svg{width:100%;height:100%}.clip-card-root{--clip-card-radius: var(--radius-xs);width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr);box-sizing:border-box;overflow:visible;min-width:0;min-height:0;border-radius:var(--clip-card-radius);background-color:var(--xy-node-background-color-default, var(--color-bg-surface));box-shadow:var(--xy-node-boxshadow-default);contain:layout;transform:translateZ(0)}.clip-card-root>*{min-width:0;box-sizing:border-box}.clip-card-root-compact{grid-template-rows:var(--clip-card-title-height, 34px) var(--clip-card-video-height, 166px) var(--clip-card-control-height, 40px) var(--clip-card-active-note-height, 64px) var(--clip-card-details-toggle-height, 11px)}.clip-card-root-expanded{grid-template-rows:var(--clip-card-title-height, 34px) var(--clip-card-video-height, 166px) var(--clip-card-control-height, 40px) var(--clip-card-active-note-height, 64px) var(--clip-card-details-toggle-height, 11px) minmax(0,var(--clip-card-expanded-drawer-height, 420px))}.clip-card-root-collapsed{grid-template-rows:var(--clip-card-title-height, 34px)}.react-flow__node-ClipCard.selectable:focus .clip-card-root,.react-flow__node-ClipCard.selectable:hover .clip-card-root,.react-flow__node-ClipCard.draggable:hover .clip-card-root{box-shadow:0 0 0 1px var(--xy-theme-hover),var(--xy-node-boxshadow-default)}.react-flow__node-ClipCard.selectable.selected .clip-card-root{box-shadow:0 0 0 1px var(--xy-theme-selected),var(--xy-node-boxshadow-default)}.clip-card-title-bar{padding:4px 6px;background:var(--color-bg-app);border:1px solid var(--color-border);border-radius:var(--clip-card-radius) var(--clip-card-radius) 0 0;height:var(--clip-card-title-height, 34px);min-height:var(--clip-card-title-height, 34px);box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:0;align-items:center;-webkit-user-select:none;user-select:none}.clip-card-root-collapsed .clip-card-title-bar{border-radius:var(--clip-card-radius)}.clip-card-title-row{width:100%;min-width:0;height:100%;display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;align-items:center}.clip-card-drag-handle{cursor:grab}.clip-card-drag-handle:active{cursor:grabbing}.clip-card-title{width:100%;min-width:0;box-sizing:border-box;display:block;padding:1px 4px;border:1px solid transparent;border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);cursor:inherit;line-height:1.4;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.clip-card-title-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;min-width:0;box-sizing:border-box;margin:0;padding:1px 4px;border:1px solid transparent;border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-weight:600;font-family:inherit;line-height:1.4;color:var(--color-text-primary);cursor:text;background:transparent;outline:1px solid var(--color-primary);text-align:center;vertical-align:top}.clip-card-title-option-btn,.clip-card-collapse-toggle{width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.clip-card-title-option-btn:hover,.clip-card-title-option-btn-active,.clip-card-collapse-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.clip-card-title-option-btn svg,.clip-card-collapse-toggle svg{width:18px;height:18px}.clip-card-media-frame{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border:1px solid var(--color-border);border-radius:0;background:var(--color-media-bg);box-sizing:border-box}.clip-card-media-frame-dragover:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:5;border:2px dashed var(--color-primary);pointer-events:none}.clip-card-media-frame .media-video,.clip-card-media-frame .media-player-loading{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;background:var(--color-media-bg);transform:translateZ(0);backface-visibility:hidden}.clip-card-details-toggle-bar{width:100%;height:var(--clip-card-details-toggle-height, 11px);min-height:var(--clip-card-details-toggle-height, 11px);padding:0;border:none;border-radius:0;background:var(--color-bg-app);color:var(--color-text-secondary);cursor:pointer;font:inherit;line-height:1;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;transition:background .12s ease,box-shadow .12s ease,color .12s ease}.clip-card-root-compact .clip-card-details-toggle-bar{border-radius:0 0 var(--clip-card-radius) var(--clip-card-radius)}.clip-card-details-toggle-bar svg{width:12px;height:12px;opacity:0;transition:opacity .12s ease,color .12s ease}.clip-card-details-toggle-bar-open svg,.clip-card-details-toggle-bar:hover svg,.clip-card-details-toggle-bar:focus-visible svg{opacity:.9}.clip-card-details-toggle-bar:hover,.clip-card-details-toggle-bar:focus-visible{background:var(--color-bg-hover);box-shadow:inset 0 1px 0 var(--color-border-light);color:var(--color-text-secondary)}.clip-card-note-controls{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--color-border);border-top:none;border-radius:0;background:var(--color-bg-surface);height:var(--clip-card-control-height, 40px);min-height:var(--clip-card-control-height, 40px);box-sizing:border-box}.clip-card-note-play-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;flex:0 0 auto}.clip-card-note-play-btn svg{width:14px;height:14px}.clip-card-note-play-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.clip-card-note-play-btn:disabled{opacity:.45;cursor:not-allowed}.clip-card-note-progress-control{flex:1 1 auto;min-width:0;accent-color:var(--color-primary)}.clip-card-expanded-drawer{width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:0 0 var(--clip-card-radius) var(--clip-card-radius);background:var(--color-bg-app)}.clip-card-expanded-drawer .timeline-section{width:100%;max-width:100%;min-width:0;flex:0 0 auto;padding:4px 6px 6px;border-left:none;border-right:none;border-bottom:none;border-radius:0;box-sizing:border-box;overflow:hidden}.clip-card-expanded-drawer .timeline-main-bar{width:100%;min-width:0;height:18px}.clip-card-expanded-drawer .timeline-fineseek-bar{width:100%;min-width:0;height:28px}.clip-card-expanded-drawer .timeline-clip-thumbnail-bar{width:100%;min-width:0;height:8px;min-height:8px;margin-top:4px}.clip-card-expanded-drawer .timeline-clip-zoombar{width:100%;min-width:0;height:32px}.clip-card-expanded-drawer .timeline-toolbar{gap:4px;margin-top:6px}.clip-card-expanded-drawer .toolbar-btn{min-height:28px;padding:3px 8px}.clip-card-side-toggle-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--xy-node-boxshadow-default);cursor:pointer;-webkit-user-select:none;user-select:none}.clip-card-side-toggle-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.clip-card-side-toggle-btn svg{width:14px;height:14px}.clip-card-options-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:transparent;cursor:default}.clip-card-options-menu{min-width:160px;max-width:220px;max-height:80vh;overflow-y:auto;overflow-x:hidden;z-index:1001;background:var(--dropdown-bg);border:var(--dropdown-border);border-radius:var(--dropdown-radius);box-shadow:var(--dropdown-shadow);animation:clip-card-options-menu-enter var(--transition-spring) forwards}@keyframes clip-card-options-menu-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.clip-card-options-menu-item{width:100%;border:none;border-bottom:1px solid var(--color-border-light);background:transparent;color:var(--color-text-primary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);padding:8px 12px;display:flex;align-items:center;gap:8px;text-align:left}.clip-card-options-menu-item:last-child{border-bottom:none}.clip-card-options-menu-item:hover,.clip-card-options-menu-item-active{background:var(--color-bg-hover)}.clip-card-options-menu-icon{width:16px;height:16px;flex-shrink:0;color:var(--color-icon);display:flex;align-items:center;justify-content:center}.clip-card-options-menu-icon svg{width:16px;height:16px}.clip-card-options-menu-color-bar{width:14px;height:14px;border:1px solid var(--color-border);border-radius:3px;box-sizing:border-box}.card-group-root{--card-group-title-height: 52px;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;border-radius:var(--radius-sm);overflow:hidden;background:transparent;border:1px solid var(--color-border)}.react-flow__node-CardGroup.selectable.selected .card-group-root{border-color:var(--xy-theme-selected);box-shadow:0 0 0 1px var(--xy-theme-selected),var(--xy-node-boxshadow-default)}.card-group-root-collapsed{background:var(--card-group-bar-color, var(--color-bg-surface))}.card-group-root-collapsed .card-group-title-bar{height:100%;min-height:0;border-bottom:none}.card-group-title-bar{flex:0 0 var(--card-group-title-height);height:var(--card-group-title-height);min-height:var(--card-group-title-height);padding:8px 12px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:0;align-items:center;background:var(--card-group-bar-color, var(--color-bg-surface));border-bottom:1px solid var(--color-border);-webkit-user-select:none;user-select:none}.card-group-title-row{width:100%;min-width:0;height:100%;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;cursor:grab}.card-group-title-row:active{cursor:grabbing}.card-group-title{width:100%;min-width:0;box-sizing:border-box;display:block;padding:2px 4px;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--card-group-title-color, var(--color-text-primary));font-family:inherit;font-size:var(--font-size-sm);font-weight:700;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:inherit}.card-group-title-option-btn,.card-group-collapse-toggle{width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.card-group-title-option-btn:hover,.card-group-title-option-btn-active,.card-group-collapse-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.card-group-title-option-btn svg,.card-group-collapse-toggle svg{width:18px;height:18px}.card-group-title-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;min-width:0;box-sizing:border-box;margin:0;padding:2px 4px;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--card-group-title-color, var(--color-text-primary));cursor:text;background:var(--color-bg-surface);outline:1px solid var(--color-primary);font:inherit;font-size:var(--font-size-sm);font-weight:700;line-height:1.4;vertical-align:top}.card-group-body{position:relative;flex:1;min-height:0;overflow:hidden;background-color:color-mix(in srgb,var(--card-group-body-color) 42%,transparent);background-image:linear-gradient(color-mix(in srgb,var(--card-group-body-color) 18%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--card-group-body-color) 18%,transparent) 1px,transparent 1px);background-size:24px 24px;cursor:grab;-webkit-user-select:none;user-select:none}.card-group-root-body-dragover .card-group-body{outline:2px dashed var(--color-primary);outline-offset:-8px;background-color:color-mix(in srgb,var(--color-primary) 12%,var(--card-group-body-color))}.card-group-body:active{cursor:grabbing}.card-group-body-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none}.card-group-body-upload-input{display:none}.card-group-options-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:transparent;cursor:default}.card-group-options-menu{min-width:178px;max-width:240px;max-height:80vh;overflow-y:auto;overflow-x:hidden;z-index:1001;background:var(--dropdown-bg);border:var(--dropdown-border);border-radius:var(--dropdown-radius);box-shadow:var(--dropdown-shadow);animation:card-group-options-menu-enter var(--transition-spring) forwards}@keyframes card-group-options-menu-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.card-group-options-menu-item{width:100%;border:none;border-bottom:1px solid var(--color-border-light);background:transparent;color:var(--color-text-primary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);padding:8px 12px;display:flex;align-items:center;gap:8px;text-align:left}.card-group-options-menu-item:last-child{border-bottom:none}.card-group-options-menu-item:hover,.card-group-options-menu-item-active{background:var(--color-bg-hover)}.card-group-options-menu-icon{width:16px;height:16px;flex-shrink:0;color:var(--color-icon);display:flex;align-items:center;justify-content:center}.card-group-options-menu-icon svg{width:16px;height:16px}.card-group-options-menu-color-bar{width:14px;height:14px;border:1px solid var(--color-border);border-radius:3px;box-sizing:border-box}.shape-card-root{position:relative;width:100%;height:100%;box-sizing:border-box;overflow:visible;min-width:0;min-height:0;cursor:grab}.shape-card-root:active{cursor:grabbing}.shape-card-svg{display:block;overflow:visible}.shape-card-svg-shadow{filter:drop-shadow(0 3px 4px rgb(0 0 0 / 25%))}.shape-card-title-layer{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px;display:flex;align-items:center;justify-content:center;pointer-events:none}.shape-card-title{max-width:100%;box-sizing:border-box;display:block;padding:2px 6px;border:1px solid transparent;border-radius:var(--radius-xs);cursor:default;font-family:inherit;font-weight:700;line-height:1.2;overflow:hidden;pointer-events:none;text-align:center;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;white-space:nowrap}.shape-card-title-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:min(120px,86%);min-width:42px;box-sizing:border-box;margin:0;padding:2px 6px;border:1px solid rgb(255 255 255 / 75%);border-radius:var(--radius-xs);outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);background:#ffffffeb;color:var(--color-text-primary);cursor:text;font-family:inherit;font-size:var(--font-size-sm);font-weight:700;line-height:1.2;pointer-events:auto;text-align:center;vertical-align:top}.shape-card-toolbar{position:relative;display:grid;grid-template-columns:38px 76px 34px 34px 34px 34px;grid-template-areas:"shape-label border-width fill shape-shadow type border-color" "text-label font-size font-color text-shadow edit visible";gap:4px;align-items:center;padding:5px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);box-shadow:var(--shadow-raised)}.shape-card-toolbar-section-label{color:var(--color-text-secondary);font-size:var(--font-size-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.shape-card-toolbar-btn{width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.shape-card-toolbar-btn:hover{border-color:var(--color-border);background:var(--color-bg-hover);color:var(--color-text-primary)}.shape-card-toolbar-btn.active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.shape-card-toolbar-btn svg{width:16px;height:16px}.shape-card-grid-shape-label{grid-area:shape-label}.shape-card-grid-border-width{grid-area:border-width}.shape-card-grid-border-color{grid-area:border-color}.shape-card-grid-shape-shadow{grid-area:shape-shadow}.shape-card-grid-type{grid-area:type}.shape-card-grid-fill{grid-area:fill}.shape-card-grid-text-label{grid-area:text-label}.shape-card-grid-font-size{grid-area:font-size}.shape-card-grid-font-color{grid-area:font-color}.shape-card-grid-text-shadow{grid-area:text-shadow}.shape-card-grid-visible{grid-area:visible}.shape-card-grid-edit{grid-area:edit}.shape-card-color-btn{position:relative}.shape-card-color-dot{position:absolute;right:3px;bottom:3px;width:8px;height:8px;border:1px solid var(--color-bg-surface);border-radius:50%;box-shadow:0 0 0 1px #0000002e}.shape-card-shape-picker-trigger{color:var(--color-text-secondary)}.shape-card-shape-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:20;width:max-content;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);box-shadow:var(--shadow-raised);display:flex;gap:4px}.shape-card-shape-menu-item{width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 28px}.shape-card-shape-menu-item:hover,.shape-card-shape-menu-item.active{border-color:var(--color-border);background:var(--color-bg-hover)}.shape-card-shape-menu-item.active{color:var(--color-primary)}.shape-card-toolbar-select-label{height:28px;display:inline-flex;align-items:center;gap:4px;padding:0 6px;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--color-text-secondary)}.shape-card-toolbar-select-label:hover{border-color:var(--color-border);background:var(--color-bg-hover);color:var(--color-text-primary)}.shape-card-toolbar-select-label svg{width:16px;height:16px;flex:0 0 auto}.shape-card-toolbar-select{max-width:128px;border:0;outline:none;background:transparent;color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm)}.shape-card-font-size-select,.shape-card-border-width-select{max-width:48px}.shape-card-grid-text-shadow svg{filter:drop-shadow(0 1px 1px rgb(0 0 0 / 35%))}.shape-card-side-toggle-btn{width:24px;height:24px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-surface);color:var(--color-text-secondary);box-shadow:var(--shadow-raised);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.shape-card-side-toggle-btn:hover{color:var(--color-text-primary);border-color:var(--color-primary)}.shape-card-side-toggle-btn svg{width:16px;height:16px}.edge-toolbar{display:flex;align-items:center;gap:.2rem;background:var(--color-bg-surface);border:var(--border-panel);border-radius:999px;padding:.2rem .5rem;box-shadow:0 4px 12px #00000026;pointer-events:all;white-space:nowrap}.edge-toolbar-icon-btn{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border:var(--border-width-base) solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.edge-toolbar-icon-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border)}.edge-toolbar-icon-btn-active{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.edge-toolbar-delete-button{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border:var(--border-width-base) solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-error);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.edge-toolbar-delete-button:hover{background:color-mix(in srgb,var(--color-error) 12%,transparent);border-color:var(--color-error);color:var(--color-error)}.edge-toolbar-delete-button svg{width:14px;height:14px}.edge-toolbar-btn{display:flex;align-items:center;gap:.25rem;padding:.2rem .45rem;border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-app);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.edge-toolbar-btn:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.edge-toolbar-color-dot{display:inline-block;width:.75rem;height:.75rem;border-radius:50%;border:1px solid var(--color-border-light);flex-shrink:0}.edge-toolbar-separator{width:1px;height:1rem;background:var(--color-border);margin:0 .1rem}.edge-toolbar-select{padding:.2rem .3rem;border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-app);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast)}.edge-toolbar-select-icon{border-color:transparent;background:transparent;padding:.2rem .15rem}.edge-toolbar-select:hover,.edge-toolbar-select:focus{border-color:var(--color-primary);outline:none}.edge-label{position:absolute;background:var(--color-bg-surface);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-sm);padding:.15rem .4rem;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);line-height:1.4}.edge-label:hover{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary-subtle)}.edge-label.label-mode-active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-subtle)}.edge-label-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;margin:0;padding:0;border:1px solid transparent;outline:none;background:transparent;color:var(--color-text-primary);cursor:text;font-family:inherit;line-height:1.4;width:8rem;min-width:4rem;max-width:20rem;vertical-align:top}@keyframes edge-flow{0%{stroke-dashoffset:14}to{stroke-dashoffset:0}}.wb-item-bar{display:flex;align-items:center;gap:6px;height:25px;padding:0 6px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;overflow:visible}.wb-toolbar-section{display:flex;align-items:center;gap:4px;min-width:0;padding-right:6px;border-right:1px solid var(--color-border)}.wb-toolbar-section-disabled{display:flex;align-items:center;gap:4px;min-width:0;padding-right:6px;border-right:1px solid var(--color-border);opacity:.72}.wb-toolbar-system-section{display:flex;align-items:center;gap:4px;min-width:0;margin-left:auto}.wb-toolbar-button{height:15px;padding:0 5px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-app);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-3xs);cursor:pointer;white-space:nowrap}.wb-toolbar-button:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.wb-toolbar-button-active{height:15px;padding:0 5px;border:1px solid var(--color-primary);border-radius:var(--radius-xs);background:var(--color-info-subtle);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-3xs);cursor:pointer;white-space:nowrap}.wb-toolbar-button-disabled{height:15px;padding:0 5px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-app);color:var(--color-text-muted);font-family:inherit;font-size:var(--font-size-3xs);cursor:not-allowed;opacity:.58;white-space:nowrap}.wb-toolbar-detach-button{height:15px;padding:0 5px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-app);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-3xs);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:3px}.wb-toolbar-detach-button:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.wb-toolbar-detach-button svg{width:9px;height:9px}.wb-toolbar-detach-button-disabled{height:15px;padding:0 5px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-app);color:var(--color-text-muted);font-family:inherit;font-size:var(--font-size-3xs);cursor:not-allowed;opacity:.58;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:3px}.wb-toolbar-detach-button-disabled svg{width:9px;height:9px}.wb-toolbar-save-button{width:49px;height:15px;padding:0 8px;border:1px solid var(--color-primary);border-radius:var(--radius-xs);background:var(--color-primary);color:var(--color-primary-text);font-family:inherit;font-size:var(--font-size-3xs);font-weight:600;cursor:pointer;white-space:nowrap}.wb-toolbar-save-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.wb-toolbar-save-button-clean{width:49px;height:15px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-app);color:var(--color-text-muted);font-family:inherit;font-size:var(--font-size-3xs);font-weight:600;cursor:not-allowed;white-space:nowrap}.wb-toolbar-save-button-saving{width:49px;height:15px;padding:0 8px;border:1px solid var(--color-text-muted);border-radius:var(--radius-xs);background:var(--color-text-muted);color:var(--color-primary-text);font-family:inherit;font-size:var(--font-size-3xs);font-weight:600;cursor:not-allowed;opacity:.7;white-space:nowrap}.wb-toolbar-icon-button{width:15px;height:15px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-app);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.wb-toolbar-icon-button:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.wb-toolbar-icon-button svg{width:9px;height:9px}.wb-toolbar-add-wrap{position:relative;display:flex;align-items:center}.wb-toolbar-add-button{width:24px;height:24px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-app);color:var(--color-text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.wb-toolbar-add-button:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-hover)}.wb-toolbar-add-button svg{width:14px;height:14px}.wb-toolbar-add-button-active{width:24px;height:24px;padding:0;border:1px solid var(--color-primary);border-radius:var(--radius-xs);background:var(--color-info-subtle);color:var(--color-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.wb-toolbar-add-button-active:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-info-subtle)}.wb-toolbar-add-button-active svg{width:14px;height:14px}.wb-toolbar-add-menu{position:absolute;top:28px;left:0;z-index:20;width:37px;padding:5px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);box-shadow:var(--shadow-raised);display:grid;grid-template-columns:1fr;gap:4px}.wb-toolbar-add-menu-button{width:29px;height:24px;padding:0;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);font-family:inherit;cursor:grab;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.wb-toolbar-add-menu-button svg{width:22px;height:16px}.wb-toolbar-add-menu-button:hover{background:var(--color-bg-hover);border-color:var(--color-border)}.wb-toolbar-add-menu-button:active{cursor:grabbing}.wb-index-tree-node-wrapper{position:relative}.wb-index-tree-node-wrapper-has-hierarchy:before{content:"";position:absolute;left:calc(var(--wb-tree-level, 1) * var(--wb-tree-level-indent, 16px));top:0;bottom:0;width:var(--tree-guide-width);background-image:linear-gradient(to bottom,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-width) var(--tree-guide-dash);background-repeat:repeat-y;pointer-events:none;z-index:1}.wb-index-tree-node-wrapper-has-hierarchy>.wb-index-tree-node:after{content:"";position:absolute;left:calc(var(--wb-tree-level, 1) * var(--wb-tree-level-indent, 16px));top:var(--wb-tree-row-connector-top);width:var(--wb-tree-base-indent, 8px);height:var(--tree-guide-width);background-image:linear-gradient(to right,var(--tree-guide-color) var(--tree-guide-dash-ratio),transparent var(--tree-guide-dash-ratio));background-size:var(--tree-guide-dash) var(--tree-guide-width);background-repeat:repeat-x;pointer-events:none;z-index:1}.wb-index-tree-node-wrapper-has-hierarchy:last-child:before{height:var(--wb-tree-row-connector-top);bottom:auto}.wb-index-tree-node{display:flex;align-items:center;padding:6px 4px;padding-left:calc(var(--wb-tree-base-indent, 8px) + var(--wb-tree-level, 0) * var(--wb-tree-level-indent, 16px));-webkit-user-select:none;user-select:none;position:relative;gap:4px}.wb-index-tree-node-inner{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;border-radius:var(--radius-xs)}.wb-index-tree-node-content{display:flex;align-items:center;gap:6px;min-width:0;width:fit-content;max-width:100%;cursor:pointer;padding:2px 4px;border-radius:var(--radius-xs);transition:background-color var(--transition-fast);margin:-2px 0;box-sizing:border-box}.wb-index-tree-node-content:hover{background-color:var(--color-bg-hover)}.wb-index-tree-node-active .wb-index-tree-node-content{background-color:var(--color-primary-subtle)}.wb-index-tree-node-active .wb-index-tree-node-name{color:var(--color-primary);font-weight:500}.wb-index-tree-node-canvas-selected .wb-index-tree-node-content{background-color:var(--color-bg-hover)}.wb-index-tree-node-canvas-selected .wb-index-tree-node-name{color:var(--color-text-primary);font-weight:500}.wb-index-tree-node-visibility-blocked-row .wb-index-tree-node-name,.wb-index-tree-node-visibility-blocked-row .wb-index-tree-node-icon{opacity:.55}.wb-index-tree-node-toggle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;border:none;background:none;padding:0;cursor:pointer;color:var(--color-text-secondary);transition:opacity var(--transition-fast)}.wb-index-tree-node-toggle:hover{opacity:.7}.wb-index-tree-node-toggle svg{display:block}.wb-index-tree-node-toggle-placeholder{cursor:default;opacity:.25}.wb-index-tree-node-toggle-placeholder:hover{opacity:.25}.wb-index-tree-node-checkbox{width:13px;height:13px;flex-shrink:0;cursor:pointer;accent-color:var(--color-primary)}.wb-index-tree-node-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.wb-index-tree-node-icon svg{width:100%;height:100%}.wb-index-tree-node-name{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-base);color:var(--color-text-primary);font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.wb-index-tree-node-note{margin-left:4px}.wb-index-tree-node-note:not(.wb-index-tree-node-active) .wb-index-tree-node-name{font-style:italic;color:var(--color-text-muted)}.wb-index-tree-node-background .wb-index-tree-node-name{color:var(--color-text-secondary)}.wb-index-tree-node-visibility-blocked{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--color-text-secondary);opacity:.75}.wb-index-tree-node-visibility-blocked svg{width:14px;height:14px}.wb-index-tree-section{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.wb-index-tree-section-header{width:100%;min-height:var(--wb-index-tree-section-header-height);display:flex;align-items:center;gap:6px;padding:2px;flex-shrink:0;border:none;background:var(--color-bg-hover);color:var(--color-text-primary);cursor:pointer;font:inherit;text-align:left}.wb-index-tree-section-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.wb-index-tree-section-body{min-width:0;min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0 8px}.wb-index-tree-section-empty{padding:8px 10px;color:var(--color-text-muted);font-size:var(--font-size-sm)}.wb-index-tree-view{height:100%;display:flex;flex-direction:column;background:var(--color-bg-app);--wb-index-tree-section-header-height: 26px;--wb-tree-base-indent: 8px;--wb-tree-level-indent: 16px;--wb-tree-row-connector-top: 15px;--tree-guide-dash: 6px;overflow:hidden}.wb-index-tree-scroll{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.wb-index-tree-section-pane{flex:1 1 0;min-height:var(--wb-index-tree-section-header-height);min-width:0;display:flex;flex-direction:column;overflow:hidden}.wb-index-tree-section-pane-collapsed{flex:0 0 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden}.wb-index-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px 16px;text-align:center;gap:6px}.wb-index-tree-empty-message{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0;font-weight:500}.wb-index-tree-empty-hint{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0}.mybook-panel{height:100%;display:flex;flex-direction:column;background:var(--color-bg-app);overflow:hidden;--mybook-tree-base-indent: 8px;--mybook-tree-level-indent: 16px}.mybook-panel-hint{flex-shrink:0;padding:8px 10px;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.35}.mybook-panel-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0}.mybook-empty-state{display:flex;align-items:center;justify-content:center;height:100%;padding:16px;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.mybook-tree{min-height:100%}.mybook-node-wrapper{position:relative}.mybook-node-row{display:flex;align-items:center;gap:4px;height:28px;padding-left:calc(var(--mybook-tree-base-indent, 8px) + var(--mybook-tree-level, 0) * var(--mybook-tree-level-indent, 16px));padding-right:8px;border-radius:var(--radius-xs);color:var(--color-text-primary);-webkit-user-select:none;user-select:none}.mybook-node-row:hover{background:var(--color-bg-hover)}.mybook-node-row-loading{display:flex;align-items:center;gap:4px;height:28px;padding-left:calc(var(--mybook-tree-base-indent, 8px) + var(--mybook-tree-level, 0) * var(--mybook-tree-level-indent, 16px));padding-right:8px;border-radius:var(--radius-xs);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;background:var(--color-bg-hover)}.mybook-node-row[draggable=true],.mybook-node-row-loading[draggable=true]{cursor:grab}.mybook-node-toggle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-secondary)}.mybook-node-toggle:hover{color:var(--color-text-primary)}.mybook-node-toggle-placeholder{display:inline-block;width:16px;height:16px;flex-shrink:0}.mybook-node-icon{display:flex;align-items:center;flex-shrink:0}.mybook-node-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.mybook-node-status{flex-shrink:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mybook-node-children{min-width:0}.wb-sidebar{display:flex;flex-direction:column;height:100%;border-right:1px solid var(--color-border);background:var(--color-bg-surface);min-width:180px;flex-shrink:0}.wb-sidebar-tabs{display:flex;border-bottom:1px solid var(--color-border);flex-shrink:0}.wb-sidebar-tab{flex:1;padding:8px 4px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer}.wb-sidebar-tab:hover{color:var(--color-text-primary);background:var(--color-bg-app)}.wb-sidebar-tab-active{flex:1;padding:8px 4px;background:transparent;border:none;border-bottom:2px solid var(--color-primary);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.wb-sidebar-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.wb-background-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.wb-background-item{position:absolute;top:0;left:0;border:1px solid color-mix(in srgb,var(--color-border-strong) 45%,transparent);border-radius:var(--radius-xs);box-shadow:none;box-sizing:border-box;cursor:grab;overflow:visible;pointer-events:all;-webkit-user-select:none;user-select:none}.wb-background-item:active{cursor:grabbing}.wb-background-item.selected{box-shadow:0 0 0 1px var(--color-primary)}.wb-background-item.shadow{box-shadow:0 6px 18px #0000001a}.wb-background-item.shadow.selected{box-shadow:0 0 0 1px var(--color-primary),0 8px 20px #00000024}.wb-background-item.dragover{border-color:var(--color-primary);outline:3px solid color-mix(in srgb,var(--color-primary) 30%,transparent)}.wb-background-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none}.wb-background-resize-control.react-flow__resize-control{position:absolute;box-sizing:border-box;pointer-events:all}.wb-background-resize-control.react-flow__resize-control.handle{width:18px;height:18px;border:0;border-radius:1px;background:transparent;box-shadow:none;z-index:2}.wb-background-resize-control.react-flow__resize-control.handle:after{content:"";position:absolute;left:6px;top:6px;width:6px;height:6px;box-sizing:border-box;border:1px solid var(--color-bg-surface);border-radius:1px;background:var(--color-primary)}.wb-background-resize-control.react-flow__resize-control.line{border:0;background:transparent;box-shadow:none}.wb-background-resize-top-left{top:-10px;left:-10px;cursor:nwse-resize}.wb-background-resize-top{top:-9px;left:10px;right:10px;width:auto;height:18px;cursor:ns-resize}.wb-background-resize-top-right{top:-10px;right:-10px;cursor:nesw-resize}.wb-background-resize-right{top:10px;right:-9px;bottom:10px;width:18px;height:auto;cursor:ew-resize}.wb-background-resize-bottom-right{right:-10px;bottom:-10px;cursor:nwse-resize}.wb-background-resize-bottom{bottom:-9px;left:10px;right:10px;width:auto;height:18px;cursor:ns-resize}.wb-background-resize-bottom-left{bottom:-10px;left:-10px;cursor:nesw-resize}.wb-background-resize-left{top:10px;bottom:10px;left:-9px;width:18px;height:auto;cursor:ew-resize}.wb-background-menu{position:absolute;top:0;left:0;z-index:1;height:32px;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);box-shadow:var(--shadow-raised);pointer-events:all}.wb-background-name-text{width:160px;height:24px;box-sizing:border-box;display:inline-block;margin:0;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);cursor:text;font:inherit;font-size:var(--font-size-sm);line-height:22px;outline:none;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;vertical-align:top;white-space:nowrap}.wb-background-name-text:hover{border-color:var(--color-border);background:var(--color-bg-hover)}.wb-background-name-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;width:160px;height:24px;box-sizing:border-box;margin:0;padding:0 8px;border:1px solid var(--color-primary);border-radius:var(--radius-xs);background:var(--color-bg-app);color:var(--color-text-primary);cursor:text;font:inherit;font-size:var(--font-size-sm);line-height:22px;outline:none;vertical-align:top}.wb-background-menu-button{position:relative;height:24px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-secondary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);white-space:nowrap}.wb-background-menu-button:hover{border-color:var(--color-border);background:var(--color-bg-hover);color:var(--color-text-primary)}.wb-background-menu-button:disabled{border-color:transparent;background:transparent;color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.wb-background-menu-button[aria-pressed=true]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-text-primary)}.wb-background-color-dot{display:inline-block;width:9px;height:9px;margin-left:6px;border:1px solid var(--color-bg-surface);border-radius:50%;box-shadow:0 0 0 1px #0000002e}.wb-background-upload-input{display:none}.wb-edit-layout{display:flex;height:100%;overflow:hidden}.wb-edit-divider{width:4px;background:var(--color-border);cursor:col-resize;flex-shrink:0;transition:background .15s}.wb-edit-divider:hover{background:var(--color-primary)}.wb-edit-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;position:relative}.wb-edit-canvas{flex:1;min-height:0}.wb-edit-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary);font-size:var(--font-size-base)}.wb-canvas-message-info{position:absolute;top:40px;left:0;right:0;z-index:12;height:44px;padding:2px;background:color-mix(in srgb,var(--color-bg-hover) 70%,transparent);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:var(--font-size-base)}.wb-canvas-message-error{position:absolute;top:40px;left:0;right:0;z-index:12;height:44px;padding:0 18px;background:color-mix(in srgb,var(--color-bg-hover) 70%,transparent);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:var(--font-size-base)}.wb-canvas-message-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.wb-canvas-message-actions{display:flex;align-items:center;gap:6px;margin-left:10px;flex-shrink:0;pointer-events:auto}.wb-canvas-message-action{height:24px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer}.wb-canvas-message-action:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.wb-canvas-message-action-danger{height:24px;padding:0 10px;border:1px solid color-mix(in srgb,var(--color-error) 42%,var(--color-border));border-radius:var(--radius-xs);background:color-mix(in srgb,var(--color-error) 9%,var(--color-bg-surface));color:var(--color-error);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer}.wb-canvas-message-action-danger:hover{background:color-mix(in srgb,var(--color-error) 16%,var(--color-bg-surface));color:var(--color-error)}.react-flow{--xy-node-border-default: var(--border-card);--xy-node-border-radius-default: var(--radius-sm);--xy-node-boxshadow-default: var(--shadow-raised);--xy-handle-background-color-default: var(--color-bg-surface);--xy-handle-border-color-default: var(--color-border-strong);--xy-edge-label-color-default: var(--color-text-secondary);--xy-background-color: var(--color-bg-app);--xy-background-pattern-color: var(--color-border-strong);--xy-theme-selected: var(--color-primary);--xy-theme-hover: var(--color-border-strong);--xy-theme-edge-hover: var(--color-text-primary)}.react-flow__node{box-shadow:var(--xy-node-boxshadow-default);border-radius:var(--xy-node-border-radius-default);background-color:var(--xy-node-background-color-default, var(--color-bg-surface));border:var(--xy-node-border-default);color:var(--xy-node-color, var(--xy-node-color-default));display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:6px;font-size:var(--font-size-base);text-align:left}.react-flow__node.selectable:focus{border-color:var(--xy-theme-selected);box-shadow:var(--xy-node-boxshadow-default)}.react-flow__node.selectable:hover,.react-flow__node.draggable:hover{border-color:var(--xy-theme-hover)}.react-flow__node.selectable.selected{border-color:var(--xy-theme-selected);box-shadow:var(--xy-node-boxshadow-default)}.react-flow__node-group{background-color:var(--color-flow-group);border-color:var(--color-primary)}.react-flow__node-ClipCard{padding:0;gap:0;overflow:visible;background:transparent;border:none;box-shadow:none}.react-flow__node-ClipCard.selectable:focus,.react-flow__node-ClipCard.selectable:hover,.react-flow__node-ClipCard.draggable:hover,.react-flow__node-ClipCard.selectable.selected{border:none;box-shadow:none}.react-flow__node-ShapeCard{padding:0;gap:0;overflow:visible;background:transparent;border:none;box-shadow:none}.react-flow__node-ShapeCard.selectable:focus,.react-flow__node-ShapeCard.selectable:hover,.react-flow__node-ShapeCard.draggable:hover,.react-flow__node-ShapeCard.selectable.selected{border:none;box-shadow:none}.react-flow__node-CardGroup{padding:0;gap:0;overflow:visible;background:transparent;border:none;box-shadow:none}.react-flow__edge.selectable:hover .react-flow__edge-path,.react-flow__edge.selectable.selected .react-flow__edge-path{stroke:var(--xy-theme-edge-hover)}.react-flow__handle{background-color:var(--xy-handle-background-color-default)}.react-flow__handle.connectionindicator:hover{pointer-events:all;border-color:var(--xy-theme-edge-hover);background-color:var(--color-bg-surface-highlight)}.react-flow__handle.connectionindicator:focus,.react-flow__handle.connectingfrom,.react-flow__handle.connectingto{border-color:var(--xy-theme-edge-hover)}.wb-lasso-selection-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;cursor:crosshair;touch-action:none}.wb-lasso-selection-svg{width:100%;height:100%;overflow:visible;pointer-events:none}.wb-lasso-selection-path{fill:color-mix(in srgb,var(--color-primary) 14%,transparent);stroke:var(--color-primary);stroke-width:1.5;stroke-dasharray:6 4}.app-bottom-main{display:flex;flex-direction:row;height:100vh;width:100vw;background:var(--color-bg-app);overflow:hidden}.app-bottom-main-sidebar-nav{width:4vh;height:100vh;display:flex;flex-direction:column;align-items:center;background:var(--color-bg-sidebar);border-right:2px solid var(--color-bg-sidebar-active);flex-shrink:0}.app-bottom-main-content{flex:1;min-width:0;height:100vh}.app{display:flex;flex-direction:column;height:100%;width:100%}:root{--color-primary: #007bff;--color-primary-hover: #0056b3;--color-primary-subtle: rgba(0, 123, 255, .12);--color-primary-text: #ffffff;--color-bg-app: #f8f9fa;--color-bg-surface: #ffffff;--color-bg-elevated: #ffffff;--color-bg-surface-highlight: #ffffff;--color-bg-input: #ffffff;--color-bg-hover: #eceef0;--color-bg-sidebar: #2c3e50;--color-bg-sidebar-active: rgba(255, 255, 255, .1);--color-media-bg: #000000;--color-flow-group: rgba(207, 182, 255, .4);--color-text-primary: #212529;--color-text-secondary: #495057;--color-text-muted: #6c757d;--color-text-heading: #212529;--color-icon: #6c757d;--color-icon-active: #007bff;--color-icon-outline: #000000;--color-sidebar-text: #ecf0f1;--color-success: #28a745;--color-success-subtle: rgba(40, 167, 69, .12);--color-warning: #ffc107;--color-warning-subtle: rgba(255, 193, 7, .12);--color-error: #dc3545;--color-error-subtle: rgba(220, 53, 69, .12);--color-info: #17a2b8;--color-info-subtle: rgba(23, 162, 184, .12);--color-highlight-search: rgba(144, 238, 144, .5);--color-highlight-search-strong: rgba(76, 175, 80, .6);--color-highlight-search-edge: rgba(56, 142, 60, .8);--color-highlight-manual: rgba(255, 235, 59, .3);--color-highlight-manual-edge: rgba(255, 193, 7, .8);--color-highlight-pulse: rgba(255, 81, 7, .8);--color-drop-target-bg: rgba(128, 128, 128, .1);--color-drop-target-border: rgba(128, 128, 128, .25);--color-overlay-scrim: rgba(0, 0, 0, .5);--color-overlay-media: rgba(0, 0, 0, .85);--color-border-light: rgba(0, 0, 0, .12);--color-border: #c9cdd2;--color-border-strong: #8e959c;--color-border-focus: #007bff;--shadow-flat: 0 1px 3px rgba(0, 0, 0, .06);--shadow-raised: 0 2px 8px rgba(0, 0, 0, .1);--shadow-float: 0 8px 24px rgba(0, 0, 0, .15);--shadow-accent: 0 2px 8px rgba(0, 123, 255, .25);--border-panel: 1px solid #c9cdd2;--border-card: 1px solid #c9cdd2;--border-input: 1px solid #b5b9be;--border-btn: 1px solid #c9cdd2;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 9999px;--radius-full: 50%;--border-width-base: 1px;--font-family: system-ui, -apple-system, "Segoe UI", sans-serif;--font-family-mono: "Fira Code", "Consolas", "Courier New", monospace;--font-size-3xs: .45rem;--font-size-2xs: .6rem;--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-base: .9rem;--font-size-md: 1rem;--font-size-lg: 1.15rem;--font-size-xl: 1.5rem;--font-size-2xl: 2.75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--color-timeline-marker-fill: color-mix(in srgb, var(--color-error) 18%, transparent);--tree-guide-color: var(--color-border);--tree-guide-width: 1px;--tree-guide-dash: 4px;--tree-guide-dash-ratio: 50%;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-spring: .3s cubic-bezier(.4, 0, .2, 1);--btn-radius: var(--radius-xs);--btn-transition: var(--transition-fast);--input-shadow-focus: 0 0 0 3px var(--color-primary-subtle);--dropdown-radius: var(--radius-sm);--dropdown-border: var(--border-card);--dropdown-shadow: var(--shadow-float);--dropdown-bg: var(--color-bg-elevated);--icon-btn-size: 36px;--icon-btn-radius: var(--radius-sm);--icon-btn-bg: var(--color-bg-app);--icon-btn-color: var(--color-text-secondary);--icon-btn-icon-size: 1.25rem;--icon-btn-hover-bg: var(--color-bg-hover);--icon-btn-hover-color: var(--color-text-primary)}:root{--chapter-tabs-height: 4vh;--section-tab-nav-width: 4vh;--chapter-tab-width: 10vw;--section-tab-height: 6vw}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-app)}#root{width:100%;height:100%}input,textarea,.react-pdf__Page__textContent,.react-pdf__Page__textContent *{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.app-busy,.app-busy *{pointer-events:none!important;cursor:wait!important}.search-highlight{background:var(--color-highlight-search);color:inherit;border-radius:2px;padding:0 1px}.search-count-badge{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;border:1.5px solid var(--color-border-strong);background:transparent;color:var(--color-text-muted);font-size:var(--font-size-2xs);font-weight:500;line-height:1;box-sizing:border-box;flex-shrink:0}.icon-btn{width:var(--icon-btn-size);height:var(--icon-btn-size);padding:0;border:none;background:var(--icon-btn-bg);color:var(--icon-btn-color);cursor:pointer;border-radius:var(--icon-btn-radius);display:flex;align-items:center;justify-content:center;transition:background var(--transition-base),color var(--transition-base);flex-shrink:0}.icon-btn svg{width:var(--icon-btn-icon-size);height:var(--icon-btn-icon-size)}.icon-btn:hover:not(:disabled){background:var(--icon-btn-hover-bg);color:var(--icon-btn-hover-color)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}
