:root{--bg:#ffffff;--bg-subtle:#f7f7f8;--bg-sidebar:#fafafa;--border:#e6e6e8;--text:#1f2328;--text-muted:#6b7280;--accent:#2f6fed;--accent-soft:#eef3ff;--danger:#d64545;--radius:8px;--font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Roboto,Helvetica,Arial,sans-serif;--font-content:"Source Han Serif SC","Noto Serif CJK SC",Georgia,"Songti SC","SimSun",serif}@media (prefers-color-scheme:dark){:root{--bg:#1e1f22;--bg-subtle:#232529;--bg-sidebar:#191a1d;--border:#303237;--text:#e6e6e6;--text-muted:#9aa0a6;--accent:#6f9bff;--accent-soft:#24304a;--danger:#ff6b6b}}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.splash{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-muted);font-size:14px}.splash-logo{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-weight:700;font-size:22px;color:#fff;background:linear-gradient(160deg,#2f6fed,#123f9c);box-shadow:0 8px 24px rgba(47,111,237,.28)}.app{height:100dvh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.brand{display:flex;align-items:center;gap:8px;padding:16px 16px 12px}.brand-mark{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(160deg,#2f6fed,#123f9c)}.brand-name{font-weight:650;font-size:15px;letter-spacing:.2px}.brand-badge{font-size:10px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:99px;padding:2px 7px;margin-left:auto}.new-doc{margin:0 12px 10px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:13px;font-weight:550;transition:background .15s,border-color .15s}.new-doc:hover{background:var(--accent-soft);border-color:var(--accent)}.doc-list{flex:1 1;overflow-y:auto;padding:4px 8px 12px;display:flex;flex-direction:column;gap:2px;min-height:0}.empty-hint{color:var(--text-muted);font-size:12px;padding:8px 10px;margin:0}.doc-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:7px;font-size:13px;color:var(--text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.doc-item:hover{background:rgba(127,127,127,.1)}.doc-item.active{background:var(--accent-soft);color:var(--accent);font-weight:550}.doc-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-delete{border:0;background:transparent;color:var(--text-muted);font-size:15px;line-height:1;padding:0 2px;opacity:0;border-radius:4px}.doc-item.active .doc-delete,.doc-item:hover .doc-delete{opacity:1}.doc-delete:hover{color:var(--danger)}.account{display:flex;align-items:center;gap:9px;padding:12px;border-top:1px solid var(--border)}.account-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(160deg,#6b8cff,#3453c4);flex:none}.account-meta{min-width:0;display:flex;flex-direction:column}.account-email{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-hint{font-size:10px}.account-hint,.logout{color:var(--text-muted)}.logout{margin-left:auto;border:1px solid var(--border);background:transparent;font-size:11px;padding:4px 8px;border-radius:6px}.logout:hover{color:var(--danger);border-color:var(--danger)}.main{flex-direction:column;min-width:0;min-height:0}.main,.toolbar{display:flex;background:var(--bg)}.toolbar{align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border)}.title-input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--text);font-size:15px;font-weight:600;padding:4px 2px;outline:none}.title-input:focus{border-bottom:1px solid var(--accent)}.toolbar-actions{display:flex;align-items:center;gap:8px}.save-state{font-size:11px;color:var(--text-muted);white-space:nowrap}.save-state.offline{color:#d97706}.save-state.conflict{color:#dc2626}.conflict-bar{background:rgba(220,38,38,.08);border-bottom:1px solid rgba(220,38,38,.25)}.conflict-bar,.session-bar{display:flex;align-items:center;gap:10px;padding:8px 18px;font-size:12px;color:var(--text)}.session-bar{background:rgba(217,119,6,.1);border-bottom:1px solid rgba(217,119,6,.3)}.conflict-bar button,.session-bar button{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:12px;padding:5px 10px;border-radius:6px}.editor-loading{flex:1 1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.toolbar-actions button{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:12px;padding:6px 11px;border-radius:6px}.toolbar-actions button:hover{border-color:var(--accent);color:var(--accent)}.editor-shell{flex:1 1;min-height:0;overflow:hidden;display:flex}.muya-host{flex:1 1;min-width:0;overflow-y:auto;padding:28px 32px 120px}.muya-host .muya{max-width:820px;margin:0 auto;font-family:var(--font-content);font-size:16px;line-height:1.75;color:var(--text)}.editor-error{max-width:640px;margin:40px auto;color:var(--danger);font-size:13px}.empty-state{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);text-align:center;padding:24px}.empty-state h1{color:var(--text);font-size:26px;margin:0}.primary{border:0;background:var(--accent);color:#fff;font-size:13px;font-weight:600;padding:9px 18px;border-radius:var(--radius)}.primary:hover{filter:brightness(1.06)}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 480px at 50% -10%,rgba(47,111,237,.12),transparent 70%),var(--bg-subtle)}.login-card{width:min(420px,100%);background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:30px 28px;box-shadow:0 18px 48px rgba(15,23,42,.09)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.login-brand h1{font-size:19px;margin:0;letter-spacing:.2px}.login-brand p{margin:3px 0 0;font-size:12px;color:var(--text-muted)}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:3px;margin-bottom:20px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:9px}.mode-tabs button{border:0;background:transparent;color:var(--text-muted);font-size:13px;font-weight:550;padding:7px 0;border-radius:7px}.mode-tabs button.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(15,23,42,.08)}.auth-form{gap:14px}.auth-form,.auth-form label{display:flex;flex-direction:column}.auth-form label{gap:6px;font-size:12px;color:var(--text-muted)}.auth-form input{border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:14px;padding:10px 12px;outline:none}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.divider{display:flex;align-items:center;gap:10px;margin:18px 0 12px;font-size:11px;color:var(--text-muted)}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.ghost-button{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-size:13px;font-weight:550;color:var(--text);background:var(--bg-subtle)}.ghost-button:hover{border-color:var(--accent);color:var(--accent)}.sso-button{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(160deg,#2f6fed,#1a4fd0);box-shadow:0 8px 20px rgba(47,111,237,.25)}.sso-button:disabled{opacity:.65;cursor:progress}.sso-dot{width:8px;height:8px;border-radius:50%;background:#fff;opacity:.85}.login-error{margin:14px 0 0;font-size:12px;color:var(--danger);line-height:1.5;word-break:break-word}.login-foot{margin:20px 0 0;font-size:11px;color:var(--text-muted);line-height:1.6}@media (max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.sidebar{max-height:42dvh}.muya-host{padding:18px 16px 100px}.save-state{display:none}}