@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:Inter,Avenir Next,sans-serif;color:#111827;background-color:#f8f7f4;line-height:1.45;--ink: #111827;--soft-ink: #6b7280;--mint: #2563eb;--mint-2: #2563eb;--panel: #ffffff;--edge: #e5e7eb;--editor-text: #111827;--editor-placeholder: #9ca3af}html.dark{--ink: #f9fafb;--soft-ink: #9ca3af;--panel: #1a1a1a;--edge: #2a2a2a;--editor-text: #f9fafb;--editor-placeholder: #6b7280;background:#0f0f0f}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f8f7f4;color:var(--ink)}html.dark body{background:#0f0f0f}#root{min-height:100vh}.app-shell{max-width:1200px;margin:0 auto;padding:1.75rem 1rem 2.2rem;animation:fade-up .42s ease-out}.app-header{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1.35rem}.header-actions{display:flex;align-items:center;gap:.6rem}.title-wrap{max-width:650px}.app-kicker{margin:0;text-transform:uppercase;font-size:.68rem;letter-spacing:.13em;color:var(--mint);font-weight:700}.app-header h1{margin:.35rem 0 0;font-size:clamp(1.45rem,2.8vw,2.25rem);line-height:1.1}.app-subtitle{margin:.5rem 0 0;color:var(--soft-ink);font-size:.92rem}.room-chip{background:#eff6ff;color:#1d4ed8;padding:.52rem .88rem;border-radius:999px;font-size:.8rem;font-weight:600;box-shadow:none}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem}.sidebar-stack{display:flex;flex-direction:column;gap:.9rem;position:sticky;top:1rem;height:fit-content}.editor-panel{min-width:0}.editor-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.title-input{width:min(100%,520px);padding:.45rem .62rem;border:1px solid var(--edge);border-radius:8px;font-size:1.125rem;font-weight:600;background:#fff;color:#111827;border-color:#e5e7eb}html.dark .title-input{background:#1f2937;color:#f9fafb;border-color:#374151}.title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f629}.toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin-bottom:.75rem;padding:.35rem;border:1px solid var(--edge);border-radius:12px;background:#ffffffbf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow:visible;position:relative}html.dark .toolbar{background:#111827;border-color:#374151}.toolbar-group{display:inline-flex;gap:.45rem;flex-wrap:wrap}.toolbar-menu-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;justify-content:flex-start}.toolbar-menu-summary{margin-left:auto;font-size:.78rem;color:var(--text-muted);white-space:nowrap}.toolbar-menu-button{display:inline-flex;align-items:center;gap:.45rem;height:34px;padding:0 .8rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.toolbar-menu-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--primary)}.toolbar-menu-button.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.toolbar-menu-panel{width:min(760px,100%);max-width:760px;align-self:flex-start;display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md)}.toolbar-section{display:flex;flex-direction:column;gap:.4rem}.toolbar-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.toolbar-grid-2,.toolbar-grid-3,.toolbar-grid-4{display:grid;gap:.5rem}.toolbar-grid-2{grid-template-columns:repeat(2,minmax(120px,1fr))}.toolbar-grid-3{grid-template-columns:repeat(3,minmax(120px,1fr))}.toolbar-grid-4{grid-template-columns:repeat(4,minmax(120px,1fr))}.toolbar-grid-2 .toolbar-icon-btn,.toolbar-grid-3 .toolbar-icon-btn,.toolbar-grid-4 .toolbar-icon-btn,.toolbar-grid-2 .toolbar-menu-button,.toolbar-grid-3 .toolbar-menu-button,.toolbar-grid-4 .toolbar-menu-button{width:100%;justify-content:center;min-height:40px;height:auto;padding:.55rem .45rem;border-radius:10px;flex-direction:column;gap:.2rem;font-size:11px}.toolbar-grid-2 button span,.toolbar-grid-3 button span,.toolbar-grid-4 button span{line-height:1}.toolbar-grid-2 button svg,.toolbar-grid-3 button svg,.toolbar-grid-4 button svg{flex-shrink:0}.toolbar-section .toolbar-select{width:100%;height:38px;border-radius:10px}.toolbar-section .toolbar-select.small{max-width:120px}.toolbar-divider{width:1px;height:24px;background:#d7e3dd}.toolbar-icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #b3ccc1;background:#fff;color:#173529;border-radius:8px;cursor:pointer;transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}html.dark .toolbar-icon-btn{background:#1f2937;color:#d1d5db;border-color:#374151}html.dark .toolbar-icon-btn:hover:not(:disabled){background:#374151;box-shadow:none}.toolbar-icon-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 14px #1846341f;border-color:#8fb8a7}.toolbar-icon-btn.active{background:#eaf3ff;color:#2563eb;border-color:#b8d2fb}.toolbar-icon-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn{border:1px solid #b3ccc1;background:#fff;color:#173529;border-radius:9px;padding:.45rem .7rem;font-weight:600;cursor:pointer;transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease}.toolbar-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 14px #1846341f;border-color:#8fb8a7}.toolbar-btn.active{background:linear-gradient(135deg,#1f7a57,#2ea170);color:#fff;border-color:#1f7a57}.toolbar-btn:disabled{opacity:.6;cursor:not-allowed}.toolbar-status{margin-left:auto;font-size:.79rem;color:#456e5d;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:999px;background:#eef5f1;border:1px solid #cbe0d5}.toolbar-status.connected{color:#1f704f}.status-dot{width:8px;height:8px;border-radius:999px;background:#d4a21f}.toolbar-status.connected .status-dot{background:#1f9a66;box-shadow:0 0 0 5px #1f9a6624}.editor-card{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:2rem;min-height:65vh;box-shadow:0 14px 36px #122d2417}html.dark .editor-card{background:#1f2937;border-color:#374151;box-shadow:none}.editor-content{min-height:58vh;outline:none;font-size:1.03rem;letter-spacing:.01em}.ProseMirror{color:var(--editor-text);min-height:58vh}.ProseMirror p.is-editor-empty:first-child:before{content:"Start writing or paste content here...";float:left;color:var(--editor-placeholder);pointer-events:none;height:0}.bottom-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.65rem;margin-top:.6rem;padding:.55rem .65rem 0;border-top:1px solid var(--edge);font-size:.78rem;color:#5b6f66}.bottom-bar span:nth-child(2){text-align:center;font-weight:600}.bottom-bar span:last-child{text-align:right;font-weight:600}.editor-content p{margin:0 0 .75rem}.presence-panel{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:.9rem;box-shadow:0 12px 30px #112a2214;height:fit-content}html.dark .presence-panel{background:#111827;border-color:#374151;box-shadow:none}.revision-panel{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:.9rem;box-shadow:0 12px 30px #112a2214;display:flex;flex-direction:column;max-height:calc(100vh - 190px);overflow:hidden}html.dark .revision-panel{background:#111827;border-color:#374151;box-shadow:none}.panel-title-row{display:flex;align-items:center;gap:.45rem;margin-bottom:.65rem}.panel-title-row h2{margin:0;font-size:1rem}.panel-count{font-size:.75rem;font-weight:700;line-height:1;padding:.2rem .45rem;border-radius:999px;background:#e8f6ef;color:#1c7754}.revision-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.revision-list{list-style:none;margin:0;padding:0 4px 0 0;display:flex;flex-direction:column;gap:.55rem;overflow-y:auto;max-height:calc(100vh - 300px)}.revision-list::-webkit-scrollbar{width:8px}.revision-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}html.dark .revision-list::-webkit-scrollbar-thumb{background:#4b5563}.revision-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem;border-radius:8px;background:#f2f8f5;transition:transform .12s ease,box-shadow .14s ease}.revision-item:hover{transform:translateY(-1px);box-shadow:0 7px 16px #13362a14}.revision-row .revision-restore-btn{opacity:0;pointer-events:none;transition:opacity .14s ease}.revision-row:hover .revision-restore-btn{opacity:1;pointer-events:auto}.skeleton-row{height:52px;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 37%,#f3f4f6 63%);background-size:400% 100%;animation:shimmer 1.2s infinite}html.dark .skeleton-row{background:#374151;animation:pulse 1.2s infinite}.revision-error-wrap{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0 0 .5rem}.revision-summary{margin:0;font-size:.84rem;font-weight:600}.revision-meta{margin:0;font-size:.75rem;color:#5b6f66}.revision-error{margin:0 0 .5rem;font-size:.78rem;font-weight:600;color:#c0392b}.presence-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.presence-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .45rem;border-radius:8px;background:#f2f8f5;transition:transform .12s ease;animation:slide-in-right .18s ease-out}html.dark .presence-item:hover{background:#1f2937}.presence-name{font-size:.875rem;font-weight:500;color:#1f2937}html.dark .presence-name{color:#f3f4f6}.toast-viewport{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:60}.toast{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:250px;padding:.65rem .75rem;border:1px solid var(--edge);border-radius:10px;background:#fff;box-shadow:0 1px 3px #00000014}.toast p{margin:0;font-size:.84rem;font-weight:600}.toast button{border:0;background:transparent;color:#6b7280;cursor:pointer;font-size:.75rem}.toast-success{border-color:#10b981}.toast-error{border-color:#ef4444}.toast-info{border-color:#2563eb}.toast-warning{border-color:#f59e0b}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes slide-in-right{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@media (max-width: 1024px){.app-shell{padding:1rem .75rem 1.4rem}.editor-grid{grid-template-columns:1fr}.sidebar-stack{position:static}}:root{--primary: #2563eb;--primary-light: #eff6ff;--primary-dark: #1d4ed8;--bg-page: #f0eee9;--bg-surface: #ffffff;--bg-hover: #f9fafb;--border: #e5e7eb;--border-focus: #2563eb;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}.dark{--bg-page: #0d0d0d;--bg-surface: #1a1a1a;--bg-hover: #242424;--border: #2a2a2a;--text-primary: #f9fafb;--text-secondary: #9ca3af;--text-muted: #6b7280;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5)}body{font-family:Inter,sans-serif;background:var(--bg-page);color:var(--text-primary)}.app-shell{max-width:none;padding:0}.editor-header{position:fixed;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:100}.header-left,.header-right{display:flex;align-items:center;gap:8px}.brand-icon{width:32px;height:32px;border-radius:10px;background:var(--primary);color:#fff;display:grid;place-items:center}.brand-title{font-size:18px;font-weight:700}.brand-divider{width:1px;height:20px;background:var(--border)}.header-title-input{max-width:260px;border:1px solid transparent;background:transparent;padding:6px 8px;font-weight:600;font-size:16px;color:var(--text-primary);border-radius:var(--radius-sm)}.header-title-input:focus{outline:none;border-color:var(--border-focus);background:var(--bg-surface)}.header-btn,.icon-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.icon-btn{width:36px;padding:0;justify-content:center;border-radius:50%}.header-btn:hover,.icon-btn:hover{background:var(--primary);color:#fff}.avatar-stack{display:flex;align-items:center}.header-editing-indicator{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-secondary);padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface)}.header-editing-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--primary-light);color:var(--primary-dark);font-weight:700}.avatar-pill,.avatar-overflow{width:32px;height:32px;border-radius:50%;border:2px solid #fff;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600;box-shadow:var(--shadow-sm)}.avatar-overflow{background:#6b7280;margin-left:-8px}.room-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--primary);color:#fff}.premium-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 280px;gap:12px;padding:110px 12px 44px;min-height:100vh}.left-sidebar,.right-sidebar{display:flex;flex-direction:column;gap:10px}.side-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px;box-shadow:var(--shadow-sm)}.side-card h3{margin:0 0 8px;font-size:14px}.side-card p,.side-card li,.side-card small{color:var(--text-secondary);font-size:12px}.side-actions{display:flex;flex-direction:column;gap:6px}.side-actions button,.accordion-header{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-sm);padding:8px;cursor:pointer;font-weight:500}.accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.main-editor-column .toolbar{position:sticky;top:60px;z-index:99;min-height:48px;overflow:visible;background:var(--bg-surface);border-color:var(--border)}.toolbar-row{display:flex;align-items:center;gap:6px;padding:8px;flex-wrap:wrap;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface)}.toolbar-group{display:inline-flex;align-items:center;gap:4px;padding-right:6px;margin-right:2px;border-right:1px solid var(--border)}.toolbar-group:last-child{border-right:0;padding-right:0;margin-right:0}.toolbar-inline-label{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--text-secondary);padding:0 6px}.toolbar-tool-btn{height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-surface);color:var(--text-primary);font-size:11px;font-weight:600;cursor:pointer;transition:border-color .14s ease,background .14s ease}.toolbar-tool-btn:hover:not(:disabled){border-color:#9ca3af;background:var(--bg-hover)}.toolbar-tool-btn.active{background:var(--primary-light);border-color:#93c5fd;color:var(--primary-dark)}.toolbar-tool-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-group-text .toolbar-select{height:30px;font-size:11px;border-radius:7px}.main-editor-column .editor-card{padding:56px 72px;min-height:calc(100vh - 230px);background:#eef1f5;box-shadow:var(--shadow-md)}html.dark .main-editor-column .editor-card{background:#111827}.editor-frame-header{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:12px}.editor-frame-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.editor-page-frame{margin:0 auto;position:relative;background:#fff;border:1px solid #d1d5db;box-shadow:0 10px 24px #0f172a14;padding:18px 20px;transition:width .18s ease}html.dark .editor-page-frame{background:#0f172a;border-color:#374151;box-shadow:none}.editor-page-frame.page-size-fluid{max-width:800px;width:min(100%,800px);min-height:58vh}.editor-page-frame.page-size-a4{width:min(100%,794px);min-height:1123px}.editor-page-frame.page-size-letter{width:min(100%,816px);min-height:1056px}.main-editor-column{max-width:980px;width:100%;margin:0 auto}.word-count-bar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:10px;font-size:12px;color:var(--text-muted)}.status-bar{position:fixed;left:0;right:0;bottom:0;height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg-surface);border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);z-index:101}.export-menu{position:fixed;right:120px;top:62px;display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:120}.export-menu button{border:0;text-align:left;padding:8px;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer}.export-menu button:hover{background:var(--bg-hover)}.badge-connected,.badge-connecting,.badge-waking,.badge-offline{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:600}.badge-connected{background:#ecfdf5;border-color:#bbf7d0;color:#15803d}.badge-waking{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.badge-connecting{background:#fefce8;border-color:#fde68a;color:#a16207}.badge-offline{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.badge-offline button{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font-weight:700}.dot{width:8px;height:8px;border-radius:50%;background:currentColor}.pulse{animation:pulse 1s infinite}.bounce{animation:bounce 1s infinite}.ring{width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.waking-banner{position:fixed;top:60px;left:0;right:0;padding:8px;text-align:center;background:#eff6ff;border-bottom:1px solid #bfdbfe;color:#1d4ed8;font-size:13px;z-index:98}.chat-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:8px;position:relative}.chat-msg{background:var(--bg-hover);border-radius:var(--radius-sm);padding:8px}.chat-msg.self{margin-left:auto;background:var(--primary-light);max-width:90%}.chat-msg p{margin:4px 0 0;font-size:14px;line-height:1.4;color:var(--text-primary)}.chat-meta{display:flex;justify-content:space-between;gap:8px}.chat-meta small{color:var(--text-muted)}.chat-input-row{display:flex;gap:6px;border-top:1px solid var(--border);padding-top:8px}.chat-input-row textarea{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);min-height:40px;padding:8px;font-family:inherit;font-size:14px;resize:vertical}.chat-input-row button{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface);color:var(--primary);cursor:pointer}.chat-counter{display:block;text-align:right;color:var(--text-muted)}.unread-dot{background:var(--danger);color:#fff;border-radius:999px;padding:1px 6px;font-size:10px}.cursor-strip{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.cursor-strip span{border-left:3px solid var(--primary);background:var(--bg-hover);border-radius:var(--radius-sm);padding:4px 8px;font-size:11px;color:var(--text-secondary)}.remote-cursor-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40}.local-cursor-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:41}.remote-cursor-marker{position:absolute;transform:translate(-1px);min-width:1px;max-width:220px;white-space:nowrap;font-size:11px;font-weight:700}.remote-cursor-line{display:block;width:2px;height:1.2em;border-radius:999px;box-shadow:0 0 0 3px #ffffff80}.remote-cursor-label{position:absolute;top:-22px;left:4px;display:inline-flex;align-items:center;padding:.2rem .45rem;border-radius:999px;color:#fff;box-shadow:0 8px 18px #00000029}.local-cursor-marker{position:absolute;transform:translate(-1px);min-width:1px;max-width:220px;white-space:nowrap;font-size:11px;font-weight:700;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.local-cursor-line{display:block;width:2px;height:1.2em;border-radius:999px;box-shadow:0 0 0 3px #fff9}.local-cursor-label{position:absolute;top:-22px;left:4px;display:inline-flex;align-items:center;padding:.2rem .45rem;border-radius:999px;color:#fff;box-shadow:0 8px 18px #00000029}.template-picker{margin-top:16px;padding-top:8px;border-top:1px dashed var(--border)}.template-picker h3{margin:0 0 8px;font-size:14px;color:var(--text-secondary)}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.template-card{text-align:left;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-md);padding:10px;min-height:100px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.template-card:hover{border-color:var(--primary);transform:scale(1.02)}.template-emoji{font-size:18px}.template-card strong{color:var(--text-primary);font-size:13px}.template-card small{color:var(--text-muted);font-size:11px}.template-dismiss{margin-top:8px;border:0;background:transparent;color:var(--primary);cursor:pointer;font-weight:600;padding:0}.slash-menu{position:absolute;width:260px;max-height:280px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:6px;z-index:130}.slash-item{width:100%;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;border:0;background:transparent;padding:7px;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.slash-item small{color:var(--text-muted)}.slash-item:hover,.slash-item.active{background:var(--bg-hover)}.toast{min-width:280px;max-width:360px;border-left-width:4px;animation:toast-in .18s ease-out}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:var(--primary)}.toast-warning{border-left-color:var(--warning)}.toast-icon{display:inline-flex;align-items:center}.toast-close{border:0;background:transparent;cursor:pointer;color:var(--text-muted)}.toolbar-select{height:32px;border:1px solid var(--border);border-radius:8px;padding:0 8px;font-size:12px;background:var(--bg-surface);color:var(--text-primary)}.toolbar-select.small{width:62px}.toolbar-popover-anchor{position:relative}.toolbar-popover{position:absolute;top:36px;left:0;z-index:150;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:8px;width:220px}.toolbar-popover p{margin:0 0 6px;font-size:11px;font-weight:600;color:var(--text-secondary)}.toolbar-color-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.toolbar-color-grid button{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);cursor:pointer}.toolbar-color-grid button.transparent{background-image:linear-gradient(135deg,#ef4444,#ef4444 45%,#fff 45%,#fff 55%,#ef4444 55%,#ef4444)}.toolbar-color-custom{display:flex;align-items:center;gap:8px;margin-top:8px}.toolbar-color-custom input{width:32px;height:24px;padding:0;border:0;background:transparent}.toolbar-color-custom button{border:1px solid var(--border);border-radius:8px;height:28px;padding:0 8px;background:var(--bg-surface);color:var(--text-primary);cursor:pointer;font-size:12px}.import-modal-card{max-width:540px;gap:12px}.import-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.import-tabs button{border:1px solid var(--border);height:36px;border-radius:10px;background:var(--bg-surface);cursor:pointer;color:var(--text-primary);font-size:12px;font-weight:600}.import-tabs button.active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.import-dropzone{border:1px dashed var(--border);border-radius:12px;min-height:120px;display:grid;place-items:center;gap:8px;text-align:center;padding:16px;color:var(--text-secondary);cursor:pointer}.import-dropzone input{display:none}.import-gdocs-box{display:flex;flex-direction:column;gap:6px}.import-gdocs-box label{font-size:12px;font-weight:600;color:var(--text-secondary)}.import-gdocs-box input{height:40px;border-radius:10px;border:1px solid var(--border);padding:0 12px;font-size:13px;background:var(--bg-surface);color:var(--text-primary)}.import-gdocs-box small{font-size:11px;color:var(--text-muted)}.import-progress{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.import-modal-actions{display:flex;justify-content:flex-end;gap:8px}.import-modal-actions button{height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;font-weight:600}.import-modal-actions button:last-child{background:#2563eb;color:#fff;border-color:#1d4ed8}.import-modal-actions button:disabled{opacity:.6;cursor:wait}.import-supports{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width: 1024px){.editor-header{height:auto;min-height:60px;padding:8px}.header-left .brand-title{display:none}.header-title-input{max-width:160px}.premium-layout{grid-template-columns:1fr;padding-top:92px}.left-sidebar,.right-sidebar{display:none}.main-editor-column .toolbar{overflow-x:auto}.main-editor-column .editor-card{padding:24px 20px}.toolbar-row{flex-wrap:nowrap;overflow-x:auto}.editor-page-frame.page-size-a4,.editor-page-frame.page-size-letter,.editor-page-frame.page-size-fluid{width:100%;min-height:58vh}.status-bar{font-size:10px}}.join-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:200;padding:16px}.join-modal-card{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:40px;box-shadow:0 18px 50px #11182740;display:flex;flex-direction:column;gap:8px}.join-modal-icon{width:48px;height:48px;border-radius:50%;background:#dbeafe;color:#2563eb;display:grid;place-items:center;margin-bottom:6px}.join-modal-card h1{margin:0;font-size:1.5rem;font-weight:700;color:#111827}.join-modal-card p{margin:0 0 8px;color:#6b7280}.join-modal-card label{margin-top:6px;font-size:12px;font-weight:600;color:#374151}.join-modal-card input{height:44px;border-radius:10px;border:1px solid #d1d5db;padding:0 12px;font-size:14px;outline:none}.join-modal-card input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.join-modal-helper{color:#6b7280;font-size:11px;margin-top:2px}.join-modal-error{color:#dc2626;font-size:11px}.join-modal-colors{margin-top:8px;display:flex;flex-direction:column;gap:8px}.join-modal-colors span{font-size:12px;font-weight:600;color:#374151}.join-modal-colors>div{display:flex;gap:8px}.join-modal-colors button{width:28px;height:28px;border-radius:50%;border:2px solid transparent;color:#fff;display:grid;place-items:center;cursor:pointer}.join-modal-colors button.selected{border-color:#111827}.join-modal-submit{margin-top:10px;height:44px;border:0;border-radius:10px;background:#2563eb;color:#fff;font-weight:600;cursor:pointer}.join-modal-submit:disabled{background:#9ca3af;cursor:not-allowed}.join-modal-submit:not(:disabled):hover{background:#1d4ed8}.join-modal-footer{margin-top:4px;text-align:center;color:#6b7280;font-size:11px}.profile-anchor{position:relative}.profile-pill{border:1px solid var(--border);background:var(--bg-surface);height:36px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);cursor:pointer}.profile-avatar{width:24px;height:24px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}.profile-popover{position:absolute;top:42px;left:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:6px;z-index:130}.profile-popover button{border:0;background:transparent;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--text-primary);white-space:nowrap}.profile-popover button:hover{background:var(--bg-hover)}.chat-empty-state{min-height:180px;display:grid;place-items:center;text-align:center;color:var(--text-muted);gap:4px}.chat-empty-state p{margin:0;font-size:13px;color:var(--text-secondary)}.chat-empty-state small{font-size:11px}.chat-msg{display:flex;gap:8px;align-items:flex-start;max-width:92%}.chat-msg.self{margin-left:auto;flex-direction:row-reverse;background:transparent}.chat-body{padding:8px 12px;border-radius:12px 12px 12px 2px;background:#f3f4f6;max-width:100%;position:relative}.chat-msg.self .chat-body{border-radius:12px 12px 2px;background:#dbeafe}.dark .chat-body{background:#1f2937}.dark .chat-msg.self .chat-body{background:#2563eb47}.chat-body strong{display:block;font-size:11px;font-weight:600;margin-bottom:2px}.chat-body p{margin:0;font-size:13px;line-height:1.35;white-space:pre-wrap;word-break:break-word}.chat-body small{margin-top:4px;display:block;font-size:10px;color:var(--text-muted);text-align:right}.chat-avatar{width:28px;height:28px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;flex-shrink:0}.chat-reactions-picker{display:flex;gap:4px;margin-top:6px}.chat-reactions-picker button{border:1px solid var(--border);background:var(--bg-surface);border-radius:999px;padding:1px 6px;cursor:pointer}.chat-reactions-row{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}.chat-reactions-row span{border:1px solid var(--border);border-radius:999px;padding:1px 6px;font-size:11px;background:var(--bg-surface)}.chat-disconnected-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1118278c;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:grid;place-items:center;text-align:center;gap:8px;color:#fff;border-radius:10px}.chat-disconnected-overlay button{border:0;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600;background:#2563eb;color:#fff;cursor:pointer}.presence-item:hover{transform:translate(2px)}.presence-avatar{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 0 0 2px #fffc}.presence-meta{display:flex;align-items:center;gap:.35rem;min-width:0}.presence-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presence-you{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .35rem;border-radius:999px;background:#e3f4ec;color:#1f7a57}.presence-empty{color:#5e6f67;font-size:.84rem}.collaboration-cursor__caret{border-left-width:2px;border-left-style:solid;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative}.collaboration-cursor__label{border-radius:6px 6px 6px 0;color:#fff;font-size:.72rem;left:-1px;line-height:1;padding:.15rem .35rem;position:absolute;top:-1.3em;-webkit-user-select:none;user-select:none;white-space:nowrap}@media (max-width: 920px){.app-shell{padding-top:1.2rem}.editor-grid{grid-template-columns:1fr}.sidebar-stack{position:static}.room-chip{font-size:.78rem}.toolbar-status{margin-left:0;width:100%;justify-content:center}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
