*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-contrast: #ffffff;--success: #15803d;--warning: #d97706;--error: #dc2626;--favorite: #d97706;--radius: 8px}:root,[data-theme=dark]{--background: #101318;--surface: #171b22;--surface-light: #222832;--text: #edf2f8;--text-secondary: #9ca8b8;--border: #303947;--primary-soft: rgba(37, 99, 235, .16);--primary-ring: rgba(59, 130, 246, .24);--header-background: #0c1016;--header-text: #f5f7fb;--header-muted: #a3adba;--header-control: #171d27;--header-control-hover: #273140;--header-control-hover-border: #42516a;--header-border: #293241;--logo-background: #222c3a;--logo-border: #39475c;--shadow: 0 10px 28px rgba(0, 0, 0, .24);--modal-overlay: rgba(5, 8, 13, .76)}[data-theme=light]{--background: #f5f7fa;--surface: #ffffff;--surface-light: #edf2f7;--text: #172033;--text-secondary: #667085;--border: #d8dee8;--primary-soft: rgba(37, 99, 235, .1);--primary-ring: rgba(37, 99, 235, .2);--header-background: #111827;--header-text: #f8fafc;--header-muted: #aeb8c7;--header-control: #1f2937;--header-control-hover: #2f3b4d;--header-control-hover-border: #4b5d78;--header-border: #334155;--logo-background: #263244;--logo-border: #40516a;--shadow: 0 10px 28px rgba(15, 23, 42, .09);--modal-overlay: rgba(15, 23, 42, .58)}html,body,#root{min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--background);color:var(--text);line-height:1.6}.app{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.header{flex:0 0 auto;color:var(--header-text);background:var(--header-background);border-bottom:1px solid var(--header-border);padding:.5rem .75rem}.header-content{width:100%;max-width:none;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-right{display:flex;gap:.5rem;align-items:center}.user-info{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.3rem .35rem .3rem .75rem;color:var(--header-text);background:var(--header-control);border:1px solid var(--header-border);border-radius:6px}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--header-border)}.user-name{font-size:.95rem;font-weight:500}.logout-button{background:transparent;border:1px solid transparent;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;color:var(--header-muted);cursor:pointer;transition:all .2s;min-height:44px}.logout-button:hover{color:var(--header-text);background:var(--header-control-hover);border-color:var(--header-border)}.logout-button:disabled{cursor:wait;opacity:.7}.theme-toggle,.settings-button{background:var(--header-control);border:1px solid var(--header-border);border-radius:6px;width:44px;height:44px;font-size:1.1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:var(--header-text)}.theme-toggle:hover,.settings-button:hover{background:var(--header-control-hover);border-color:var(--header-control-hover-border)}.header-left{display:grid;gap:.1rem}.logo{display:flex;align-items:center;gap:.6rem;margin:0;font-size:1.35rem;font-weight:700;line-height:1.2;color:var(--header-text)}.logo-mark{display:grid;place-items:center;width:32px;height:32px;font-size:1.05rem;background:var(--logo-background);border:1px solid var(--logo-border);border-radius:6px}.tagline{margin-left:2.6rem;color:var(--header-muted);font-size:.75rem;line-height:1.25}.main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem 1rem;overflow:visible}.controls{display:flex;flex-direction:column;gap:0;margin-bottom:0;overflow:visible}.navigation-bar{display:flex;align-items:center;gap:1rem;width:100%;border-bottom:1px solid var(--border);padding:.5rem 0}.breadcrumb-nav{flex:1;min-width:0}.breadcrumb-count{margin-left:.5rem;font-size:.85rem;color:var(--text-secondary);font-weight:400}.toolbar-actions{display:flex;gap:.5rem;margin-left:auto;align-items:center;flex-shrink:0}.add-button{padding:.5rem 1rem;border:none;border-radius:4px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;background:var(--primary);min-height:44px}.add-button:hover{background:var(--primary-dark)}.more-menu{position:relative}.more-button{width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text);font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1}.more-button:hover{background:var(--surface-light)}.more-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--surface);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0000004d;min-width:180px;z-index:100;overflow:visible}.more-dropdown-section{padding:.5rem 0}.more-dropdown-header{padding:.5rem 1rem;font-weight:600;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0}.more-dropdown-item{position:relative;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;cursor:pointer;transition:all .2s;color:var(--text);font-size:.9rem}.more-dropdown-item:hover{background:var(--surface-light)}.has-submenu{position:relative}.submenu-arrow{font-size:.7rem;color:var(--text-secondary);margin-left:auto;transition:transform .2s}.submenu-panel{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0000004d;min-width:0;max-width:calc(100vw - 8px);max-height:min(400px,calc(100dvh - 8px));overflow-y:auto;z-index:1001;padding:.25rem 0}.submenu-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;cursor:pointer;transition:all .2s;color:var(--text);font-size:.9rem;white-space:nowrap}.submenu-item:hover{background:var(--surface-light)}.submenu-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.submenu-item input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.more-dropdown-divider{height:1px;background:var(--border);margin:.5rem 0}.more-dropdown .column-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;cursor:pointer;transition:all .2s;color:var(--text);font-size:.9rem}.more-dropdown .column-dropdown-item:hover{background:var(--surface-light)}.more-dropdown .column-dropdown-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.more-dropdown .column-dropdown-item input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.more-dropdown button{display:block;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text);font-size:.9rem;text-align:left;cursor:pointer;transition:all .2s;white-space:nowrap}.more-dropdown button:hover{color:var(--text);background:var(--surface-light)}.breadcrumb-nav{display:flex;align-items:center;gap:0;padding:.5rem 1rem;background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;flex:1;min-width:250px;max-width:100%;overflow-x:auto;overflow-y:visible;white-space:nowrap;position:relative}.controls{overflow:visible!important}.breadcrumb-nav::-webkit-scrollbar{height:6px}.breadcrumb-nav::-webkit-scrollbar-track{background:var(--surface-light);border-radius:3px}.breadcrumb-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.breadcrumb-nav::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.breadcrumb-label{font-size:1rem;flex-shrink:0;margin-right:.5rem}.breadcrumb-segment{position:relative;display:flex;align-items:center;gap:0;flex-shrink:0}.breadcrumb-item{display:inline-flex;align-items:center;min-height:44px;padding:.25rem .5rem;background:transparent;border:none;border-radius:0;color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s;flex-shrink:0;white-space:nowrap}.breadcrumb-item:hover{background:var(--surface-light)}.breadcrumb-item.active{font-weight:500}.breadcrumb-dropdown-btn{padding:.25rem .3rem;background:transparent;border:none;border-radius:0;color:var(--text-secondary);font-size:.65rem;cursor:pointer;transition:all .2s;flex-shrink:0;line-height:1;display:flex;align-items:center;justify-content:center;min-width:16px}.breadcrumb-dropdown-btn:hover{background:var(--surface-light);color:var(--text)}.breadcrumb-dropdown{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0000004d;min-width:min(200px,calc(100vw - 8px));max-width:min(300px,calc(100vw - 8px));max-height:min(400px,calc(100dvh - 8px));overflow-y:auto;z-index:1000;padding:.25rem;margin-top:.25rem}.breadcrumb-dropdown-item{display:block;width:100%;padding:.5rem .75rem;background:transparent;border:none;border-radius:3px;color:var(--text);font-size:.9rem;text-align:left;cursor:pointer;transition:all .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb-dropdown-item:hover{color:var(--text);background:var(--primary-soft)}.breadcrumb-separator{color:var(--text-secondary);font-size:.85rem;flex-shrink:0;-webkit-user-select:none;user-select:none;margin:0 .25rem;font-weight:300}.search-input{width:100%;padding:.6rem 1rem;background:var(--surface);border:none;border-bottom:1px solid var(--border);border-radius:0;color:var(--text);font-size:.9rem;transition:all .2s}.search-input:focus{outline:none;border-bottom-color:var(--primary);background:var(--surface-light)}.view-modes,.categories{display:flex;gap:.5rem;align-items:center}.view-modes button,.categories button{padding:.5rem 1rem;background:transparent;border:none;border-radius:4px;color:var(--text);cursor:pointer;transition:all .2s;font-size:.85rem;white-space:nowrap}.view-modes button:hover,.categories button:hover{background:var(--surface-light)}.view-modes button.active,.categories button.active{background:var(--primary);color:#fff}.categories label{font-size:.9rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.layout-toggle{display:flex;gap:.5rem;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:.25rem}.layout-toggle button{padding:.5rem 1rem;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;transition:all .2s}.layout-toggle button:hover{background:var(--surface-light);color:var(--text)}.layout-toggle button.active{background:var(--primary);color:#fff}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary);width:100%}.empty-state p{font-size:1.25rem;margin-bottom:1.5rem}.empty-state button{padding:.75rem 1.5rem;background:var(--primary);border:none;border-radius:var(--radius);color:#fff;font-size:1rem;cursor:pointer;transition:all .2s}.empty-state button:hover{background:var(--primary-dark)}.modal-overlay{position:fixed;inset:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--surface);border-radius:var(--radius);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #00000080}.bookmark-modal{max-width:500px}.bookmark-form{padding:1.5rem}.bookmark-form .form-row{margin-bottom:1rem}.bookmark-form .form-row:last-child{margin-bottom:0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid var(--border)}.modal-header h2{font-size:1.5rem}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background:var(--surface-light);color:var(--text)}.modal-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text)}.form-group input,.form-group textarea{width:100%;padding:.75rem;background:var(--background);border:2px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-group.checkbox{display:flex;align-items:center}.form-group.checkbox label{display:flex;align-items:center;margin:0;cursor:pointer}.form-group.checkbox input{width:auto;margin-right:.5rem;cursor:pointer}.folder-selector{position:relative}.folder-selector-trigger{width:100%;padding:.75rem;background:var(--background);border:2px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;text-align:left}.folder-selector-trigger:hover{border-color:var(--primary)}.folder-selector-icon{font-size:1.2rem;flex-shrink:0}.folder-selector-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-selector-arrow{font-size:.8rem;color:var(--text-secondary);flex-shrink:0}.folder-selector-overlay{position:fixed;inset:0;background:#00000080;z-index:1999}.folder-selector-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 25px -5px #00000080;width:90%;max-width:500px;max-height:70vh;z-index:2000;display:flex;flex-direction:column}.folder-selector-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface)}.folder-selector-header h3{font-size:1.1rem;font-weight:600;color:var(--text);margin:0}.folder-selector-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.folder-selector-close:hover{background:var(--surface-light);color:var(--text)}.folder-selector-toolbar{padding:.75rem 1.5rem;border-bottom:1px solid var(--border);display:flex;gap:.5rem;background:var(--surface)}.folder-toolbar-btn{padding:.5rem 1rem;background:var(--primary);border:none;border-radius:6px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.folder-toolbar-btn:hover{background:var(--primary-dark)}.folder-selector-list{flex:1;overflow-y:auto;padding:0;background:var(--background)}.folder-selector-item{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-direction:row!important;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:all .2s;color:var(--text);border-bottom:none;width:100%;text-align:left;border-radius:0;margin:0}.folder-selector-item:hover{background:var(--surface-light)}.folder-selector-item.selected{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary);font-weight:500}.folder-radio{width:18px;height:18px;cursor:pointer;flex-shrink:0;accent-color:var(--primary)}.folder-expand-btn{background:none;border:none;font-size:.7rem;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:inherit;flex-shrink:0}.folder-icon{font-size:1.1rem;flex-shrink:0}.folder-name{flex:1;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.folder-create-panel{padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--surface-light)}.folder-create-input{width:100%;padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.95rem;margin-bottom:.75rem}.folder-create-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-ring)}.folder-create-actions{display:flex;gap:.5rem;justify-content:flex-end}.folder-create-confirm,.folder-create-cancel{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.folder-create-confirm{background:var(--primary);color:#fff}.folder-create-confirm:hover{background:var(--primary-dark)}.folder-create-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text)}.folder-create-cancel:hover{background:var(--surface-light)}.folder-selector-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--surface);gap:1rem}.folder-footer-actions{display:flex;gap:.75rem}.folder-footer-btn{padding:.6rem 1.25rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.folder-new-btn{background:var(--surface-light);border:1px solid var(--border);color:var(--text)}.folder-new-btn:hover{background:var(--border)}.folder-confirm-btn{background:var(--primary);color:#fff}.folder-confirm-btn:hover{background:var(--primary-dark)}.folder-cancel-btn{background:var(--surface-light);border:1px solid var(--border);color:var(--text)}.folder-cancel-btn:hover{background:var(--border)}.error-message{padding:.75rem;background:#ef44441a;border:1px solid var(--error);border-radius:8px;color:var(--error);margin-bottom:1rem}.resource-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;padding:.5rem .75rem .5rem 1rem;color:var(--error);background:#ef444414;border-bottom:1px solid rgba(239,68,68,.25);font-size:.875rem}.resource-error .button-secondary{flex-shrink:0}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions button[type=button]{background:var(--surface-light);color:var(--text)}.modal-actions button[type=button]:hover{background:var(--border)}.modal-actions button[type=submit]{background:var(--primary);color:#fff}.modal-actions button[type=submit]:hover{background:var(--primary-dark)}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.5rem;color:var(--text-secondary)}.startup-state{flex-direction:column;gap:.85rem;padding:2rem;text-align:center}.startup-state>svg{width:36px;height:36px;color:var(--warning)}.startup-state h1{max-width:32rem;color:var(--text);font-size:1.35rem;line-height:1.35}.startup-state p{max-width:34rem;font-size:.95rem}.startup-state .button-primary{display:inline-flex;align-items:center;gap:.5rem;margin-top:.25rem}.startup-state .button-primary svg{width:18px;height:18px}.inline-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.75rem 1rem;color:var(--text-secondary);font-size:.875rem;border-bottom:1px solid var(--border)}.inline-loading svg{width:18px;height:18px;animation:interaction-spin .8s linear infinite}.settings-modal{max-width:500px}.settings-content{padding:1.5rem;display:flex;flex-direction:column;gap:2rem}.setting-section{display:flex;flex-direction:column;gap:1rem}.setting-section h3{font-size:1.1rem;color:var(--text);margin:0;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.setting-group{display:flex;flex-direction:column;gap:.75rem}.setting-group label{font-weight:500;color:var(--text)}.layout-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.theme-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.layout-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--background);border:2px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;transition:all .2s}.layout-option:hover{border-color:var(--primary);background:var(--surface-light)}.layout-option.active{border-color:var(--primary);background:var(--primary);color:#fff}.layout-icon{font-size:2rem}.about-text{color:var(--text-secondary);line-height:1.8;margin:0}@media(max-width:768px){.header{padding:1.5rem 1rem}.logo{font-size:2rem}.tagline{font-size:1rem}.navigation-bar{flex-direction:column;align-items:stretch}.breadcrumb-nav{width:100%}.toolbar{flex-direction:column;align-items:stretch}.toolbar-actions{margin-left:0;width:100%}.toolbar-actions button{flex:1}.view-modes,.categories{justify-content:flex-start;overflow-x:auto}.modal{margin:1rem}.theme-options{grid-template-columns:1fr}.sidebar-search{padding:.75rem}}.fetching-hint{display:inline-flex;align-items:center;gap:.4rem;margin-top:.25rem;font-size:.875rem;color:var(--primary)}.fetching-hint svg{width:16px;height:16px;animation:interaction-spin .8s linear infinite}.metadata-message,.folder-path-notice{display:block;margin:.35rem 0 0;color:var(--text-secondary);font-size:.82rem;line-height:1.45}.folder-suggestion{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem;padding:.65rem .75rem;color:var(--text-secondary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:6px;font-size:.82rem}.folder-suggestion span{display:grid;min-width:0;gap:.1rem}.folder-suggestion strong{color:var(--text);overflow-wrap:anywhere}.folder-suggestion button{min-height:36px;flex-shrink:0;padding:.35rem .65rem;color:var(--primary);font-weight:600;background:var(--surface);border:1px solid var(--primary);border-radius:4px;cursor:pointer}.folder-suggestion button:hover{color:var(--primary-contrast);background:var(--primary)}.export-modal{max-width:600px}.export-options,.export-formats{display:flex;flex-direction:column;gap:.75rem}.export-option,.format-option{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.export-option:hover,.format-option:hover{border-color:var(--primary);background:var(--surface-light)}.export-option.active,.format-option.active{border-color:var(--primary);background:var(--primary);color:#fff}.option-icon,.format-icon{font-size:2rem;flex-shrink:0}.option-text,.format-text{display:flex;flex-direction:column;gap:.25rem;flex:1}.option-text strong,.format-text strong{font-size:1rem;font-weight:600}.option-text small,.format-text small{font-size:.875rem;opacity:.8}.export-option.active .option-text small,.format-option.active .format-text small{opacity:.9}.export-summary{padding:1rem;background:#15803d17;border:1px solid var(--success);border-radius:8px;text-align:center;margin-top:1rem}.export-summary p{margin:0;color:var(--text);font-size:.95rem}.export-summary strong{color:var(--success);font-weight:600}@media(max-width:768px){.add-button{width:100%}.option-icon,.format-icon{font-size:1.5rem}}.export-modal-large{max-width:800px;max-height:90vh}.export-toolbar{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.export-search{width:100%;padding:.75rem;background:var(--background);border:2px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem}.export-search:focus{outline:none;border-color:var(--primary)}.quick-select{display:flex;gap:.5rem;flex-wrap:wrap}.quick-btn{padding:.5rem 1rem;background:var(--surface-light);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s}.quick-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.category-select select{padding:.5rem 1rem;background:var(--surface-light);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;cursor:pointer}.export-list{border:2px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:1rem}.export-list-header{padding:.75rem 1rem;background:var(--surface-light);border-bottom:1px solid var(--border);font-weight:500;color:var(--text)}.export-items{max-height:400px;overflow-y:auto;background:var(--background)}.export-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:all .2s}.export-item:hover{background:var(--surface-light)}.export-item.selected{background:var(--primary-soft);border-left:3px solid var(--primary)}.export-checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0}.export-favicon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.export-item-info{flex:1;min-width:0}.export-item-title{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-item-meta{display:flex;gap:.75rem;font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.export-category{padding:.125rem .5rem;background:var(--surface-light);border-radius:4px}.export-url{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-favorite{color:var(--favorite);font-size:1.2rem;flex-shrink:0}.export-formats-compact{display:flex;gap:.5rem;flex-wrap:wrap}.format-btn{flex:1;min-width:150px;padding:.75rem 1rem;background:var(--background);border:2px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s;text-align:center}.format-btn:hover{border-color:var(--primary);background:var(--surface-light)}.format-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.primary-btn{background:var(--primary)!important;color:#fff!important}.primary-btn:hover:not(:disabled){background:var(--primary-dark)!important}.import-modal-large{max-width:800px;max-height:90vh}.import-dropzone{border:2px dashed var(--border);border-radius:8px;padding:2rem;text-align:center;background:var(--background);cursor:pointer;transition:all .2s;margin-bottom:1rem}.import-dropzone:hover,.import-dropzone.dragover{border-color:var(--primary);background:var(--surface-light)}.import-dropzone-icon{font-size:3rem;margin-bottom:1rem}.import-dropzone-text{color:var(--text);font-size:1rem;margin-bottom:.5rem}.import-dropzone-hint{color:var(--text-secondary);font-size:.875rem}.import-file-input{display:none}.import-preview{margin-bottom:1rem}.import-preview-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--surface-light);border-radius:8px 8px 0 0;border:2px solid var(--border);border-bottom:none}.import-preview-title{font-weight:500;color:var(--text)}.import-stats{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary)}.import-options{padding:1rem;background:var(--background);border:2px solid var(--border);border-top:none;border-radius:0 0 8px 8px;margin-bottom:1rem}.import-option{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.import-option:last-child{margin-bottom:0}.import-option input[type=checkbox]{width:18px;height:18px;cursor:pointer}.import-option label{cursor:pointer;color:var(--text);font-size:.9rem}.import-progress{margin-top:1rem;padding:1rem;background:var(--primary-soft);border:1px solid var(--primary);border-radius:8px}.import-progress-bar{width:100%;height:8px;background:var(--surface-light);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.import-progress-fill{height:100%;background:var(--primary);transition:width .3s}.import-progress-text{text-align:center;color:var(--text);font-size:.875rem}@media(max-width:768px){.export-modal-large,.import-modal-large{max-width:100%;margin:0;border-radius:0}.export-toolbar,.quick-select{flex-direction:column}.format-btn{min-width:100%}.export-items{max-height:300px}}.app-body{display:flex;flex:1;min-height:0;max-width:none;width:100%;margin:0 auto;gap:.75rem;padding:.75rem;overflow:hidden}.sidebar{width:264px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:0;height:100%;max-height:none;min-height:0;overflow-y:auto;position:static;display:flex;flex-direction:column}.sidebar-search{position:relative;padding:.65rem;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.sidebar-search-input{width:100%;padding:.6rem 2rem .6rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;transition:all .2s}.sidebar-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-ring)}.sidebar-search-clear{position:absolute;right:1.05rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:.25rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.sidebar-search-clear:hover{background:var(--surface-light);color:var(--text)}.sidebar-section{padding:.5rem 0}.sidebar-section-header{padding:.35rem .8rem .45rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0}.sidebar-section-title-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding-right:.35rem}.sidebar-section-title-row .sidebar-section-header{flex:1;padding-bottom:.35rem}.sidebar-section-action{width:36px;height:36px;flex-basis:36px}.sidebar-item{display:flex;align-items:center;min-height:44px;gap:.6rem;padding:.4rem .8rem;cursor:pointer;transition:all .2s;color:var(--text);border-left:3px solid transparent}.sidebar-item:hover{background:var(--surface-light)}.sidebar-item.active{color:var(--text);background:var(--primary-soft);border-left-color:var(--primary);font-weight:600}.sidebar-item.drag-over{background:var(--primary-soft);border-left-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.sidebar-icon{font-size:1rem;flex-shrink:0;width:20px;text-align:center}.sidebar-label{font-size:.9rem;flex:1}.sidebar-divider{height:1px;background:var(--border);margin:.25rem 0}.folder-tree{display:flex;flex-direction:column;gap:0}.folder-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem .5rem 0;color:var(--text);background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;transition:all .2s;position:relative}.folder-item[draggable=true]{cursor:move}.folder-item:hover{background:var(--surface-light)}.folder-item.active{color:var(--text);background:var(--primary-soft);border-left-color:var(--primary)}.folder-item.drag-over{background:var(--primary-soft);border-left:3px solid var(--primary)}.folder-item.dragging{opacity:.5;transform:scale(.95)}.folder-toggle{background:none;border:none;font-size:.8rem;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:inherit;transition:transform .2s}.folder-toggle:hover{transform:scale(1.2)}.folder-spacer{width:16px;flex-shrink:0}.folder-icon{font-size:1rem;flex-shrink:0}.folder-name{flex:1;font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-count{font-size:.75rem;opacity:.7;background:var(--surface-light);padding:.125rem .5rem;border-radius:4px;flex-shrink:0}.folder-item.active .folder-count{background:var(--surface)}.folder-tree-item{display:flex;flex-direction:column}.folder-children{display:flex;flex-direction:column;gap:.25rem;margin-left:0}.new-folder-input{margin-top:.5rem;padding:.75rem;background:var(--surface-light);border:2px solid var(--primary);border-radius:8px}.new-folder-input input{width:100%;padding:.5rem;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;margin-bottom:.5rem}.new-folder-input input:focus{outline:none;border-color:var(--primary)}.new-folder-input small{font-size:.8rem;color:var(--text-secondary)}.app-body .main{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;max-width:none;padding:0;margin:0;overflow:hidden}.bookmark-card[draggable=true]{cursor:move}.bookmark-card.dragging{opacity:.5;transform:scale(.95)}@media(max-width:1024px){.app{height:auto;min-height:100dvh;overflow:visible}.app-body{flex-direction:column;min-height:auto;overflow:visible}.sidebar{width:100%;height:auto;max-height:300px;position:static}.app-body .main{min-height:auto;overflow:visible}}@media(max-width:768px){.sidebar{max-height:200px}.folder-name{font-size:.85rem}.folder-count{font-size:.7rem}}.folder-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:1.25rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:1rem}.folder-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 8px 16px -4px #0006}.folder-card-icon{font-size:2.5rem;flex-shrink:0;opacity:.9}.folder-card-info{flex:1;min-width:0}.folder-card-name{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.25rem;word-break:break-word}.folder-card-count{font-size:.875rem;color:var(--text-secondary)}.bookmarks-container.list .folder-card{max-width:900px;margin:0 auto}@media(max-width:768px){.folder-card{padding:1rem}.folder-card-icon{font-size:2rem}.folder-card-name{font-size:1rem}.folder-card-count{font-size:.8rem}}.bookmarks-table-container{flex:1;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:auto;display:flex;flex-direction:column;width:100%;overscroll-behavior:contain}.table-header{display:grid;grid-template-columns:var(--table-columns);background:var(--surface-light);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;-webkit-user-select:none;user-select:none;flex-shrink:0;width:100%;min-width:0}.table-header-cell{position:relative;padding:.75rem .5rem;font-weight:600;font-size:.85rem;color:var(--text);border-right:1px solid var(--border);display:flex;align-items:center;flex-shrink:0;min-height:44px;background:var(--surface)}.table-header-cell:last-child{border-right:none}.table-header-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-resizer{position:absolute;right:-6px;top:0;bottom:0;z-index:1;width:12px;cursor:col-resize;background:transparent;transition:background .2s}.column-resizer:hover{background:var(--primary)}.column-resizer:focus-visible{background:var(--primary);outline:3px solid #fbbf24;outline-offset:-3px}.column-resizer:active{background:var(--primary-dark)}.table-body{min-height:0;max-height:none;overflow:visible;flex:1;width:100%}.progressive-list-more{width:100%;min-height:44px;padding:.65rem 1rem;color:var(--primary);font-weight:600;background:var(--surface-light);border:0;border-top:1px solid var(--border);cursor:pointer}.progressive-list-more:hover{color:var(--primary-contrast);background:var(--primary)}.table-progressive-more{position:sticky;bottom:0;z-index:4}.table-row{display:grid;grid-template-columns:var(--table-columns);border-bottom:1px solid var(--border);transition:background .15s;cursor:default;min-height:44px;align-items:center;width:100%;min-width:0}.table-row:hover{background:var(--surface-light)}.table-row:last-child{border-bottom:none}.table-row.folder-row{background:transparent}.table-row.folder-row:hover{background:var(--surface-light)}.table-row.bookmark-row[draggable=true]{cursor:grab}.table-row.dragging{opacity:.5}.table-cell{padding:.25rem .5rem;font-size:.9rem;color:var(--text);border-right:none;display:flex;align-items:center;overflow:hidden;min-width:0;min-height:44px;-webkit-user-select:text;user-select:text}.table-cell:last-child{border-right:none}.table-header-cell[data-column=favorite],.table-header-cell[data-column=icon],.table-header-cell[data-column=visitCount],.table-cell[data-column=favorite],.table-cell[data-column=icon],.table-cell[data-column=visitCount]{justify-content:center;padding-right:.125rem;padding-left:.125rem}.table-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.table-bookmark-open{width:100%;min-height:44px;overflow:hidden;color:var(--text);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:transparent;border:0;cursor:pointer}.table-bookmark-open:hover{color:var(--primary);text-decoration:underline}.table-bookmark-open-url,.table-cell-url{color:var(--text-secondary);font-size:.85rem}.table-cell-tags{display:flex;gap:.25rem;overflow-x:auto;flex-wrap:nowrap}.table-cell-tags::-webkit-scrollbar{display:none}.tag-small{padding:.125rem .4rem;background:var(--surface-light);border-radius:3px;font-size:.75rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.table-cell-count{color:var(--warning);font-weight:600;font-size:.85rem}.table-cell-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.table-row:hover .table-cell-actions{opacity:1}.action-btn{background:transparent;border:1px solid var(--border);border-radius:4px;padding:.25rem .4rem;font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}.action-btn:hover svg{color:var(--primary)}.favorite-btn-table{background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;transition:transform .2s;padding:0}.favorite-btn-table svg{width:18px;height:18px}.favorite-btn-table:hover{color:var(--favorite);transform:scale(1.2)}.favorite-btn-table.active{color:var(--favorite);filter:drop-shadow(0 0 3px rgba(251,191,36,.6))}.bookmark-favicon-table{width:20px;height:20px;object-fit:contain}.folder-icon-cell{width:18px;height:18px;color:var(--text-secondary)}.folder-name-cell{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-row-copy{display:grid;min-width:0;width:100%;gap:.05rem}.folder-row-meta{overflow:hidden;color:var(--text-secondary);font-size:.75rem;font-weight:400;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.folder-count-cell{color:var(--text-secondary);font-size:.85rem}@media(max-width:1024px){.bookmarks-table-container{flex:none;min-height:260px;max-height:none}}@media(max-width:768px){.table-header-cell,.table-cell{padding:.5rem .25rem;font-size:.8rem}.action-btn{font-size:.8rem;padding:.2rem .3rem}}.toolbar-icon-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:var(--primary-contrast);background:var(--primary);border:1px solid var(--primary);border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap;min-height:44px}.toolbar-icon-button:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.button-icon{width:18px;height:18px;line-height:1;display:flex;align-items:center;justify-content:center}.button-text{font-weight:500;line-height:1}@media(max-width:768px){.toolbar-icon-button .button-text{display:none}.toolbar-icon-button{padding:.5rem;min-width:44px;justify-content:center}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);padding:1.5rem}.auth-container{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:2rem}.auth-brand{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.auth-brand-icon{width:64px;height:64px;color:var(--primary-contrast);background:var(--header-background);border:1px solid var(--header-border);border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #0f151229;margin-bottom:.25rem}.auth-brand-name{font-size:1.75rem;font-weight:700;color:var(--text);letter-spacing:0}.auth-brand-desc{font-size:.95rem;color:var(--text-secondary)}.auth-card{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2rem;box-shadow:var(--shadow)}.auth-oauth-primary{margin-bottom:1.5rem}.auth-oauth-note{margin-top:.65rem;color:var(--text-secondary);font-size:.85rem;line-height:1.5;text-align:center}.auth-card-header{margin-bottom:1.5rem}.auth-mode-switch{position:relative;display:flex;background:var(--background);border:1px solid var(--border);border-radius:6px;padding:4px}.auth-mode-btn{flex:1;min-height:44px;padding:.6rem 1rem;border:none;background:transparent;border-radius:4px;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:color .3s;position:relative;z-index:1}.auth-mode-btn.active{color:var(--text)}.auth-mode-indicator{position:absolute;top:4px;bottom:4px;width:calc(50% - 4px);background:var(--primary-soft);border:1px solid var(--primary-ring);border-radius:4px;transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:0}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-field label{font-size:.85rem;font-weight:500;color:var(--text-secondary);transition:color .2s;padding-left:.25rem}.auth-field:focus-within label{color:var(--primary)}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:.85rem;color:var(--text-secondary);pointer-events:none;transition:color .2s;flex-shrink:0}.auth-field:focus-within .auth-input-icon{color:var(--primary)}.auth-input-wrap input{width:100%;padding:.75rem .85rem .75rem 2.75rem;background:var(--background);border:2px solid var(--border);border-radius:6px;color:var(--text);font-size:.95rem;font-family:inherit;transition:all .2s;outline:none}.auth-input-wrap input::placeholder{color:var(--text-secondary);opacity:.6}.auth-input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.auth-field.has-value .auth-input-wrap input{border-color:var(--success)}.auth-field:focus-within .auth-input-wrap input{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.auth-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:var(--error);font-size:.875rem;animation:authErrorSlide .25s ease-out}.auth-error svg{flex-shrink:0;color:var(--error)}@keyframes authErrorSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-submit{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.8rem;margin-top:.5rem;background:var(--primary);border:none;border-radius:6px;color:var(--primary-contrast);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.auth-submit:hover:not(:disabled){background:var(--primary-dark)}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:authSpin .6s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.auth-oauth-primary .auth-divider{margin-bottom:0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider span{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.auth-social-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.75rem;background:var(--background);border:2px solid var(--border);border-radius:6px;color:var(--text);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.auth-social-btn:hover:not(:disabled){border-color:var(--text-secondary);background:var(--surface-light)}.auth-social-btn:active:not(:disabled){transform:scale(.98)}.auth-social-btn:disabled{opacity:.5;cursor:not-allowed}.auth-social-btn svg{color:var(--text-secondary)}.auth-github-btn{min-height:48px;background:#24292f;border-color:#24292f;color:#fff;font-weight:600}.auth-github-btn:hover:not(:disabled){background:#32383f;border-color:#32383f}.auth-github-btn svg{color:currentColor}.auth-github-btn .auth-spinner{width:20px;height:20px}.auth-oauth-status{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.25rem;color:var(--text-secondary);font-size:.875rem}.auth-oauth-status .auth-link{flex-shrink:0}.auth-footer{margin-top:1.5rem;text-align:center}.auth-footer p{font-size:.9rem;color:var(--text-secondary)}.auth-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.5rem .25rem;background:none;border:none;color:var(--primary);font-size:.9rem;font-weight:600;cursor:pointer;padding:0;margin-left:.4rem;font-family:inherit;transition:all .2s}.auth-link:hover{color:var(--primary-dark);text-decoration:underline}@media(max-width:480px){.auth-page{padding:1rem}.auth-card{padding:1.5rem}.auth-brand-icon{width:56px;height:56px;border-radius:8px}.auth-brand-name{font-size:1.5rem}}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #fbbf24;outline-offset:2px}button,input,select,textarea{font:inherit}.dialog-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:1rem;background:var(--modal-overlay)}.dialog{display:flex;flex-direction:column;width:min(100%,640px);max-height:min(90vh,900px);overflow:hidden;color:var(--text);background:var(--surface-light);border:1px solid var(--border);border-radius:4px;box-shadow:0 24px 64px #0006}.dialog-compact{max-width:520px}.dialog-medium{max-width:640px}.dialog-large{max-width:920px}.dialog-header,.dialog-footer{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--surface)}.dialog-header{justify-content:space-between;border-bottom:1px solid var(--border)}.dialog-heading{min-width:0}.dialog-heading h2{margin:0;font-size:1.2rem;line-height:1.35}.dialog-heading p{margin-top:.2rem;color:var(--text-secondary);font-size:.875rem}.dialog-body{min-height:0;overflow:auto;padding:1.25rem}.dialog-footer{justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--border)}.dialog-footer .folder-new-button{margin-right:auto}.icon-button,.folder-move-button,.folder-manage-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:0;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer}.icon-button:hover,.folder-move-button:hover,.folder-manage-button:hover{color:var(--text);background:var(--surface-light)}.icon-button svg,.folder-move-button svg,.folder-manage-button svg,.button-primary svg,.button-secondary svg,.button-danger svg,.action-btn svg,.folder-icon,.folder-selector-icon,.folder-selector-arrow{width:18px;height:18px}.button-primary,.button-secondary,.button-danger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:.5rem;padding:.6rem 1rem;border:1px solid transparent;border-radius:6px;font-weight:600;cursor:pointer}.button-primary{color:#fff;background:var(--primary)}.button-primary:hover:not(:disabled){background:var(--primary-dark)}.button-secondary{color:var(--text);background:var(--surface-light);border-color:var(--border)}.button-secondary:hover:not(:disabled){border-color:var(--text-secondary)}.button-danger{color:#fff;background:#dc2626}.button-danger:hover:not(:disabled){background:#b91c1c}:where(.button-primary,.button-secondary,.button-danger,.icon-button):disabled{cursor:not-allowed;opacity:.55}.button-spinner{animation:interaction-spin .8s linear infinite}@keyframes interaction-spin{to{transform:rotate(360deg)}}.field-label{display:block;margin-bottom:.4rem;color:var(--text);font-size:.875rem;font-weight:600}.folder-editor-form .form-group{margin:0}.folder-action-menu{position:fixed;z-index:1200;display:grid;width:180px;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow)}.folder-action-menu button{display:flex;align-items:center;gap:.65rem;width:100%;min-height:44px;padding:.55rem .7rem;color:var(--text);text-align:left;background:transparent;border:0;border-radius:4px;cursor:pointer}.folder-action-menu button:hover,.folder-action-menu button:focus-visible{background:var(--surface-light)}.folder-action-menu svg{width:18px;height:18px;flex-shrink:0}.folder-action-menu .folder-action-danger{color:#dc2626}.dialog-search{width:100%;min-height:44px;padding:.6rem .75rem;color:var(--text);background:var(--background);border:1px solid var(--border);border-radius:6px}.confirm-callout{display:grid;place-items:center;width:56px;height:56px;margin:0 auto;border-radius:50%}.confirm-danger{color:#f87171;background:#ef44441f}.confirm-primary{color:var(--primary);background:var(--primary-soft)}.move-destination-list{display:grid;gap:.35rem;max-height:360px;margin-top:.75rem;overflow:auto}.move-destination{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:44px;padding:.6rem .75rem;color:var(--text);text-align:left;background:var(--background);border:1px solid var(--border);border-radius:6px;cursor:pointer}.move-destination[aria-selected=true]{border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.move-destination[aria-disabled=true]{color:var(--text-secondary);cursor:not-allowed;opacity:.65}.move-destination svg{width:18px;height:18px}.move-destination span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.move-destination small,.dialog-empty{color:var(--text-secondary)}.move-selection-status{min-height:1.4em;margin-top:.65rem;color:var(--text-secondary);font-size:.85rem;overflow-wrap:anywhere}.dialog-empty{padding:1.5rem;text-align:center}.toast-viewport{position:fixed;top:1rem;right:1rem;z-index:3000;display:grid;gap:.6rem;width:min(390px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;pointer-events:none}.toast{display:grid;grid-template-columns:24px minmax(0,1fr) 44px;align-items:start;gap:.65rem;padding:.85rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-left-width:4px;border-radius:6px;box-shadow:var(--shadow);pointer-events:auto}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--error)}.toast-warning{border-left-color:var(--warning)}.toast-info{border-left-color:var(--primary)}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--error)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--primary)}.toast-icon{width:20px;height:20px;margin-top:.15rem}.toast-content{display:grid;gap:.15rem;min-width:0}.toast-content span{color:var(--text-secondary);font-size:.875rem;overflow-wrap:anywhere}.toast-close{margin:-.5rem}.task-status-panel{position:fixed;right:1rem;bottom:1rem;z-index:1500;width:min(420px,calc(100vw - 2rem));max-height:min(60vh,520px);padding:1rem;overflow:auto;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;box-shadow:var(--shadow);overscroll-behavior:contain}.task-status-header,.task-status-actions,.task-counts,.import-result-header,.import-result-counts{display:flex;align-items:center;gap:.65rem}.task-status-header,.import-result-header{justify-content:space-between}.task-status-header>div:first-child,.import-result-header>div:first-child{display:grid;min-width:0}.task-status-header span,.import-result-header span{color:var(--text-secondary);font-size:.8rem}.task-status-actions{flex-shrink:0}.task-open-button{min-height:44px;padding:.4rem .75rem}.task-progress,.import-progress-bar{height:8px;margin:.8rem 0;overflow:hidden;background:var(--surface-light);border-radius:4px}.task-progress span,.import-progress-fill{display:block;height:100%;background:var(--primary)}.task-counts,.import-result-counts{flex-wrap:wrap;color:var(--text-secondary);font-size:.8rem}.task-created{color:var(--success)}.task-failed{color:#f87171}.task-details-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-top:.75rem;padding:.35rem 0;color:var(--text);background:transparent;border:0;cursor:pointer}.task-details-toggle svg{width:16px;height:16px}.task-failure-list,.import-failure-list{display:grid;gap:.5rem;margin-top:.65rem;padding:0;list-style:none}.task-failure-list li,.import-failure-list li{display:grid;gap:.1rem;padding:.6rem .7rem;background:var(--background);border-left:3px solid var(--error);border-radius:4px}.task-failure-list span,.import-failure-list span{color:var(--text-secondary);font-size:.8rem;overflow-wrap:anywhere}.operation-result{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem;border:1px solid var(--border);border-radius:6px}.operation-result>div{display:grid;gap:.15rem}.operation-result span{color:var(--text-secondary);font-size:.875rem}.operation-success{color:var(--success);background:#10b98114;border-color:#10b98173}.operation-success svg{width:20px;height:20px;flex-shrink:0}.export-content,.import-content{display:grid;gap:1rem}.import-dropzone{display:grid;place-items:center;min-height:240px}.import-dropzone:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.import-dropzone-icon{width:48px;height:48px;color:var(--primary)}.import-progress{margin-top:0;background:var(--background)}.import-result-header span{overflow-wrap:anywhere}.import-another-file{justify-self:start}.folder-selector-dialog .dialog-body{display:grid;gap:.75rem}.folder-selector-list{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:6px}.folder-selector-row{display:flex;align-items:center;min-width:0}.folder-selector-root-row{padding-left:12px}.folder-selector-spacer,.folder-expand-btn{width:44px;height:44px;flex:0 0 44px}.folder-expand-btn{display:grid;place-items:center;padding:0;color:var(--text-secondary);background:transparent;border:0;border-radius:4px;cursor:pointer}.folder-expand-btn svg{width:16px;height:16px}.folder-selector-item{min-width:0;min-height:44px;padding:.55rem .7rem;background:transparent;border:0;border-radius:4px}.folder-selector-item svg{width:18px;height:18px;flex-shrink:0}.folder-selector-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-create-panel-dialog{padding:.85rem;border:1px solid var(--border);border-radius:6px}.sidebar-item{width:100%;color:var(--text);text-align:left;background:transparent;border:0}.folder-item{min-height:44px;padding-top:0;padding-bottom:0}.folder-select-button{display:flex;align-items:center;min-width:0;min-height:44px;flex:1;gap:.5rem;padding:0;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.folder-toggle{width:44px;height:44px;flex:0 0 44px}.folder-toggle svg{width:16px;height:16px}.folder-spacer{width:44px;flex:0 0 44px}.folder-move-button,.folder-manage-button{width:44px;height:44px;flex-basis:44px;opacity:0}.folder-item:hover .folder-move-button,.folder-item:focus-within .folder-move-button,.folder-item:hover .folder-manage-button,.folder-item:focus-within .folder-manage-button{opacity:1}.table-row:focus-within .table-cell-actions{opacity:1}.action-btn,.favorite-btn-table,.breadcrumb-dropdown-btn{min-width:44px;min-height:44px}.action-btn svg{color:var(--text)}.folder-row-open{display:flex;align-items:center;width:100%;min-height:44px;padding:0;color:var(--text);text-align:left;background:transparent;border:0;cursor:pointer}.folder-row-open:hover .folder-name-cell{color:var(--primary);text-decoration:underline}.import-file-input{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dialog-loading{display:inline-flex;align-items:center;min-height:44px;padding:.75rem 1rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow)}.more-dropdown-item{border-radius:0}@media(max-width:768px){.dialog-overlay{align-items:end;padding:0}.dialog{width:100%;max-width:none;max-height:92dvh;border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0}.dialog-header,.dialog-body,.dialog-footer{padding-right:1rem;padding-left:1rem}.dialog-footer>*{flex:1 1 auto}.dialog-footer .folder-new-button{flex-basis:100%;margin-right:0}.toast-viewport{top:.75rem;right:.75rem;width:calc(100vw - 1.5rem);max-height:48dvh}.task-status-panel{right:0;bottom:0;width:100%;max-height:44dvh;border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0}.import-preview-header,.import-result-header{align-items:flex-start;flex-direction:column}.import-stats{flex-wrap:wrap;gap:.35rem .8rem}.export-item-meta{min-width:0;flex-direction:column;gap:.2rem}.folder-move-button,.folder-manage-button,.table-cell-actions{opacity:1}}@media(hover:none),(pointer:coarse){.folder-move-button,.folder-manage-button,.table-cell-actions{opacity:1}}@media(max-width:768px){.header{padding:.85rem .75rem;text-align:left}.header-content,.header-right{flex-wrap:wrap}.header-content{gap:.75rem}.header-left{flex:1 1 150px;gap:.1rem}.logo{margin:0;font-size:1.5rem}.tagline{font-size:.8rem}.header-right{flex:1 1 100%;gap:.5rem}.user-info{min-width:0;flex:1;padding:.25rem .35rem .25rem .6rem;border-radius:6px}.user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle,.settings-button{width:44px;height:44px;flex:0 0 44px}.app-body{gap:.75rem;padding:.75rem}.sidebar{display:block;max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:6px}.sidebar-search{padding:.65rem}.quick-access-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:.35rem}.quick-access-section .sidebar-section-header{display:none}.quick-access-section .sidebar-item{justify-content:center;gap:.35rem;min-width:0;padding:.5rem .35rem;text-align:center}.quick-access-section .sidebar-label{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-divider{margin:0}.folder-navigation-section{padding:.35rem 0 .5rem}.navigation-bar{gap:.35rem;padding:.35rem 0}.toolbar-actions{justify-content:flex-end}.toolbar-actions button{flex:0 0 auto}.bookmarks-table-container{min-height:0;overflow:visible;background:transparent}.table-header{display:none}.table-body{display:grid;gap:.5rem;max-height:none;overflow:visible}.table-progressive-more{position:static;border:1px solid var(--border);border-radius:6px}.table-row{width:100%;min-width:0;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:6px}.table-row.bookmark-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"favorite title actions" "icon url actions" "icon tags actions";align-items:center;padding:.45rem;cursor:default}.table-row.folder-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"icon title actions";padding:.35rem .45rem}.table-row.folder-row .table-cell{display:none}.table-row.folder-row .table-cell[data-column=icon],.table-row.folder-row .table-cell[data-folder-name=true],.table-row.folder-row .table-cell[data-column=actions]{display:flex}.table-row.folder-row .table-cell[data-folder-name=true]{grid-area:title}.table-cell{width:auto!important;min-width:0;min-height:36px;padding:.15rem .35rem;overflow:hidden}.table-cell[data-column=favorite]{grid-area:favorite}.table-cell[data-column=icon]{grid-area:icon;justify-content:center}.table-cell[data-column=title]{grid-area:title}.table-cell[data-column=url]{grid-area:url}.table-cell[data-column=tags]{grid-area:tags}.table-cell[data-column=actions]{grid-area:actions;align-self:stretch}.table-cell[data-column=description],.table-cell[data-column=note],.table-cell[data-column=folder],.table-cell[data-column=createdAt],.table-cell[data-column=summary],.table-cell[data-column=visitCount]{display:none}.table-bookmark-open{min-height:36px;font-size:.95rem;font-weight:600}.table-cell-url{font-size:.75rem}.table-cell-tags:empty{display:none}.table-cell-actions{flex-direction:column;justify-content:center;gap:.2rem}.action-btn,.favorite-btn-table{min-width:40px;min-height:40px}.folder-row-actions .action-btn{min-width:44px;min-height:44px}.resource-error{align-items:stretch;flex-direction:column;padding:.75rem;border:1px solid rgba(239,68,68,.25);border-radius:6px}.resource-error .button-secondary{align-self:flex-start}.inline-loading{border:1px solid var(--border);border-radius:6px}.empty-state{padding:2.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
