:root{--bg:#fafafa;--bg-elevated:#fff;--fg:#000;--fg-secondary:#666;--fg-tertiary:#999;--border:#eaeaea;--border-strong:#ddd;--hover:#f5f5f5;--hover-strong:#f0f0f0;--accent:#000;--danger:#e00;--ok:#0070f3;--radius:6px;--radius-lg:8px;--nav-w:240px;--bottom-nav-h:0px;--safe-bottom:env(safe-area-inset-bottom,0px);--font-ui:"Geist Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--transition:.15s ease}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none}button:disabled{opacity:.5;cursor:not-allowed}.btn{border-radius:var(--radius);height:32px;transition:background var(--transition), border-color var(--transition), color var(--transition), opacity var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.btn-primary{background:var(--fg);color:#fff;border-color:var(--fg)}.btn-primary:hover:not(:disabled){background:#333;border-color:#333}.btn-secondary,.btn-soft{background:var(--bg-elevated);color:var(--fg);border-color:var(--border)}.btn-secondary:hover:not(:disabled),.btn-soft:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong)}.btn-ghost{color:var(--fg-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--hover);color:var(--fg)}.btn-danger-soft{background:var(--bg-elevated);color:var(--danger);border:1px solid var(--border)}.btn-danger-soft:hover:not(:disabled){background:#fff5f5;border-color:#ffc9c9}.input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);width:100%;height:36px;color:var(--fg);transition:border-color var(--transition);outline:none;padding:0 10px}.input::placeholder{color:var(--fg-tertiary)}.input:focus{border-color:var(--fg)}.toast{z-index:1000;border-radius:var(--radius);background:var(--fg);color:#fff;border:1px solid var(--fg);padding:10px 14px;font-size:13px;animation:.16s toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.ProseMirror{min-height:320px;font-family:var(--font-ui);color:var(--fg);outline:none;font-size:15px;line-height:1.7}.ProseMirror p{margin:.55em 0}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{letter-spacing:-.02em;margin:1.25em 0 .4em;font-weight:600;line-height:1.3}.ProseMirror h1{font-size:1.6rem}.ProseMirror h2{font-size:1.25rem}.ProseMirror h3{font-size:1.05rem}.ProseMirror blockquote{border-left:2px solid var(--border-strong);color:var(--fg-secondary);margin:.8em 0;padding:0 0 0 12px}.ProseMirror code{font-family:var(--font-mono);background:var(--hover);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;font-size:.86em}.ProseMirror pre{font-family:var(--font-mono);color:#ededed;border-radius:var(--radius);background:#000;border:1px solid #000;padding:12px 14px;font-size:12.5px;overflow-x:auto}.ProseMirror pre code{color:inherit;background:0 0;border:none;padding:0}.ProseMirror img{border-radius:var(--radius);border:1px solid var(--border);max-width:100%}.ProseMirror ul,.ProseMirror ol{padding-left:1.35em}.ProseMirror a{color:var(--fg);text-underline-offset:2px;text-decoration:underline}.ProseMirror p.is-editor-empty:first-child:before{color:var(--fg-tertiary);content:attr(data-placeholder);float:left;pointer-events:none;height:0}@media (width<=768px){:root{--nav-w:0px;--bottom-nav-h:calc(56px + env(safe-area-inset-bottom,0px))}.toast{bottom:calc(16px + var(--bottom-nav-h))}}
