.explorer-panel{width:var(--sidebar-w, 280px);min-width:var(--sidebar-min, 200px);max-width:var(--sidebar-max, 400px);flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.explorer-header{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 16px;border-bottom:1px solid var(--border);flex-shrink:0}.explorer-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.explorer-actions{display:flex;gap:2px}.explorer-action-btn{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--accent);transition:color .1s,background .1s}.explorer-action-btn svg{width:19px;height:19px}.explorer-action-btn:hover{background:#f5a62326}.explorer-search-wrap{padding:6px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.explorer-search{display:flex;align-items:center;gap:6px;background:var(--bg-input);border-radius:4px;padding:4px 8px;border:1px solid transparent;transition:border-color .15s}.explorer-search:focus-within{border-color:var(--accent)}.explorer-search svg{flex-shrink:0}.explorer-search input{flex:1;background:none;border:none;outline:none;font-size:13px;color:var(--text-primary);min-width:0}.explorer-search input::placeholder{color:var(--text-secondary)}.explorer-search-clear{font-size:12px;color:var(--text-secondary);width:16px;height:16px;border-radius:50%;background:#ffffff26;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.explorer-search-clear:hover{background:#ffffff40}.explorer-tree{flex:1;overflow-y:auto;padding:4px 0}.explorer-tree::-webkit-scrollbar{width:4px}.explorer-tree::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.explorer-empty{padding:32px 16px;text-align:center;font-size:13px;color:var(--text-secondary)}.tree-item{display:flex;align-items:center;height:26px;padding-right:8px;cursor:pointer;font-size:13px;color:var(--text-primary);gap:4px;-webkit-user-select:none;user-select:none;transition:background .05s}.tree-item:hover{background:#ffffff0d}.tree-item.selected{background:var(--bg-selected)}.tree-item.multi-selected{background:#f5a62326}.tree-item.multi-selected:hover{background:#f5a62338}.tree-chevron{width:16px;height:16px;flex-shrink:0;transition:transform .15s;opacity:.6}.tree-chevron.expanded{transform:rotate(90deg)}.tree-icon{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.tree-icon-folder{color:var(--accent)}.tree-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-meta{font-size:11px;color:var(--text-secondary);flex-shrink:0;margin-left:auto}.tree-rename-input{flex:1;min-width:0;height:20px;padding:0 4px;font-size:13px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--accent);border-radius:2px;outline:none;font-family:var(--font-system)}.explorer-context-menu{position:fixed;background:#2c2c2e;border-radius:8px;box-shadow:0 4px 20px #00000080,0 0 0 1px #ffffff14;padding:4px;z-index:1000;min-width:160px}.explorer-context-menu button{display:block;width:100%;text-align:left;padding:6px 12px;font-size:13px;color:var(--text-primary);border-radius:4px}.explorer-context-menu button:hover{background:#ffffff14}.context-sep{height:1px;background:var(--border);margin:4px 0}.context-danger{color:#ff453a!important}.resizable-image-wrapper{display:block;line-height:0;margin:8px 0}.resizable-image-container{position:relative;display:inline-block;max-width:100%;line-height:0}.resizable-image-container img{display:block;max-width:100%;height:auto;border-radius:6px;-webkit-user-select:none;user-select:none}.resizable-image-container.selected img{outline:2px solid #f5a623;border-radius:6px}.rh{position:absolute;width:10px;height:10px;background:#fff;border:2px solid #f5a623;border-radius:2px;z-index:10;box-shadow:0 1px 4px #0006}.rh-nw{top:-5px;left:-5px;cursor:nw-resize}.rh-ne{top:-5px;right:-5px;cursor:ne-resize}.rh-se{bottom:-5px;right:-5px;cursor:se-resize}.rh-sw{bottom:-5px;left:-5px;cursor:sw-resize}.rh-n{top:-5px;left:calc(50% - 5px);cursor:n-resize}.rh-s{bottom:-5px;left:calc(50% - 5px);cursor:s-resize}.rh-e{top:calc(50% - 5px);right:-5px;cursor:e-resize}.rh-w{top:calc(50% - 5px);left:-5px;cursor:w-resize}.tiptap-content{outline:none;min-height:500px;color:var(--text-primary, #202124)}.tiptap-content .ProseMirror{outline:none;min-height:500px;line-height:1.65;font-size:16px}.tiptap-content .ProseMirror p{margin:0 0 6px}.tiptap-content .ProseMirror h1{font-size:26px;font-weight:700;margin:0 0 12px;line-height:1.2;letter-spacing:-.5px}.tiptap-content .ProseMirror h2{font-size:20px;font-weight:600;margin:16px 0 8px;letter-spacing:-.3px}.tiptap-content .ProseMirror h3{font-size:17px;font-weight:600;margin:14px 0 6px}.tiptap-content .ProseMirror ul,.tiptap-content .ProseMirror ol{padding-left:22px;margin:4px 0}.tiptap-content .ProseMirror li{margin:2px 0}.tiptap-content .ProseMirror a{color:#f5a623;text-decoration:underline}.tiptap-content .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:4px}.tiptap-content .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px;margin:4px 0}.tiptap-content .ProseMirror ul[data-type=taskList] li>label{flex-shrink:0;margin-top:3px}.tiptap-content .ProseMirror ul[data-type=taskList] li>label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent, #f5a623);cursor:pointer}.tiptap-content .ProseMirror ul[data-type=taskList] li>div{flex:1;min-width:0}.tiptap-content .ProseMirror ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;opacity:.5}.tiptap-content .ProseMirror code{font-family:SF Mono,Fira Code,monospace;font-size:14px;background:#ffffff14;padding:1px 5px;border-radius:4px}.link-preview-node{border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden;display:flex;margin:10px 0;cursor:pointer;text-decoration:none;background:#ffffff0d;transition:background .15s;max-width:480px}.link-preview-node:hover{background:#ffffff14}.link-preview-text{padding:12px 14px;flex:1;min-width:0}.link-preview-title{font-size:14px;font-weight:500;color:var(--text-primary, #fff);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-preview-desc{font-size:12px;color:var(--text-secondary, #8e8e93);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}.link-preview-domain{font-size:11px;color:var(--text-secondary, #8e8e93);display:flex;align-items:center;gap:4px}.link-preview-domain img{width:14px;height:14px}.link-preview-image{width:100px;flex-shrink:0;object-fit:cover}.note-editor{flex:1;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;position:relative}.note-editor-empty{align-items:center;justify-content:center}.note-editor-placeholder{display:flex;flex-direction:column;align-items:center;gap:16px;opacity:.4}.note-editor-placeholder p{font-size:15px;color:var(--text-secondary)}.note-toolbar{display:flex;align-items:flex-start;border-bottom:1px solid var(--border);flex-shrink:0;background:#1d1d1f;padding:4px 8px;gap:4px}.note-toolbar--full .tb-tools{display:flex;flex-wrap:wrap;align-items:center;gap:2px;flex:1;min-width:0}.note-toolbar--compact .tb-tools{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.note-toolbar--compact .tb-tools::-webkit-scrollbar{display:none}.note-toolbar--hidden{padding:4px 8px;justify-content:flex-end}.tb-group{display:flex;align-items:center;gap:1px;flex-shrink:0}.tb-sep{width:1px;height:20px;background:#ffffff1a;margin:0 4px;flex-shrink:0}.tb-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto;padding-left:8px}.tb-btn{width:30px;height:30px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .1s,color .1s;flex-shrink:0;font-size:14px}.tb-btn:hover{background:#ffffff14;color:var(--text-primary)}.tb-btn.active{background:#f5a62333;color:var(--accent)}.tb-btn-sm{width:24px;height:24px}.tb-text-btn{font-size:15px;font-family:var(--font-system)}.tb-dropdown{display:flex;align-items:center;gap:4px;height:30px;padding:0 8px;border-radius:4px;color:var(--text-secondary);font-size:13px;transition:background .1s;white-space:nowrap;flex-shrink:0}.tb-dropdown:hover{background:#ffffff14;color:var(--text-primary)}.tb-dropdown-label{max-width:100px;overflow:hidden;text-overflow:ellipsis}.tb-chev{width:10px;height:10px;flex-shrink:0;opacity:.5}.tb-popup-wrap{position:relative}.tb-popup{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:#2c2c2e;border-radius:10px;box-shadow:0 8px 32px #0009,0 0 0 1px #ffffff14;padding:6px;z-index:300;min-width:140px}.tb-popup-item{display:block;width:100%;text-align:left;padding:6px 10px;border-radius:6px;font-size:13px;color:var(--text-primary);white-space:nowrap}.tb-popup-item:hover{background:#ffffff14}.tb-popup-item.active{background:#f5a62333;color:var(--accent)}.tb-styles-popup{min-width:180px}.tb-font-popup{min-width:160px;max-height:280px;overflow-y:auto}.tb-color-btn{position:relative;flex-direction:column;gap:2px}.tb-color-a{font-size:14px;font-weight:700;line-height:1}.tb-color-bar{width:16px;height:3px;border-radius:1px;flex-shrink:0}.tb-color-popup{min-width:auto;padding:8px}.tb-color-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.tb-color-grid--highlight{grid-template-columns:repeat(7,1fr)}.tb-color-swatch{width:20px;height:20px;border-radius:3px;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:transform .1s;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-secondary)}.tb-color-swatch:hover{transform:scale(1.2)}.tb-color-swatch.active{outline:2px solid var(--accent);outline-offset:1px}.tb-color-none{border-style:dashed}.tb-color-reset{display:block;width:100%;text-align:center;padding:5px;margin-top:6px;font-size:11px;color:var(--text-secondary);border-radius:4px}.tb-color-reset:hover{background:#ffffff14;color:var(--text-primary)}.tb-fontsize-group{gap:0}.tb-fontsize-input{width:34px;height:24px;text-align:center;font-size:12px;color:var(--text-primary);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:3px;outline:none;font-family:var(--font-system);-moz-appearance:textfield}.tb-fontsize-input::-webkit-outer-spin-button,.tb-fontsize-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tb-fontsize-input:focus{border-color:var(--accent);background:#ffffff1a}.tb-link-popup{min-width:260px;padding:10px}.tb-link-input{width:100%;padding:6px 8px;font-size:13px;color:var(--text-primary);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;outline:none;font-family:var(--font-system);margin-bottom:8px}.tb-link-input:focus{border-color:var(--accent)}.tb-link-actions{display:flex;gap:6px}.tb-link-btn{flex:1;padding:5px 10px;font-size:12px;border-radius:6px;color:var(--text-primary);background:#f5a62333;transition:background .1s}.tb-link-btn:hover{background:#f5a62359}.tb-link-remove{background:#ff3b3033;color:#ff3b30}.tb-link-remove:hover{background:#ff3b3059}.note-save-status{font-size:11px;padding-right:4px;white-space:nowrap}.note-saved{color:var(--text-secondary)}.note-saving{color:var(--accent)}.note-content-area{flex:1;overflow-y:auto;padding:32px;max-width:760px}.note-title-input{display:block;width:100%;font-size:28px;font-weight:700;color:var(--text-primary);background:none;border:none;outline:none;padding:0;margin-bottom:8px;letter-spacing:-.5px;font-family:var(--font-system)}.note-title-input::placeholder{color:var(--text-secondary);opacity:.4}.note-timestamps{font-size:12px;color:var(--text-secondary);margin-bottom:20px;display:flex;align-items:center;flex-wrap:wrap;gap:0}.note-timestamp-sep{margin:0 10px;opacity:.3}.note-content-area::-webkit-scrollbar{width:6px}.note-content-area::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}@media(max-width:768px){.note-content-area{padding:24px}.tb-dropdown-label{max-width:70px}}@media(max-width:480px){.note-content-area{padding:16px;max-width:100%}.note-title-input{font-size:24px}.note-timestamps{flex-direction:column;gap:2px}.note-timestamp-sep{display:none}.note-toolbar{padding:4px 6px}}.panel-divider{width:var(--divider-hit, 9px);cursor:col-resize;flex-shrink:0;position:relative;z-index:10;margin:0 -2px}.panel-divider:after{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:1px;background:var(--border);transition:background .15s,width .15s}.panel-divider:hover:after,.panel-divider:active:after{width:3px;background:var(--accent);border-radius:2px}body.panel-resizing{cursor:col-resize!important;user-select:none!important;-webkit-user-select:none!important}body.panel-resizing .tiptap-content,body.panel-resizing .ProseMirror,body.panel-resizing iframe{pointer-events:none!important}body.panel-resizing .explorer-panel{transition:none!important}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg);overflow:hidden;padding-top:calc(44px + env(safe-area-inset-top,0px))}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;padding-top:env(safe-area-inset-top,0px);height:calc(44px + env(safe-area-inset-top,0px));background:#1d1d1f;border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0;z-index:200}.app-topbar-left{display:flex;align-items:center;gap:6px}.cycle-btn{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);background:#ffffff0f;transition:background .15s,transform .1s;flex-shrink:0}.cycle-btn svg{width:16px;height:16px}.cycle-btn:hover{background:#ffffff1f}.cycle-btn:active{transform:scale(.92)}.cycle-btn.syncing svg{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cycle-btn:disabled{color:var(--text-secondary);opacity:.35;cursor:default;pointer-events:none}.app-topbar-logo{display:flex;align-items:center;color:var(--accent)}.app-topbar-logo svg{width:20px;height:20px}.app-topbar-brand-stack{display:flex;flex-direction:column;line-height:1;gap:1px}.app-topbar-brand{font-size:17px;font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.app-topbar-brand-accent{font-size:10px;font-weight:500;color:var(--accent);letter-spacing:.5px;text-transform:lowercase}.app-topbar-right{display:flex;align-items:center;gap:6px}.app-topbar-btn{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent)}.app-topbar-btn svg{width:20px;height:20px}.app-topbar-btn:hover{background:#ffffff14}.app-topbar-save-status{font-size:11px;color:var(--text-secondary);white-space:nowrap}.app-topbar-account{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--text-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.app-topbar-account svg{width:18px;height:18px}.app-topbar-account:hover{border-color:var(--text-primary);color:var(--text-primary)}.app-body{display:flex;flex:1;overflow:hidden;position:relative}.app-body--phone>.note-editor{flex:1;width:100%;max-width:100%;min-width:0}.app-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;top:calc(44px + env(safe-area-inset-top,0px));background:#00000080;z-index:199}.app-mobile-sidebar{position:fixed;left:0;top:calc(44px + env(safe-area-inset-top,0px));bottom:0;width:min(280px,80vw);z-index:200;display:flex;flex-direction:column;box-shadow:4px 0 24px #0009}.app-mobile-sidebar .explorer-panel{width:100%!important;max-width:100%!important;min-width:0!important;flex:1}.app-topbar-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;cursor:pointer;border:1.5px solid transparent;transition:border-color .15s}.app-topbar-avatar:hover{border-color:var(--accent)}.auth-loading{width:100vw;height:100vh;background:var(--bg)}.auth-page{width:100vw;height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center}.auth-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 40px;background:var(--bg-panel);border-radius:16px;border:1px solid var(--border);min-width:320px;box-shadow:0 8px 32px #0006}.auth-logo{color:var(--accent);width:48px;height:48px}.auth-logo svg{width:48px;height:48px}.auth-title{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px;margin:0}.auth-subtitle{font-size:13px;color:var(--text-secondary);margin:0 0 8px}.auth-google-btn{display:flex;align-items:center;gap:10px;padding:10px 20px;background:#fff;color:#3c4043;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:background .15s,box-shadow .15s;box-shadow:0 1px 4px #0000004d;margin-top:4px}.auth-google-btn:hover{background:#f5f5f5;box-shadow:0 2px 8px #0006}.auth-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.auth-welcome{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.auth-invite-form{display:flex;gap:8px;margin-top:4px}.auth-invite-input{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:15px;font-family:SF Mono,Fira Code,monospace;letter-spacing:2px;color:var(--text-primary);width:160px;text-align:center;outline:none;transition:border-color .15s}.auth-invite-input:focus{border-color:var(--accent)}.auth-invite-btn{background:var(--accent);color:#000;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.auth-invite-btn:hover{opacity:.85}.auth-invite-btn:disabled{opacity:.4;cursor:default}.auth-error{font-size:13px;color:#ff6b6b;margin:0}.admin-panel-wrapper{position:relative}.admin-panel{position:absolute;top:38px;right:0;width:320px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #00000080;z-index:300;overflow:hidden}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-primary)}.admin-panel-close{color:var(--text-secondary);font-size:14px;line-height:1;padding:2px 4px;border-radius:4px;transition:color .15s}.admin-panel-close:hover{color:var(--text-primary)}.admin-generate-btn{display:block;width:calc(100% - 24px);margin:10px 12px 4px;padding:8px 12px;background:var(--accent);color:#000;border-radius:8px;font-size:13px;font-weight:600;text-align:center;transition:opacity .15s}.admin-generate-btn:hover{opacity:.85}.admin-generate-btn:disabled{opacity:.4;cursor:default}.admin-invite-list{max-height:260px;overflow-y:auto;padding:4px 0 8px}.admin-empty{font-size:12px;color:var(--text-secondary);text-align:center;padding:16px;margin:0}.admin-invite-row{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;gap:8px;border-bottom:1px solid rgba(255,255,255,.04)}.admin-invite-row:last-child{border-bottom:none}.admin-invite-row.used{opacity:.5}.admin-invite-info{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-invite-code{font-family:SF Mono,Fira Code,monospace;font-size:13px;font-weight:600;color:var(--accent);letter-spacing:1px}.admin-invite-status{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.admin-invite-status.unused{color:#4ade80}.admin-invite-actions{display:flex;gap:6px;flex-shrink:0}.admin-invite-copy,.admin-invite-revoke{font-size:11px;padding:4px 8px;border-radius:6px;font-weight:500;transition:background .15s}.admin-invite-copy{background:#ffffff14;color:var(--text-primary)}.admin-invite-copy:hover{background:#ffffff24}.admin-invite-revoke{background:#ff50501f;color:#ff6b6b}.admin-invite-revoke:hover{background:#ff505038}:root{--bg: #1c1c1e;--bg-panel: #252527;--bg-hover: #3a3a3c;--bg-selected: #3d3d3f;--bg-input: #3a3a3c;--accent: #f5a623;--text-primary: #ffffff;--text-secondary: #8e8e93;--border: rgba(255,255,255,.08);--font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--sidebar-w: 280px;--sidebar-min: 200px;--sidebar-max: 400px;--divider-hit: 9px;--editor-min: 300px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-system);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}input,textarea{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{background:#f5a6234d}
