*{margin:0;padding:0;box-sizing:border-box}body{font-family:Spectral,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#212121}button,input,optgroup,select,textarea{font-family:inherit}#root{min-height:100vh}.app-container{min-height:100vh;padding:80px 20px 60px}.toolbar{position:fixed;top:0;left:0;right:0;background:#fff;padding:8px 16px;box-shadow:0 1px 6px #00000014;display:flex;align-items:center;z-index:1000;transition:opacity .3s ease,transform .3s ease;gap:4px}.toolbar.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.toolbar-section{display:flex;align-items:center;gap:4px;flex-shrink:0}.toolbar-section.toolbar-scroll{overflow-x:auto;overflow-y:hidden;flex-shrink:1;scrollbar-width:none;-ms-overflow-style:none}.toolbar-section.toolbar-scroll::-webkit-scrollbar{display:none}.toolbar-button{background:transparent;border:none;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#555;transition:all .15s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;flex-shrink:0}.toolbar-button .material-icons{font-size:18px}.toolbar-button:hover{background:#f0f0f0}.toolbar-button:active{background:#e0e0e0}.toolbar-button.active{background:#e8f0fe;color:#1a73e8}.toolbar-button:disabled{opacity:.3;cursor:not-allowed}.toolbar-divider{width:1px;height:20px;background:#e0e0e0;margin:0 2px;flex-shrink:0}.toolbar-select,.font-family-select{background:transparent;border:1px solid transparent;padding:4px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:#555;transition:all .15s ease;outline:none;height:32px;flex-shrink:0}.toolbar-select:hover,.font-family-select:hover{background:#f0f0f0}.toolbar-select:focus,.font-family-select:focus{border-color:#1a73e8;background:#fff}.doc-title-btn{font-family:Spectral,serif;font-size:15px;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-input{font-family:Spectral,serif;font-size:15px;font-weight:500;border:1px solid #1a73e8;border-radius:6px;padding:4px 8px;outline:none;width:180px;height:32px;color:#212121;background:#fff}.editor-container{max-width:800px;margin:0 auto;background:#fff;min-height:calc(100vh - 140px);padding:60px;border-radius:8px;box-shadow:0 1px 4px #0000000f}.tiptap-wrapper .tiptap{outline:none;line-height:1.7;min-height:400px;color:#212121}.tiptap-wrapper .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#aaa;float:left;height:0;pointer-events:none}.tiptap-wrapper .tiptap h1{font-size:2em;font-weight:700;margin:1em 0 .4em;line-height:1.2}.tiptap-wrapper .tiptap h2{font-size:1.5em;font-weight:600;margin:.8em 0 .3em;line-height:1.3}.tiptap-wrapper .tiptap h3{font-size:1.2em;font-weight:600;margin:.6em 0 .2em;line-height:1.4}.tiptap-wrapper .tiptap p{margin-bottom:.6em}.tiptap-wrapper .tiptap ul,.tiptap-wrapper .tiptap ol{padding-left:1.5em;margin-bottom:.6em}.tiptap-wrapper .tiptap li{margin-bottom:.2em}.tiptap-wrapper .tiptap img{max-width:100%;height:auto;border-radius:4px;margin:.8em 0;cursor:default}.tiptap-wrapper .tiptap img.ProseMirror-selectednode{outline:2px solid #1a73e8;border-radius:4px}.tiptap-wrapper .tiptap blockquote{border-left:3px solid #ddd;padding-left:1em;margin:.8em 0;color:#666}.tiptap-wrapper .tiptap mark{border-radius:2px;padding:0 2px}.tiptap-wrapper .tiptap code{background:#f5f5f5;padding:2px 4px;border-radius:3px;font-size:.9em;font-family:SF Mono,Fira Code,monospace}.tiptap-wrapper .tiptap s{text-decoration:line-through;color:#999}.word-count-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #f0f0f0;padding:6px 24px;font-size:12px;color:#999;display:flex;gap:6px;z-index:999;opacity:0;transition:opacity .3s ease}.word-count-bar:hover{opacity:1}.wc-divider{color:#ddd}.find-replace-panel{position:fixed;top:52px;right:20px;background:#fff;border-radius:10px;box-shadow:0 4px 20px #0000001f;padding:12px;z-index:1001;width:380px;display:flex;flex-direction:column;gap:8px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.find-replace-row{display:flex;align-items:center;gap:6px}.find-input-wrap{flex:1;display:flex;align-items:center;background:#f5f5f5;border-radius:6px;padding:0 8px;border:1px solid transparent;transition:border-color .15s}.find-input-wrap:focus-within{border-color:#1a73e8;background:#fff}.find-icon{font-size:18px;color:#999;margin-right:6px}.find-input{flex:1;border:none;background:transparent;padding:8px 0;font-size:13px;outline:none;color:#212121}.match-count{font-size:11px;color:#999;white-space:nowrap;margin-left:6px}.find-toggle{background:transparent;border:1px solid #ddd;border-radius:4px;padding:6px 8px;font-size:12px;font-weight:600;cursor:pointer;color:#999;transition:all .15s}.find-toggle.active{background:#e8f0fe;color:#1a73e8;border-color:#1a73e8}.find-close{background:none;border:none;cursor:pointer;padding:4px;color:#999;display:flex;border-radius:4px}.find-close:hover{background:#f0f0f0;color:#212121}.find-close .material-icons{font-size:18px}.find-action-btn{background:transparent;border:1px solid #ddd;border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;color:#555;transition:all .15s;white-space:nowrap}.find-action-btn:hover:not(:disabled){background:#f0f0f0;border-color:#bbb}.find-action-btn:disabled{opacity:.3;cursor:not-allowed}.image-modal{max-width:440px}.image-tabs{display:flex;gap:0;margin-bottom:20px;background:#f5f5f5;border-radius:8px;padding:4px}.image-tab{flex:1;padding:8px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:13px;color:#666;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.image-tab.active{background:#fff;color:#212121;box-shadow:0 1px 3px #00000014;font-weight:500}.image-drop-zone{border:2px dashed #ddd;border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s;color:#999}.image-drop-zone:hover{border-color:#1a73e8;background:#fafcff}.image-drop-zone p{margin-top:8px;font-size:14px}.image-preview-container{position:relative;border-radius:8px;overflow:hidden;border:1px solid #eee}.image-preview{width:100%;max-height:200px;object-fit:contain;background:#f9f9f9}.image-preview-remove{position:absolute;top:8px;right:8px;background:#0009;color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-preview-remove .material-icons{font-size:16px}.fab-container{position:fixed;bottom:40px;left:24px;z-index:1000;display:flex;flex-direction:column;gap:12px;transition:opacity .3s ease,transform .3s ease}.fab-container.hidden{opacity:0;pointer-events:none;transform:translateY(10px)}.fab{width:48px;height:48px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 8px #0000001f;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#555}.fab .material-icons{font-size:20px}.fab:hover{background:#f5f5f5;transform:scale(1.08);box-shadow:0 4px 12px #0000002e}.fab-menu{position:absolute;bottom:60px;left:0;background:#fff;border-radius:10px;box-shadow:0 4px 20px #0000001f;overflow:hidden;animation:slideUp .2s ease;min-width:200px}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fab-menu-item{width:100%;padding:12px 16px;background:#fff;border:none;text-align:left;cursor:pointer;font-size:13px;color:#444;transition:background .15s ease;border-bottom:1px solid #f5f5f5;display:flex;align-items:center;gap:10px}.fab-menu-item .material-icons{font-size:18px;color:#888}.fab-menu-item:last-child{border-bottom:none}.fab-menu-item:hover{background:#f5f5f5}.app-container[data-dark-mode=true]{background-color:#1a1a1a}.app-container[data-dark-mode=true] .toolbar{background:#2a2a2a;box-shadow:0 1px 6px #0000004d}.app-container[data-dark-mode=true] .toolbar-button{color:#ccc}.app-container[data-dark-mode=true] .toolbar-button:hover{background:#3a3a3a}.app-container[data-dark-mode=true] .toolbar-button.active{background:#1a3a5c;color:#8ab4f8}.app-container[data-dark-mode=true] .toolbar-divider{background:#444}.app-container[data-dark-mode=true] .toolbar-select,.app-container[data-dark-mode=true] .font-family-select{color:#ccc}.app-container[data-dark-mode=true] .toolbar-select:hover,.app-container[data-dark-mode=true] .font-family-select:hover{background:#3a3a3a}.app-container[data-dark-mode=true] .toolbar-select:focus,.app-container[data-dark-mode=true] .font-family-select:focus{border-color:#8ab4f8;background:#2a2a2a}.app-container[data-dark-mode=true] .toolbar-select option,.app-container[data-dark-mode=true] .font-family-select option{background:#2a2a2a;color:#ccc}.app-container[data-dark-mode=true] .title-input{background:#333;border-color:#8ab4f8;color:#e0e0e0}.app-container[data-dark-mode=true] .doc-title-btn{color:#ccc}.app-container[data-dark-mode=true] .color-picker-dropdown{background:#333;box-shadow:0 4px 16px #0006}.app-container[data-dark-mode=true] .editor-container{background:#2a2a2a;box-shadow:0 1px 4px #0000004d}.app-container[data-dark-mode=true] .tiptap-wrapper .tiptap{color:#e0e0e0}.app-container[data-dark-mode=true] .tiptap-wrapper .tiptap p.is-editor-empty:first-child:before{color:#666}.app-container[data-dark-mode=true] .tiptap-wrapper .tiptap blockquote{border-left-color:#555;color:#aaa}.app-container[data-dark-mode=true] .tiptap-wrapper .tiptap code{background:#3a3a3a;color:#e0e0e0}.app-container[data-dark-mode=true] .tiptap-wrapper .tiptap s{color:#777}.app-container[data-dark-mode=true] .word-count-bar{background:#2a2a2a;border-top-color:#444;color:#777}.app-container[data-dark-mode=true] .wc-divider{color:#555}.app-container[data-dark-mode=true] .find-replace-panel{background:#2a2a2a;box-shadow:0 4px 20px #0006}.app-container[data-dark-mode=true] .find-input-wrap{background:#333}.app-container[data-dark-mode=true] .find-input-wrap:focus-within{border-color:#8ab4f8;background:#2a2a2a}.app-container[data-dark-mode=true] .find-input{color:#e0e0e0}.app-container[data-dark-mode=true] .find-toggle{border-color:#555;color:#999}.app-container[data-dark-mode=true] .find-toggle.active{background:#1a3a5c;color:#8ab4f8;border-color:#8ab4f8}.app-container[data-dark-mode=true] .find-action-btn{border-color:#555;color:#ccc}.app-container[data-dark-mode=true] .find-action-btn:hover:not(:disabled){background:#3a3a3a}.app-container[data-dark-mode=true] .find-close{color:#999}.app-container[data-dark-mode=true] .find-close:hover{background:#3a3a3a;color:#e0e0e0}.app-container[data-dark-mode=true] .fab{background:#333;color:#ccc;box-shadow:0 2px 8px #0000004d}.app-container[data-dark-mode=true] .fab:hover{background:#444;box-shadow:0 4px 12px #0006}.app-container[data-dark-mode=true] .fab-menu{background:#2a2a2a;box-shadow:0 4px 20px #0006}.app-container[data-dark-mode=true] .fab-menu-item{background:#2a2a2a;color:#ccc;border-bottom-color:#3a3a3a}.app-container[data-dark-mode=true] .fab-menu-item:hover{background:#3a3a3a}@media print{.toolbar,.fab-container,.word-count-bar,.find-replace-panel{display:none!important}.app-container{padding:0;background:#fff!important}.editor-container{box-shadow:none;max-width:100%;padding:20px}.tiptap-wrapper .tiptap{color:#000!important}}.file-manager{max-width:1400px;margin:0 auto;text-align:center;padding:128px;min-height:100vh;box-sizing:border-box}.fm-header{margin-bottom:60px}.fm-header h1{font-family:Spectral,serif;font-size:32px;font-weight:500;color:#212121;margin-bottom:12px}.fm-header p{font-family:Spectral,serif;font-size:18px;color:#666}.fm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:32px;padding:0 20px}.fm-card{aspect-ratio:1;background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:24px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;justify-content:space-between;align-items:center;position:relative;box-shadow:0 2px 4px #00000005}.fm-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000014;border-color:#bdbdbd}.new-card{justify-content:center;gap:16px}.plus-icon{font-size:64px;font-weight:300;line-height:1;color:#212121}.card-label{font-family:Spectral,serif;font-size:16px;color:#212121;width:100%;text-align:center;border-top:1px solid transparent;padding-top:12px;margin-top:12px;display:flex;justify-content:space-between;align-items:center}.doc-card .card-label{border-top-color:#efefef}.doc-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;cursor:default}.rename-input{font-family:Spectral,serif;font-size:14px;border:1px solid #1a73e8;border-radius:4px;padding:4px 8px;outline:none;width:120px;color:#212121}.card-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.doc-date{font-size:11px;color:#aaa;white-space:nowrap}.card-preview{width:100%;flex:1;position:relative;background:#fff;padding:8px;overflow:hidden;display:block}.preview-content{transform:scale(.4);transform-origin:top left;width:250%;height:250%;pointer-events:none;font-family:Spectral,serif;font-size:16px;color:#212121;text-align:left;padding:12px;background:#fff;white-space:pre-wrap}.preview-content p{margin-bottom:.5em}.preview-content img{max-width:100%;height:auto}.delete-btn{background:none;border:none;font-size:20px;color:#aaa;cursor:pointer;padding:0 4px;line-height:1;border-radius:4px}.delete-btn:hover{color:#f44336;background:#ffebee}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:#fff;padding:32px;border-radius:12px;width:100%;max-width:400px;box-shadow:0 8px 32px #00000026}.modal-content h2{font-family:Spectral,serif;margin-bottom:24px;color:#212121}.modal-input{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:6px;font-size:16px;margin-bottom:24px;outline:none;transition:border-color .2s;font-family:Spectral,serif;box-sizing:border-box}.modal-input:focus{border-color:#1a73e8}.modal-buttons{display:flex;justify-content:flex-end;gap:12px}.modal-button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-button.primary{background:#212121;color:#fff;border:none}.modal-button.primary:hover{background:#424242}.modal-button.primary:disabled{background:#e0e0e0;cursor:not-allowed}.modal-button.secondary{background:transparent;border:1px solid transparent;color:#666}.modal-button.secondary:hover{color:#212121;background:#f5f5f5}.modal-divider{display:flex;align-items:center;margin:24px 0;color:#aaa;font-size:12px;gap:12px}.modal-divider:before,.modal-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.modal-button.outline{background:#fff;border:1px solid #e0e0e0;color:#212121;width:100%;margin-top:0}.modal-button.outline:hover{border-color:#212121;background:#fafafa}@media(max-width:900px){.toolbar{flex-wrap:nowrap;overflow-x:auto;gap:2px;padding:6px 10px}.toolbar-section.toolbar-scroll{flex-shrink:1;min-width:0}.editor-container{padding:30px 20px}.find-replace-panel{right:10px;left:10px;width:auto}}@media(max-width:768px){.file-manager{padding:64px 20px}.fm-header{margin-bottom:40px}.fm-header h1{font-size:24px}.fm-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;padding:0}.fm-card{padding:16px}}@media(max-width:480px){.app-container{padding:64px 10px 50px}.editor-container{padding:20px 16px}.fab-container{bottom:36px;left:16px}.doc-title-btn{max-width:100px}.title-input{width:100px}}
