@import url("https://fonts.googleapis.com/css2?family=Pretendard:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--topnav-h:48px;--bg:#ffffff;--bg-secondary:#f7f7f5;--bg-hover:#f0efec;--border:#e8e7e3;--text-primary:#1a1a1a;--text-secondary:#6b6b6b;--text-muted:#a0a0a0;--accent:#c8956c;--accent-hover:#b8855c;--accent-light:#fdf3ec;--sidebar-width:260px}body{font-family:Pretendard,-apple-system,sans-serif;background:var(--bg);color:var(--text-primary);height:100vh;overflow:hidden}.btn{height:30px;white-space:nowrap;flex-shrink:0;padding:0 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:6px;transition:all .15s;font-family:inherit}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-primary{background:var(--accent);color:white}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-danger{background:#ef4444;color:white}.btn-danger:hover{background:#dc2626}.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-outline:hover{background:var(--bg-hover)}.login-page{display:flex;height:100vh;align-items:center;justify-content:center;background:var(--bg-secondary)}.login-card{background:white;border:1px solid var(--border);border-radius:12px;padding:40px;width:380px;box-shadow:0 4px 24px rgba(0,0,0,.06)}.login-logo{display:flex;align-items:center;gap:8px;margin-bottom:28px}.login-logo-mark{width:24px;height:24px;display:block}.login-logo-text{font-size:16px;font-weight:600;letter-spacing:-.3px}.login-title{font-size:20px;font-weight:600;letter-spacing:-.5px;margin-bottom:6px}.login-sub{font-size:13px;color:var(--text-muted);margin-bottom:28px}.form-group{margin-bottom:14px}.form-label{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;display:block}.form-input{width:100%;height:40px;border:1px solid var(--border);border-radius:7px;padding:0 14px;font-size:13px;font-family:inherit;color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,149,108,.12)}.form-input::placeholder{color:var(--text-muted)}.login-btn{width:100%;height:42px;background:var(--accent);color:white;border:none;border-radius:7px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;margin-top:20px;transition:background .15s}.login-btn:hover{background:var(--accent-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:20px;text-align:center;font-size:12px;color:var(--text-muted)}.login-footer a{color:var(--accent);text-decoration:none}.login-error{color:#ef4444;font-size:12px;margin-top:8px}.topnav{height:var(--topnav-h);border-bottom:1px solid var(--border);padding:0 16px;gap:10px;background:var(--bg);z-index:10}.logo,.topnav{display:flex;align-items:center;flex-shrink:0}.logo{white-space:nowrap;gap:7px;font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.3px;cursor:pointer;text-decoration:none}.logo-mark{width:20px;height:20px;display:block;flex-shrink:0}.nav-divider{width:1px;height:16px;background:var(--border);flex-shrink:0}.breadcrumb{display:flex;align-items:center;gap:4px;font-size:13px}.crumb{color:var(--text-secondary);cursor:pointer;padding:2px 4px;border-radius:4px;text-decoration:none}.crumb:hover{background:var(--bg-hover);color:var(--text-primary)}.crumb.current{color:var(--text-primary);font-weight:500;cursor:default}.crumb.current:hover{background:transparent}.crumb-sep{color:var(--text-muted);padding:0 2px}.topnav-right{margin-left:auto;display:flex;align-items:center;flex-shrink:0;gap:8px}.topnav-btn{gap:4px}.app-blocked .topnav-right{flex-shrink:1;min-width:0}@media (max-width:600px){.topnav{padding:0 10px;gap:6px}.logo-text,.topnav-label{display:none}.topnav-right{gap:6px}.topnav-btn{height:36px;min-width:36px;padding:0 9px;justify-content:center}.topnav .avatar{width:34px;height:34px}.topnav .search-bar{margin:0 4px}.topnav .search-dropdown{position:fixed;top:calc(var(--topnav-h) + 4px);left:8px;right:8px}}.avatar-wrap{position:relative;flex-shrink:0}.avatar{border:0;padding:0;font-family:inherit;width:28px;height:28px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.avatar-menu{position:absolute;top:calc(100% + 8px);right:0;background:white;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.1);padding:6px;min-width:180px;z-index:100}.avatar-email{padding:8px 10px 4px;font-size:11px;color:var(--text-muted)}.avatar-menu-divider{height:1px;background:var(--border);margin:4px 0}.avatar-menu-item{width:100%;border:0;background:none;font-family:inherit;text-align:left;padding:8px 10px;font-size:13px;color:var(--text-secondary);border-radius:5px;cursor:pointer;display:flex;align-items:center;gap:8px}.avatar-menu-item:focus-visible,.avatar-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.avatar-menu-item:focus-visible,.avatar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-logout-notice{position:absolute;top:calc(100% + 8px);right:0;z-index:100;width:240px;max-width:calc(100vw - 32px);padding:10px 12px;font-size:12px;line-height:1.45;color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.1)}.avatar-logout-notice-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.avatar-logout-notice-actions button{border:1px solid #fecdca;background:white;color:#b42318;font-family:inherit;font-size:12px;padding:4px 8px;border-radius:5px;cursor:pointer}.avatar-logout-notice-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-menu-error{margin:4px 2px 2px;padding:6px 8px;font-size:12px;line-height:1.45;color:#b42318;background:#fef3f2;border-radius:5px}.layout{flex:1 1;height:calc(100vh - var(--topnav-h))}.layout,.sidebar{display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--border);flex-direction:column;background:var(--bg-secondary);flex-shrink:0;transition:width .2s ease,border-width .2s ease}.sidebar.collapsed{border-right:none}.sidebar-header{justify-content:space-between;padding:14px 8px 0}.sidebar-collapse-btn,.sidebar-header{display:flex;align-items:center;flex-shrink:0}.sidebar-collapse-btn{width:26px;height:26px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-size:13px;cursor:pointer;border-radius:6px;justify-content:center;transition:all .15s}.sidebar-collapse-btn:hover{background:var(--text-primary);color:white;border-color:var(--text-primary)}.sidebar-section{padding:6px 8px 8px;flex:1 1;overflow-y:auto}.sidebar-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;padding:0 8px;margin-bottom:4px}.sidebar-label-shared{margin-top:14px}.sidebar-resize-handle{width:4px;cursor:col-resize;touch-action:none;background:transparent;flex-shrink:0;position:relative;z-index:5;transition:background .15s}.sidebar-resize-handle:active,.sidebar-resize-handle:hover{background:var(--accent)}.sidebar-expand-btn{width:28px;border:none;border-right:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:flex-start;justify-content:center;padding-top:14px;flex-shrink:0;transition:all .15s}.sidebar-expand-btn:hover{background:var(--accent-light);color:var(--accent)}.layout-narrow{position:relative}@media (max-width:768px){.layout:not(.layout-narrow) .sidebar{width:0!important;border-right:none;transition:none}.layout:not(.layout-narrow) .sidebar-resize-handle{display:none}}.layout-narrow .sidebar:not(.collapsed){position:absolute;top:0;left:0;bottom:0;width:min(300px,85vw);z-index:190;box-shadow:4px 0 24px rgba(0,0,0,.15)}.sidebar-drawer-backdrop{position:absolute;inset:0;z-index:180;background:rgba(0,0,0,.25)}.root-drop-zone{display:flex;align-items:center;gap:6px;margin:0 4px 2px;padding:6px 8px;border-radius:6px;border:2px dashed var(--border);font-size:12px;color:var(--text-muted);transition:all .15s;cursor:default}.root-drop-zone-icon{font-size:13px}.root-drop-zone-text{font-size:11px;font-weight:500}.root-drop-zone.active{border-color:var(--accent);background:rgba(234,179,8,.1);color:var(--accent)}.root-drop-zone.active .root-drop-zone-text{color:var(--accent);font-weight:600}.sidebar-new-btn{margin:8px;padding:7px 10px;border-radius:6px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s;width:calc(100% - 16px);flex-shrink:0}.sidebar-new-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.tree-row{display:flex;align-items:center;gap:0;padding:2px 4px 2px 0;border-radius:5px;font-size:13px;color:var(--text-secondary);transition:background .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tree-row:hover{background:var(--bg-hover);color:var(--text-primary)}.tree-row.active{background:white;color:var(--text-primary);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.06)}.tree-toggle{width:22px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;cursor:pointer;flex-shrink:0;font-size:9px;color:var(--text-muted);transition:transform .15s;background:none;border:none;font-family:inherit}.tree-toggle:hover{background:rgba(0,0,0,.06);color:var(--text-primary)}.tree-toggle.open{transform:rotate(90deg)}.tree-toggle.empty{cursor:default;visibility:hidden}.tree-label{display:flex;align-items:center;gap:6px;flex:1 1;padding:3px 6px 3px 2px;border-radius:4px;cursor:pointer;font-size:13px}.tree-label:hover{background:rgba(0,0,0,.04)}.tree-children{overflow:hidden}.tree-file-row{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:5px;font-size:12.5px;color:var(--text-secondary);cursor:pointer;transition:all .1s;text-decoration:none}.tree-file-row:hover{background:var(--bg-hover);color:var(--text-primary)}.tree-file-row.active{background:white;color:var(--text-primary);font-weight:500}.tree-file-icon{font-size:12px;opacity:.5;flex-shrink:0}.main-content{flex:1 1;overflow-y:auto;padding:32px 40px;background:var(--bg)}.section-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:10px;gap:10px;margin-bottom:28px}.folder-card{border:1px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .15s;background:var(--bg-secondary);text-decoration:none;color:inherit}.folder-card:hover{background:var(--bg-hover);border-color:#d0cfc9}.folder-card-icon{font-size:20px;margin-bottom:10px}.folder-card-name{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-card-count{font-size:11px;color:var(--text-muted)}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.doc-card{border:1px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .15s;background:var(--bg);text-decoration:none;color:inherit}.doc-card:hover{border-color:#d0cfc9;box-shadow:0 4px 16px rgba(0,0,0,.06);transform:translateY(-1px)}.doc-card-icon{font-size:20px;margin-bottom:10px}.doc-card-name{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-card-meta{font-size:11px;color:var(--text-muted)}.folder-view-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}.folder-view-head-main{flex:1 1 240px;min-width:0}.folder-view-actions{display:flex;flex-wrap:wrap;gap:8px;position:relative}.folder-path-breadcrumb{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);margin-bottom:6px;font-family:JetBrains Mono,monospace}.folder-path-breadcrumb span{color:var(--accent)}.folder-view-title{font-size:20px;font-weight:600;letter-spacing:-.5px}.folder-view-count{font-size:12px;color:var(--text-muted);margin-top:4px}.editor-view{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.editor-toolbar{align-items:center;flex-wrap:wrap;row-gap:6px;gap:8px;padding:8px 16px;min-width:0}.editor-tabs,.editor-toolbar{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg)}.editor-tabs{gap:0;padding:0 16px}.editor-tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-muted);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;font-family:inherit}.editor-tab.active,.editor-tab:hover{color:var(--text-primary)}.editor-tab.active{border-bottom-color:var(--accent);font-weight:600}.editor-preview-frame{width:100%;height:100%;border:none;background:white}.editor-filename.editor-filename--with-chip{flex:0 1 auto}.editor-viewonly-chip{flex-shrink:0;padding:1px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:500;white-space:nowrap}.editor-breadcrumb{display:flex;align-items:center;gap:8px;flex:1 1 320px;min-width:0;overflow:hidden}.editor-path{flex:0 1 auto;min-width:0;max-width:45%;font-size:12px;color:var(--text-muted)}.editor-filename,.editor-path{font-family:JetBrains Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-filename{display:block;flex:1 1 auto;min-width:48px;font-size:13px;font-weight:500;color:var(--text-primary);outline:none;background:transparent;padding:3px 7px;border-radius:4px;border:1px solid transparent;transition:border-color .15s}.editor-filename:focus{border-color:var(--border);background:var(--bg-secondary)}.editor-status{flex-shrink:0;font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:4px;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:#f59e0b}.status-dot.saved{background:#10b981}.status-dot.new{background:#94a3b8}.editor-status.flash{color:#10b981;font-weight:600;animation:save-flash .3s ease}.btn-primary.save-success{background:#10b981!important;border-color:#10b981!important;animation:save-flash .3s ease}@keyframes save-flash{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.editor-url-preview{display:block;max-width:min(320px,24vw);font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1180px){.editor-url-preview,.editor-url-preview+.nav-divider{display:none}}.btn-split{display:inline-flex;flex-shrink:0}.btn-split>.btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.btn-split>.btn-split-caret{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding:0 8px}.link-menu{min-width:260px}.link-menu .ctx-menu-item{align-items:flex-start;width:100%;border:0;background:none;font:inherit;text-align:left}.link-menu .ctx-menu-item:focus-visible{background:var(--bg-hover);outline:2px solid var(--accent);outline-offset:-2px}.link-menu .ctx-menu-item b{display:block;font-weight:600;color:var(--text-primary)}.link-menu .ctx-menu-item small{display:block;font-size:11.5px;color:var(--text-muted);margin-top:1px}.editor-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:100%}.editor-actions,.version-banner{display:flex;align-items:center;flex-shrink:0}.version-banner{gap:10px;padding:8px 16px;background:#fffbf5;border-bottom:1px solid #f0d9c0;font-size:12px;color:var(--text-secondary)}.version-banner-text{flex:1 1}.version-banner-text strong{color:var(--accent);font-weight:600}.version-banner-restore{height:26px;padding:0 10px;border-radius:5px;background:var(--accent);color:white;border:none;font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s}.version-banner-restore:hover{background:var(--accent-hover)}.version-banner-close{height:26px;padding:0 10px;border-radius:5px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s}.version-banner-close:hover{background:var(--bg-hover)}.version-panel{width:0;overflow:hidden;border-left:0 solid var(--border);background:var(--bg-secondary);flex-shrink:0;transition:width .2s ease,border-width .2s ease;display:flex;flex-direction:column}.version-panel.open{width:240px;border-left-width:1px}.version-panel-inner{width:240px;display:flex;flex-direction:column;height:100%}.version-panel-header{padding:14px 16px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.version-panel-title{font-size:13px;font-weight:600;color:var(--text-primary)}.version-panel-close{width:22px;height:22px;border-radius:4px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:background .1s}.version-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.version-list{flex:1 1;overflow-y:auto;padding:8px}.version-item{padding:10px;border-radius:6px;cursor:pointer;transition:background .1s;margin-bottom:2px;border:1px solid transparent}.version-item:hover{background:var(--bg-hover)}.version-item.current{background:white;border-color:var(--border);box-shadow:0 1px 3px rgba(0,0,0,.06);cursor:default}.version-item.previewing{background:var(--accent-light)!important;border-color:#f0d9c0!important}.version-item-top{display:flex;align-items:center;gap:6px;margin-bottom:4px}.version-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;background:var(--accent);color:white}.version-badge.rename{background:#6366f1}.version-badge.move{background:#0ea5e9}.version-badge.description{background:#10b981}.version-time{font-size:12px;font-weight:500;color:var(--text-primary)}.version-memo{font-size:11px;color:var(--text-secondary);font-family:JetBrains Mono,monospace;margin-top:2px}.version-memo.description-memo{font-family:inherit;font-style:italic;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.version-author,.version-hint{font-size:11px;color:var(--text-muted)}.version-hint{margin-top:4px}.links-panel .links-heading{margin:10px 6px 6px;font-size:12px;font-weight:600;color:var(--text-secondary)}.links-panel .links-heading span{color:var(--text-muted);font-weight:500;margin-left:2px}.links-panel .links-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:6px;color:var(--text-primary);text-decoration:none;font-size:13px;margin-bottom:2px}.links-panel a.links-item:hover{background:var(--bg-hover)}.links-panel .links-name{font-weight:500;overflow-wrap:anywhere}.links-panel .links-path,.links-panel .links-text{font-size:11.5px;color:var(--text-secondary);overflow-wrap:anywhere}.links-panel .links-missing .links-name{color:#b45309}.links-panel .links-empty,.links-panel .links-note{margin:4px 6px 8px;font-size:12px;color:var(--text-secondary);line-height:1.5}.links-panel .links-warn{margin:4px 6px 8px;padding:8px 10px;border-radius:6px;background:#fef3c7;color:#92400e;font-size:12px;line-height:1.5}.version-item.version-log{opacity:.8}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:white;border-radius:10px;padding:24px;width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15)}.modal-wide{width:460px}.pdf-export-more{margin:4px 0 8px;font-size:12px;color:var(--text-muted)}.pdf-export-more summary{cursor:pointer;margin-bottom:6px}.pdf-export-more .modal-input+.modal-input{margin-top:6px}.pdf-export-check{display:flex;align-items:center;gap:6px;margin:10px 0 6px;font-size:13px;cursor:pointer}.pdf-export-done{margin-top:10px;padding:8px 10px;border-radius:6px;background:var(--bg-secondary,#f5f5f4);color:var(--text-primary);font-size:13px;font-weight:600}.modal-xl{width:760px}.modal-title{font-size:15px;font-weight:600;margin-bottom:6px}.modal-desc{font-size:12px;color:var(--text-muted);margin-bottom:16px}.modal-input{width:100%;height:38px;border:1px solid var(--border);border-radius:6px;padding:0 12px;font-size:13px;font-family:inherit;outline:none;color:var(--text-primary);transition:border-color .15s}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,149,108,.12)}.modal-input:disabled{background:var(--hover);color:var(--text-tertiary);cursor:not-allowed}.modal-label{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;margin-top:12px;display:block}.modal-hint{margin-top:4px}.modal-hint,.modal-preview{font-size:11px;color:var(--text-muted)}.modal-preview{margin-top:8px;font-family:JetBrains Mono,monospace}.modal-preview span{color:var(--accent)}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:20px}.folder-select-tree{border:1px solid var(--border);border-radius:6px;padding:8px;max-height:160px;overflow-y:auto;margin-top:4px}.folder-select-empty{padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-tertiary);font-size:13px}.folder-select-empty-icon{font-size:24px;margin-bottom:4px;opacity:.4}.folder-select-empty-sub{font-size:12px;opacity:.7}.folder-select-item{padding:5px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px;transition:background .1s}.folder-select-item:hover{background:var(--bg-hover);color:var(--text-primary)}.folder-select-item.selected{background:var(--accent-light);color:var(--accent);font-weight:500}.empty-text{color:var(--text-muted);font-size:13px;padding:8px 0}.tree-row.drop-target{border-radius:5px}.folder-card.drop-target,.tree-row.drop-target{background:var(--accent-light);outline:2px solid var(--accent);outline-offset:-2px}.tree-row[draggable=true]{cursor:-webkit-grab;cursor:grab}.tree-row[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.tree-file-row[draggable=true]{cursor:-webkit-grab;cursor:grab}.tree-file-row[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.tree-row.drop-after,.tree-row.drop-before{position:relative}.tree-row.drop-before:before{top:-1px;left:4px;right:4px;height:2px;border-radius:1px}.tree-row.drop-before:after,.tree-row.drop-before:before{content:"";position:absolute;background:var(--accent);z-index:10;pointer-events:none}.tree-row.drop-before:after{top:-4px;left:2px;width:6px;height:6px;border-radius:50%}.tree-row.drop-after:before{bottom:-1px;left:4px;right:4px;height:2px;border-radius:1px}.tree-row.drop-after:after,.tree-row.drop-after:before{content:"";position:absolute;background:var(--accent);z-index:10;pointer-events:none}.tree-row.drop-after:after{bottom:-4px;left:2px;width:6px;height:6px;border-radius:50%}.tree-file-row.drop-after,.tree-file-row.drop-before{position:relative}.tree-file-row.drop-before:before{top:-1px;left:4px;right:4px;height:2px;border-radius:1px}.tree-file-row.drop-before:after,.tree-file-row.drop-before:before{content:"";position:absolute;background:var(--accent);z-index:10;pointer-events:none}.tree-file-row.drop-before:after{top:-4px;left:2px;width:6px;height:6px;border-radius:50%}.tree-file-row.drop-after:before{bottom:-1px;left:4px;right:4px;height:2px;border-radius:1px}.tree-file-row.drop-after:after,.tree-file-row.drop-after:before{content:"";position:absolute;background:var(--accent);z-index:10;pointer-events:none}.tree-file-row.drop-after:after{bottom:-4px;left:2px;width:6px;height:6px;border-radius:50%}.doc-card[draggable=true]{cursor:-webkit-grab;cursor:grab}.doc-card[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.move-confirm-info{margin-top:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.move-confirm-row{display:flex;align-items:center;gap:10px;padding:4px 0}.move-confirm-label{font-size:11px;font-weight:500;color:var(--text-muted);min-width:60px;flex-shrink:0}.move-confirm-value{font-size:13px;font-weight:500;color:var(--text-primary)}.move-confirm-path{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-secondary);background:white;padding:2px 8px;border-radius:4px;border:1px solid var(--border)}.move-confirm-path.highlight{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.move-confirm-arrow{text-align:center;font-size:16px;color:var(--text-muted);padding:4px 0}.ctx-backdrop{position:fixed;inset:0;z-index:300}.ctx-menu{position:fixed;background:white;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:4px;min-width:140px;z-index:301}.ctx-menu-item{padding:7px 10px;font-size:13px;color:var(--text-secondary);border-radius:5px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .1s;width:100%;border:0;background:none;font-family:inherit;text-align:left}.ctx-menu-item:focus-visible,.ctx-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.ctx-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ctx-menu-divider{height:1px;background:var(--border);margin:4px 0}.modal-error{font-size:12px;color:#ef4444;margin-top:6px}.modal-textarea{height:auto;padding:10px 12px;resize:vertical;min-height:60px;line-height:1.5}.delete-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 14px;font-size:13px;color:#991b1b;line-height:1.6;margin-bottom:16px}.delete-match-hint{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.delete-match-hint code{background:var(--bg-hover);padding:2px 6px;border-radius:4px;font-weight:600;color:var(--text-primary)}.delete-input{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);outline:none;transition:border-color .15s}.delete-input:focus{box-shadow:0 0 0 2px rgba(239,68,68,.15)}.delete-input.match,.delete-input:focus{border-color:#ef4444}.delete-input.mismatch{border-color:var(--border)}.delete-mismatch{color:#ef4444;font-size:12px}.delete-match{color:#10b981;font-size:12px}.btn-danger-outline{color:#ef4444!important;border-color:#ef4444!important}.btn-danger-outline:hover:not(:disabled){background:#fef2f2!important}.description-text{font-size:13px;color:var(--text-secondary);cursor:pointer;margin-top:6px;padding:4px 8px;border-radius:6px;border:1px solid transparent;transition:all .15s;line-height:1.5;white-space:pre-wrap;word-break:break-word}.description-text:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border)}.description-placeholder{font-size:13px;color:var(--text-muted);cursor:pointer;margin-top:6px;padding:4px 8px;border-radius:6px;border:1px dashed transparent;opacity:.6;transition:all .15s}.description-placeholder:hover{opacity:1;border-color:var(--border);background:var(--bg-hover)}.description-edit{width:100%;min-height:60px;resize:vertical;font-size:13px;font-family:inherit;color:var(--text-primary);padding:8px 10px;border:1px solid var(--accent);border-radius:6px;outline:none;box-shadow:0 0 0 3px rgba(200,149,108,.12);background:white;margin-top:6px;line-height:1.5}.card-description{font-size:12px;color:var(--text-muted);margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.editor-section-bar{display:flex;align-items:stretch;gap:0;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.editor-section-bar.collapsed .editor-section-content{display:none}.editor-section-bar.collapsed .editor-section-label{border-right:none}.editor-section-label{font-size:11px;font-weight:600;color:var(--text-muted);padding:10px 12px;white-space:nowrap;border-right:1px solid var(--border);background:var(--bg-secondary);min-width:70px;display:flex;align-items:center;gap:6px}.editor-section-toggle{font-size:10px;cursor:pointer;color:var(--text-muted);transition:transform .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.editor-section-toggle.open{transform:rotate(90deg)}.editor-section-content{flex:1 1;padding:4px 12px;background:var(--bg);min-height:36px;display:flex;align-items:center}.editor-section-content .description-placeholder,.editor-section-content .description-text{margin-top:0;font-size:12px;padding:3px 8px;flex:1 1}.editor-section-content .description-edit{margin-top:0;font-size:12px;min-height:36px;flex:1 1}.favorite-btn{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-muted);padding:2px;line-height:1;transition:all .15s}.favorite-btn:hover{color:var(--accent);transform:scale(1.15)}.favorite-btn.active{color:var(--accent)}.card-fav{position:absolute;top:8px;right:8px}.doc-card,.folder-card{position:relative}.home-section{margin-bottom:32px}.page-title{font-size:18px;margin-bottom:20px}.nav-progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:9999;animation:nav-progress 1.8s ease-in-out infinite}@keyframes nav-progress{0%{width:0}20%{width:40%}50%{width:70%}80%{width:90%}to{width:95%}}.search-bar{position:relative;flex:1 1;min-width:0;max-width:400px;margin:0 16px}.search-input{width:100%;height:32px;border:1px solid var(--border);border-radius:6px;padding:0 12px 0 32px;font-size:13px;font-family:inherit;color:var(--text-primary);background:var(--bg-secondary);outline:none;transition:all .15s}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,149,108,.12)}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--text-muted);pointer-events:none}.search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:white;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.1);max-height:320px;overflow-y:auto;z-index:100}.search-result-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s}.search-result-item:hover{background:var(--bg-hover)}.search-result-icon{font-size:16px;flex-shrink:0}.search-result-info{flex:1 1;min-width:0}.search-result-name{font-size:13px;font-weight:500;color:var(--text-primary)}.search-result-name,.search-result-path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-path{font-size:11px;color:var(--text-muted)}.search-empty{font-size:13px}.search-empty,.search-loading{padding:16px;text-align:center;color:var(--text-muted)}.search-loading{font-size:12px}.guide-page{max-width:720px;margin:0 auto;padding-bottom:60px}.guide-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.guide-header-icon{font-size:40px;line-height:1}.guide-title{font-size:24px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.guide-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.6}.guide-toc{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:36px}.guide-toc-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px}.guide-toc-list{list-style:none;counter-reset:toc;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:4px 24px;gap:4px 24px}.guide-toc-list li{counter-increment:toc}.guide-toc-list a{font-size:13px;color:var(--text-secondary);text-decoration:none;transition:color .15s;display:flex;align-items:center;padding:5px 0}.guide-toc-list a:hover{color:var(--accent)}.guide-toc-emoji{margin-right:8px;font-size:14px}.guide-section{margin-top:36px;padding-top:36px;border-top:1px solid var(--border)}.guide-section-icon{margin-right:6px}.guide-section h2{font-size:18px;margin-bottom:12px}.guide-section h2,.guide-section h3{font-weight:600;color:var(--text-primary)}.guide-section h3{font-size:14px;margin-top:16px;margin-bottom:8px}.guide-section p{font-size:13px;line-height:1.7;color:var(--text-secondary);margin-bottom:12px}.guide-list{list-style:none;padding:0;margin-bottom:12px}.guide-list li{position:relative;padding-left:18px;font-size:13px;line-height:1.7;color:var(--text-secondary);margin-bottom:4px}.guide-list li:before{content:"\2022";position:absolute;left:4px;color:var(--accent);font-weight:700}.guide-list li strong{color:var(--text-primary);font-weight:500}.guide-tip{background:var(--accent-light);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:12px 16px;margin-top:16px;margin-bottom:8px;font-size:12px;line-height:1.6;color:var(--text-secondary)}.guide-tip strong{color:var(--accent-hover);font-weight:600;margin-right:4px}.guide-shortcut{display:inline-block;background:var(--bg-secondary);border:solid var(--border);border-width:1px 1px 2px;border-radius:4px;padding:1px 6px;font-size:11px;font-family:JetBrains Mono,monospace;color:var(--text-secondary);line-height:1.6}.guide-feature-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:16px;margin-bottom:8px}.guide-feature-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s}.guide-feature-card:hover{border-color:var(--accent)}.guide-feature-icon{font-size:20px;margin-bottom:4px}.guide-feature-card strong{font-size:13px;font-weight:600;color:var(--text-primary)}.guide-feature-card span{font-size:12px;line-height:1.5;color:var(--text-muted)}.guide-steps{margin-top:8px}.guide-step{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.guide-step:last-child{border-bottom:none}.guide-step-num{width:26px;height:26px;border-radius:50%;background:var(--accent);color:white;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.guide-step-content{flex:1 1;min-width:0}.guide-step-content h3{margin-top:0;margin-bottom:6px}.guide-step-content .guide-list{margin-bottom:0}.guide-mockup{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:16px 0}.guide-mockup-title{font-size:11px;font-weight:600;color:var(--text-muted);padding:8px 14px;background:var(--bg-hover);border-bottom:1px solid var(--border)}.guide-mockup-body{padding:16px}.guide-mockup-row{margin-bottom:12px}.guide-mockup-row:last-child{margin-bottom:0}.guide-mockup-label{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:6px;display:block}.guide-mockup-cards{display:flex;gap:8px}.guide-mockup-card{background:white;border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:12px;color:var(--text-secondary);white-space:nowrap}.guide-mockup-tree{font-size:13px;color:var(--text-secondary)}.guide-tree-item{padding:5px 8px;border-radius:4px}.guide-tree-item.depth-0{padding-left:8px}.guide-tree-item.depth-1{padding-left:24px}.guide-tree-item.depth-2{padding-left:40px}.guide-tree-item.tree-add{color:var(--text-muted);font-size:12px;margin-top:4px}.guide-tree-item.tree-dragging{background:var(--accent-light);border:1px dashed var(--accent);border-radius:4px;opacity:.85}.guide-tree-drop-line{height:2px;background:#3b82f6;border-radius:1px;margin:2px 8px}.guide-mockup-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:white;border:1px solid var(--border);border-radius:6px;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-primary)}.guide-mockup-toolbar-right{display:flex;gap:6px;align-items:center}.guide-mockup-btn{border:1px solid var(--border);color:var(--text-secondary);background:white}.guide-mockup-btn,.guide-mockup-btn-primary{font-size:11px;padding:3px 8px;border-radius:4px}.guide-mockup-btn-primary{background:var(--accent);color:white;border:none}.guide-mockup-btn-danger{font-size:11px;padding:3px 8px;border-radius:4px;color:#ef4444;border:1px solid #ef4444;background:white}.guide-mockup-modal{background:white;border:1px solid var(--border);border-radius:12px;padding:20px;max-width:340px;margin:0 auto;text-align:left}.guide-mockup-modal-title{font-size:15px;font-weight:700;margin-bottom:8px}.guide-mockup-modal-desc{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.guide-mockup-modal-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:12px;color:#991b1b;line-height:1.6;margin-bottom:12px}.guide-mockup-modal-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.guide-mockup-modal-input{border:1px solid #ef4444;border-radius:6px;padding:8px 10px;font-size:13px;color:var(--text-primary);background:var(--bg-secondary);margin-bottom:4px}.guide-mockup-modal-hint{font-size:11px;color:#10b981;margin-bottom:12px}.guide-mockup-modal-actions{display:flex;justify-content:flex-end;gap:8px}.guide-mockup-editor{background:white;border:1px solid var(--border);border-radius:6px;padding:16px;min-height:60px;font-size:12px;color:var(--text-muted)}.guide-mockup-search{display:flex;align-items:center;gap:8px;padding:8px 12px;background:white;border:1px solid var(--accent);border-radius:6px;margin-bottom:6px;box-shadow:0 0 0 3px rgba(200,149,108,.12)}.guide-mockup-search-icon{font-size:13px}.guide-mockup-search-text{font-size:13px;color:var(--text-primary)}.guide-mockup-search-results{background:white;border:1px solid var(--border);border-radius:6px;overflow:hidden}.guide-mockup-search-item{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:12px;border-bottom:1px solid var(--border)}.guide-mockup-search-item:last-child{border-bottom:none}.guide-mockup-search-name{font-weight:500;color:var(--text-primary)}.guide-mockup-search-path{font-size:11px;color:var(--text-muted)}.guide-mockup-fav{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 16px}.guide-mockup-fav-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary);background:white;border:1px solid var(--border);border-radius:6px;padding:10px 16px;min-width:240px}.guide-mockup-fav-star{font-size:18px}.guide-mockup-fav-star.off{color:var(--text-muted)}.guide-mockup-fav-star.on{color:#f59e0b}.guide-mockup-fav-arrow{font-size:16px;color:var(--text-muted)}.guide-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px}.guide-table th{text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);padding:8px 12px;border-bottom:2px solid var(--border)}.guide-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.guide-table tr:last-child td{border-bottom:none}.guide-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--border);text-align:center;font-size:12px;color:var(--text-muted)}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.group-members{padding:8px 0 4px;display:flex;flex-direction:column;gap:6px}.share-pop-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:10px;margin-top:8px;border-top:1px solid var(--border)}.share-dirty{flex:1 1 120px;min-width:0;font-size:12px;color:var(--text-secondary)}.share-tag{margin-left:6px;padding:1px 6px;border-radius:10px;font-size:11px;background:rgba(200,149,108,.16);color:#8a5a2b;vertical-align:middle}.share-backdrop{position:fixed;inset:0;z-index:300}.share-pop{position:fixed;top:96px;right:24px;z-index:310;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 120px);overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.12);padding:14px;text-align:left}.share-pop-head{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.share-pop-add{display:flex;gap:6px;align-items:center}.share-pop-add .form-input{flex:1 1;min-width:0}.share-role{flex:none;width:84px}.share-pop-error{margin-top:8px;font-size:12px;color:#c0392b;line-height:1.5}.share-invite-ask{margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);font-size:12.5px;line-height:1.6;color:var(--text-primary)}.share-invite-ask-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:8px}.node-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:2px}.node-link:hover{color:var(--accent);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.login-invited{margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);font-size:13px;line-height:1.6;color:var(--text-primary);word-break:break-all}.login-invited-sub{margin-top:4px;font-size:12px;color:var(--text-muted)}.share-pop-notice{margin-top:8px;font-size:12px;color:var(--text-secondary);line-height:1.5;word-break:break-all}.share-pop-list{margin-top:12px;max-height:240px;overflow-y:auto}.share-pop-empty{font-size:12.5px;color:var(--text-muted);padding:10px 2px}.share-row{display:flex;align-items:center;gap:6px;padding:5px 0}.share-row-label{flex:1 1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-row-remove{flex:none;width:24px;height:24px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.share-row-remove:hover{background:var(--bg-hover);color:#c0392b}.share-pop-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.share-restrict{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.share-hint{margin:6px 0 0;line-height:1.5}.share-hint,.share-inherit-head{font-size:12px;color:var(--text-muted)}.share-inherit-head{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);font-weight:600}.share-row-inherited .share-row-label{color:var(--text-secondary);white-space:normal}.share-row-from{display:block;font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-mode-list .share-hint,.share-row-inherited .share-hint{margin:0}.share-role-ro{flex:none;padding-right:30px;font-size:12px;color:var(--text-muted);white-space:nowrap}.share-mode-list{list-style:none;margin:8px 0 0;padding:0;max-height:200px;overflow-y:auto}.share-mode-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dashed var(--border)}.share-mode-list li:last-child{border-bottom:none}.share-mode-list label{display:flex;align-items:center;gap:4px;flex:none;cursor:pointer}.share-mode-lose>span:first-child{color:#c0392b}.share-mode-keep>span:first-child{color:#2e7d4f}.share-mode-add>span:first-child{color:var(--text-primary)}.tree-label-noaccess{opacity:.5;cursor:default}.no-access{max-width:640px;padding:32px 0}.no-access-title{font-size:20px;font-weight:600;margin-bottom:8px}.no-access p{color:var(--text-secondary);font-size:14px}.no-access-hint{margin-top:24px;color:var(--text-muted);font-size:13px}.app-blocked{min-height:100vh;background:var(--bg)}.app-blocked .logo{cursor:default}.app-blocked-email{color:var(--text-muted);font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-blocked-main{max-width:640px;margin:0 auto;padding:40px 16px}.app-blocked-main p{color:var(--text-secondary);font-size:14px;line-height:1.6}.app-blocked-account{overflow-wrap:anywhere}.app-blocked-main .section-label{margin-top:24px}.app-blocked-muted{color:var(--text-muted)!important}.app-blocked-error{color:var(--danger,#c0392b)!important}.app-blocked-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.app-blocked-list li{border-bottom:1px solid var(--border)}.app-blocked-list a{display:flex;align-items:center;gap:8px;padding:12px 4px;color:var(--text-primary);font-weight:600;text-decoration:none}.app-blocked-list a:hover{background:var(--bg-hover,rgba(0,0,0,.04))}.app-blocked-draft{margin-bottom:28px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary)}.app-blocked-draft-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-blocked-draft-text{width:100%;box-sizing:border-box;margin-top:8px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid var(--border);border-radius:6px;padding:8px;resize:vertical}.app-access-notice,.app-blocked-draft-text{background:var(--bg);color:var(--text-primary)}.app-access-notice{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 14px;border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.14);font-size:13px}.app-blocked-icon{width:20px;text-align:center}.page-title{font-size:22px;font-weight:600;margin:0 0 16px}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{white-space:nowrap;flex-shrink:0;padding:8px 14px;background:none;font-size:14px;color:var(--text-secondary);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active,.tab:hover{color:var(--text-primary)}.tab.active{font-weight:600;border-bottom-color:var(--accent)}.table-scroll{overflow-x:auto;max-width:100%}.table-scroll>.data-table{min-width:520px}.data-table select{min-width:96px}.table-scroll::-webkit-scrollbar,.tabs::-webkit-scrollbar{height:6px}.table-scroll::-webkit-scrollbar-thumb,.tabs::-webkit-scrollbar-thumb{background:#d4d0c8;border-radius:3px}.data-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:12px}.data-table th{text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);padding:8px 10px;white-space:nowrap}.data-table td,.data-table th{border-bottom:1px solid var(--border)}.data-table td{padding:10px;vertical-align:middle}.data-table tr.row-disabled{opacity:.55}.cell-main{font-weight:500}.cell-sub{font-size:12.5px}.avatar-role,.cell-sub{color:var(--text-muted)}.avatar-role{padding:2px 12px 6px;font-size:11.5px}.notice{margin:12px 0;padding:10px 14px;border-radius:8px;font-size:13px;line-height:1.6;max-width:720px}.notice-warn{background:#fdf6ec;color:#7a5a2a}.notice-ok,.notice-warn{border:1px solid #f0dcc0}.notice-ok{background:var(--accent-light);color:#6b4a25}.notice-code{margin-top:6px;font-family:JetBrains Mono,monospace;font-size:12.5px;background:rgba(0,0,0,.04);padding:4px 8px;border-radius:4px;display:inline-block;-webkit-user-select:all;-moz-user-select:all;user-select:all}.share-typeahead{position:relative;flex:1 1;min-width:0}.share-typeahead .form-input{width:100%}.share-suggest{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:60;margin:0;padding:4px;list-style:none;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.1);max-height:200px;overflow-y:auto}.share-suggest button{display:flex;flex-direction:column;gap:1px;width:100%;padding:6px 8px;border:none;background:none;text-align:left;cursor:pointer;border-radius:5px}.share-suggest button:hover{background:var(--bg-hover)}.share-suggest-name{font-size:13px}.share-suggest-email{font-size:11.5px;color:var(--text-muted)}.readonly-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.oauth-consent{max-width:460px;margin:10vh auto;padding:32px;background:var(--bg);border:1px solid var(--border);border-radius:12px}.oauth-consent h1{font-size:18px;line-height:1.5;font-weight:600;margin:0 0 8px}.oauth-sub{font-size:14px;color:var(--text-secondary);margin:0 0 20px}.oauth-scopes{list-style:none;padding:16px;margin:0 0 20px;background:var(--bg-secondary);border-radius:8px}.oauth-scopes li{font-size:14px;padding:4px 0}.oauth-scopes li:before{content:"✓";color:var(--accent);margin-right:8px;font-weight:700}.oauth-note{font-size:13px;line-height:1.6;color:var(--text-secondary);margin:0 0 20px}.oauth-error{font-size:13px;color:#dc2626;margin:0 0 16px}.oauth-actions{display:flex;gap:8px;justify-content:flex-end}.mcp-guide{border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin:16px 0 24px;background:var(--bg-secondary)}.mcp-guide>summary{cursor:pointer;font-weight:600;font-size:14px}.mcp-guide-lead{font-size:13px;color:var(--text-secondary);margin:12px 0 6px}.mcp-url{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mcp-url code{flex:1 1;min-width:240px;padding:7px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:13px;word-break:break-all}.mcp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px;margin-top:18px}.mcp-steps h4{font-size:13px;font-weight:600;margin:0 0 6px}.mcp-steps ol{margin:0;padding-left:18px;font-size:13px;line-height:1.8;color:var(--text-secondary)}.mcp-steps code{font-size:12px;padding:1px 5px;background:var(--bg);border:1px solid var(--border);border-radius:4px;word-break:break-all}.mcp-note{font-size:12.5px;line-height:1.7;color:var(--text-secondary);margin:18px 0 0;padding-top:12px;border-top:1px solid var(--border)}.mcp-hint{font-size:12px;line-height:1.7;color:var(--text-muted);margin:8px 0 0}.mcp-warn{font-size:12.5px;line-height:1.7;color:#b45309;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.35);border-radius:8px;padding:9px 12px;margin:14px 0 0}.login-footer-links{margin-top:10px}.legal-page{min-height:100vh;background:var(--bg-secondary);padding:48px 16px}.legal-card{max-width:720px;margin:0 auto;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:40px;font-size:14px;line-height:1.7;color:var(--text-primary)}.legal-title{font-size:22px;font-weight:600;letter-spacing:-.5px;margin:0 0 4px}.legal-meta{font-size:12px;color:var(--text-muted);margin:0 0 24px}.legal-card h2{font-size:15px;font-weight:600;margin:28px 0 8px}.legal-card p,.legal-card ul{margin:0 0 8px}.legal-card ul{padding-left:20px}.legal-card a{color:var(--accent)}.legal-table{width:100%;border-collapse:collapse;margin:4px 0 8px;font-size:13px}.legal-table td,.legal-table th{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.legal-table th{width:34%;background:var(--bg-secondary);font-weight:500}.legal-back{margin-top:32px;font-size:13px}@media (max-width:600px){.legal-card{padding:24px 20px}}.upload-card{position:fixed;right:16px;bottom:16px;z-index:60;width:340px;max-height:50vh;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.1);padding:10px 12px;font-size:13px}.upload-card-head{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:6px}.upload-card-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px dashed var(--border)}.upload-card-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-card-sub{color:var(--text-muted);font-size:12px}.upload-card-row.error{flex-wrap:wrap}.upload-card-err{color:#c0392b;font-size:12px;flex-basis:100%;padding-left:22px}.upload-card-row.done .upload-card-name{color:var(--text-primary)}.pdf-frame{width:100%;height:100%;border:0;background:#f4f3f0}.pdf-text-state,.search-snippet{font-size:12px;color:var(--text-muted)}.search-snippet{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-drop-active{outline:2px dashed var(--accent);outline-offset:-6px;border-radius:10px}.mode-switch{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.mode-switch-item{flex:1 1;min-width:max-content;padding:0 10px;white-space:nowrap;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-secondary);font:inherit;font-size:13px;cursor:pointer}.mode-switch-item.on{border-color:var(--accent);color:var(--text-primary);background:var(--accent-light);font-weight:600}.modal-file-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.md-split-preview{flex:1 1;min-width:0;height:100%;border-left:1px solid var(--border);position:relative}.md-split-preview .editor-preview-frame{width:100%;height:100%}.modal-file-drop{border:1.5px dashed var(--border);border-radius:10px;padding:10px 12px;transition:background .12s,border-color .12s}.modal-file-drop.active{border-color:var(--accent,#c8875a);background:rgba(200,135,90,.08)}.modal-file-name{flex:1 1 auto;min-width:0;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-block-wrap{position:absolute;inset:0;overflow:auto;background:#fff}.md-block-wrap .md-block-editor{min-height:100%}.md-block-loading{padding:32px 72px;color:#888}.rt-diff{max-height:52vh;overflow:auto;background:#f7f6f3;border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:12.5px;line-height:1.55;white-space:pre-wrap;font-family:JetBrains Mono,Consolas,monospace}.rec-toolbar-btn.active{background:var(--accent-light);border-color:#f0d9c0;color:var(--accent)}.rec-toolbar-btn.live{color:#c0392b;border-color:#f1b8b0}.rec-count{min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.rec-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:8px 16px;border-bottom:1px solid #f1d2cc;background:#fdf1ef;font-size:12px;flex-shrink:0}.rec-bar.paused{background:var(--bg-secondary);border-bottom-color:var(--border)}.rec-bar-dot{width:9px;height:9px;border-radius:50%;background:#d64232;animation:rec-pulse 1.4s ease-in-out infinite}.rec-bar.paused .rec-bar-dot{animation:none;opacity:.35}@keyframes rec-pulse{50%{opacity:.35}}.rec-bar-label{color:#b5372a;font-weight:600}.rec-bar.paused .rec-bar-label{color:var(--text-secondary)}.rec-bar-clock{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;color:var(--text-primary)}.rec-bar-meta,.rec-bar-sync{color:var(--text-secondary)}.rec-bar-sync.warn{color:#b5372a;font-weight:500}.rec-bar-actions{margin-left:auto;display:flex;gap:6px}.rec-bar-fatal{flex-basis:100%;color:#b5372a}.rec-stop{background:#d64232;color:#fff}.rec-stop:hover:not(:disabled){background:#b5372a}.rec-stop:disabled{opacity:.6;cursor:default}.rec-panel{width:0;overflow:hidden;border-left:0 solid var(--border);background:var(--bg-secondary);flex-shrink:0;transition:width .2s ease,border-width .2s ease;display:flex;flex-direction:column}.rec-panel.open{width:380px;border-left-width:1px}.rec-panel-inner{width:380px;display:flex;flex-direction:column;height:100%}.rec-panel-head-actions{display:flex;align-items:center;gap:6px}.rec-link{font-size:12px;color:var(--text-secondary);text-decoration:none;padding:2px 6px;border-radius:4px}.rec-link:hover{background:var(--bg-hover);color:var(--accent)}.rec-panel-body{flex:1 1;overflow-y:auto;gap:10px;font-size:12px}.rec-panel-body,.rec-start{padding:10px;display:flex;flex-direction:column}.rec-start{background:#fff;border:1px solid var(--border);border-radius:8px;gap:6px}.rec-start-title{font-size:13px;font-weight:600;margin-bottom:2px}.rec-start-item{text-align:left;border:1px solid var(--border);border-radius:6px;background:#fff;padding:8px 10px;display:flex;flex-direction:column;gap:2px;cursor:pointer;font-family:inherit;color:var(--text-primary)}.rec-start-item b{font-size:12px;font-weight:600}.rec-start-item span{font-size:11px;color:var(--text-secondary)}.rec-start-item:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light)}.rec-start-item:disabled{opacity:.5;cursor:default}.rec-start-notice{font-size:11px;color:var(--text-muted);line-height:1.5}.rec-note{padding:8px 10px;border-radius:6px;background:#fff;border:1px solid var(--border);color:var(--text-secondary);line-height:1.5;white-space:pre-line}.rec-note.bad{border-color:#f1b8b0;background:#fdf1ef;color:#b5372a}.rec-note.warn{border-color:#f3d79b;background:#fdf7e8;color:#8a6114}.rec-note.ok{border-color:#bfe3cf;background:#f0faf4;color:#1f7a4a}.rec-progress{margin-top:6px;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.rec-progress>div{height:100%;background:var(--accent);transition:width .2s}.rec-empty{padding:6px 2px}.rec-empty,.rec-hint{color:var(--text-muted)}.rec-hint{font-size:11px}.rec-list{list-style:none;display:flex;flex-direction:column;gap:6px}.rec-item{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.rec-item.selected{border-color:#f0d9c0;box-shadow:0 1px 3px rgba(0,0,0,.06)}.rec-item-main{width:100%;border:none;background:transparent;text-align:left;cursor:pointer;font-family:inherit;padding:8px 10px;display:grid;grid-template-columns:1fr auto;grid-gap:2px 8px;gap:2px 8px;color:var(--text-primary)}.rec-item-title{font-size:13px;font-weight:600}.rec-item-meta{grid-column:1/-1;color:var(--text-secondary);font-size:11px}.rec-item-extra{padding:0 10px 8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text-secondary)}.rec-item-extra.bad{color:#b5372a}.rec-chip{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;background:var(--bg-hover);color:var(--text-secondary);white-space:nowrap;align-self:center}.rec-chip.ok{background:#e6f5ec;color:#1f7a4a}.rec-chip.busy{background:#e8f1fb;color:#2d6aa6}.rec-chip.live{background:#fdecea;color:#b5372a}.rec-chip.warn{background:#fdf3dc;color:#8a6114}.rec-chip.bad{background:#fdecea;color:#b5372a}.rec-detail{border-top:1px solid var(--border);padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px}.rec-audio{width:100%;height:34px}.rec-sub{color:var(--text-muted);font-size:11px}.rec-speakers{display:flex;flex-direction:column;gap:4px}.rec-speakers-title{font-weight:600;font-size:12px}.rec-speaker-row{display:grid;grid-template-columns:52px 1fr;align-items:center;grid-gap:6px;gap:6px;color:var(--text-secondary)}.rec-speaker-row .modal-input{height:30px}.rec-speakers .btn{align-self:flex-end}.rec-transcript{list-style:none;display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto}.rec-transcript li{display:grid;grid-template-columns:44px auto 1fr;grid-gap:6px;gap:6px;align-items:baseline;line-height:1.55}.rec-time{border:none;background:transparent;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent);cursor:pointer;padding:0;text-align:left}.rec-time:disabled{color:var(--text-muted);cursor:default}.rec-speaker{font-weight:600;white-space:nowrap}.rec-text{color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere}.rec-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#b5372a}.rec-danger{background:#d64232;color:#fff}.rec-danger:hover{background:#b5372a}.rec-delete{align-self:flex-start;color:var(--text-muted)}.rec-toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:1000;max-width:380px}.rec-toast{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.5;background:#fff;border:1px solid var(--border);box-shadow:0 6px 20px rgba(0,0,0,.12);color:var(--text-primary)}.rec-toast.success{border-color:#bfe3cf}.rec-toast.warning{border-color:#f3d79b;background:#fdf7e8}.rec-toast.error{border-color:#f1b8b0;background:#fdf1ef;color:#b5372a}.rec-toast-close{border:none;background:transparent;color:var(--text-muted);cursor:pointer;margin-left:auto}.gl-desc{color:var(--text-secondary);font-size:13px;line-height:1.6;margin-bottom:14px}.gl-status{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary);font-size:12px;color:var(--text-secondary);margin-bottom:12px}.gl-status,.gl-table{display:flex;border:1px solid var(--border);border-radius:8px}.gl-table{padding:12px;margin-top:12px;max-width:880px;flex-direction:column;gap:6px}.gl-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;grid-gap:8px;gap:8px;align-items:center}.gl-head{font-size:11px;font-weight:500;color:var(--text-secondary)}.gl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.gl-count{margin-right:auto;font-size:11px;color:var(--text-muted)}.gl-problems{list-style:none;color:#b5372a;font-size:12px;display:flex;flex-direction:column;gap:2px}button.rec-link{border:none;background:transparent;cursor:pointer;font-family:inherit}.rec-link.active{background:var(--accent-light);color:var(--accent)}