.tiptap{outline:none;min-height:60vh}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:hsl(var(--muted-foreground) / .6);pointer-events:none;height:0}.tiptap>*+*{margin-top:.85em}.tiptap h1{font-size:2.1rem;font-weight:800;line-height:1.15;margin-top:1.6em;letter-spacing:-.02em}.tiptap h2{font-size:1.6rem;font-weight:700;line-height:1.2;margin-top:1.4em;letter-spacing:-.015em}.tiptap h3{font-size:1.25rem;font-weight:700;line-height:1.3;margin-top:1.2em}.tiptap h4{font-size:1.1rem;font-weight:700;line-height:1.35;margin-top:1.1em}.tiptap h5{font-size:1rem;font-weight:700;line-height:1.4;margin-top:1em;text-transform:uppercase;letter-spacing:.02em}.tiptap h6{font-size:.9rem;font-weight:700;line-height:1.4;margin-top:1em;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground))}.tiptap p{font-size:1.0625rem;line-height:1.75;color:hsl(var(--foreground))}.tiptap a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px}.tiptap ul{list-style:disc;padding-left:1.4rem}.tiptap ol{list-style:decimal;padding-left:1.4rem}.tiptap li>p{margin:0}.tiptap blockquote{border-left:3px solid hsl(var(--primary));padding:.25rem 0 .25rem 1rem;font-style:italic;color:hsl(var(--muted-foreground))}.tiptap code{background:hsl(var(--muted));padding:.15rem .35rem;border-radius:4px;font-size:.9em}.tiptap pre{background:hsl(var(--muted));border-radius:12px;padding:1rem;overflow-x:auto}.tiptap pre code{background:transparent;padding:0}.tiptap img{border-radius:12px;max-width:100%;height:auto;margin:1.5rem 0}.tiptap hr{border:none;border-top:1px solid hsl(var(--border));margin:2rem 0}.tiptap mark{background:hsl(var(--primary) / .18);padding:0 .2rem;border-radius:3px}.tiptap table{width:100%;border-collapse:collapse;margin:1rem 0;border:1px solid hsl(var(--border))}.tiptap th,.tiptap td{border:1px solid hsl(var(--border));padding:.6rem .8rem;vertical-align:top}.tiptap th{background:hsl(var(--muted));font-weight:600;text-align:left}.slash-menu{background:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 18px 48px -16px #00000040;width:260px;max-height:320px;overflow-y:auto;padding:6px}.slash-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;font-size:.875rem;text-align:left;cursor:pointer}.slash-item:hover,.slash-item[data-selected=true]{background:hsl(var(--accent))}.slash-item-icon{width:32px;height:32px;display:grid;place-items:center;background:hsl(var(--muted));border-radius:6px}.slash-item-title{font-weight:600}.slash-item-desc{font-size:11px;color:hsl(var(--muted-foreground))}.bubble-toolbar{display:flex;gap:2px;padding:4px;background:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:10px;box-shadow:0 10px 30px -12px #0000004d}.bubble-btn{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;color:hsl(var(--foreground))}.bubble-btn:hover{background:hsl(var(--accent))}.bubble-btn[data-active=true]{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.prose-article{max-width:72ch;margin-left:auto;margin-right:auto;color:hsl(var(--foreground));font-size:clamp(1rem,.95rem + .3vw,1.125rem);line-height:1.8}.prose-article>*+*{margin-top:1.1em}.prose-article h1{font-size:clamp(1.9rem,1.4rem + 2.2vw,2.6rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;margin:2.2rem 0 1rem;scroll-margin-top:100px}.prose-article h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2rem);font-weight:700;line-height:1.2;letter-spacing:-.015em;margin:2.25rem 0 .75rem;scroll-margin-top:100px}.prose-article h3{font-size:clamp(1.2rem,1.05rem + .7vw,1.45rem);font-weight:700;line-height:1.3;margin:1.75rem 0 .5rem;scroll-margin-top:100px}.prose-article h4{font-size:clamp(1.05rem,.98rem + .4vw,1.2rem);font-weight:700;line-height:1.35;margin:1.5rem 0 .5rem;scroll-margin-top:100px}.prose-article h5{font-size:1rem;font-weight:700;margin:1.25rem 0 .5rem;text-transform:uppercase;letter-spacing:.04em}.prose-article h6{font-size:.9rem;font-weight:700;margin:1.25rem 0 .5rem;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground))}.prose-article p{margin:1rem 0}.prose-article a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose-article a:hover{text-decoration-thickness:2px}.prose-article strong{font-weight:700;color:hsl(var(--foreground))}.prose-article ul{list-style:disc;padding-left:1.4rem;margin:1rem 0}.prose-article ol{list-style:decimal;padding-left:1.4rem;margin:1rem 0}.prose-article li{margin:.4rem 0;line-height:1.75}.prose-article li>p{margin:.25rem 0}.prose-article blockquote{border-left:4px solid hsl(var(--primary));padding:.75rem 1.25rem;margin:1.75rem 0;font-style:italic;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .4);border-radius:0 8px 8px 0;font-size:1.05em}.prose-article code{background:hsl(var(--muted));padding:.15rem .4rem;border-radius:4px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.prose-article pre{background:hsl(var(--muted));border-radius:12px;padding:1.25rem;overflow-x:auto;margin:1.75rem 0;font-size:.92em;line-height:1.6}.prose-article pre code{background:transparent;padding:0}.prose-article img{border-radius:14px;max-width:100%;height:auto;margin:2rem auto;display:block;box-shadow:0 14px 40px -16px #00000040}.prose-article figure{margin:2rem 0}.prose-article figure figcaption{text-align:center;font-size:.9rem;color:hsl(var(--muted-foreground));margin-top:.5rem}.prose-article hr{border:none;border-top:1px solid hsl(var(--border));margin:2.5rem 0}.prose-article mark{background:hsl(var(--primary) / .18);padding:0 .25rem;border-radius:3px}.prose-article table{width:100%;border-collapse:collapse;margin:1.75rem 0;border:1px solid hsl(var(--border));border-radius:8px;overflow:hidden;font-size:.95em;display:block;overflow-x:auto}.prose-article th,.prose-article td{border:1px solid hsl(var(--border));padding:.75rem 1rem;vertical-align:top}.prose-article th{background:hsl(var(--muted));font-weight:600;text-align:left}@media(max-width:640px){.prose-article{line-height:1.7}.prose-article blockquote{padding:.5rem .9rem;margin:1.25rem 0}.prose-article img{margin:1.25rem auto;border-radius:10px}}
