/* Block editor affordances (TipTap). Stored-content styles live in content.css. */
/* Notion-style block editor */
.ne-scroll{flex:1;overflow-y:auto;min-height:0}
.ne-page{max-width:760px;margin:0 auto;padding:56px 72px 30vh}
.ne-icon{font-size:64px;line-height:1;background:none;border:0;padding:4px;border-radius:8px;cursor:pointer;margin-left:-4px}
.ne-icon:hover{background:var(--hover)}
.ne-addicon{background:none;border:0;color:var(--sage);font-size:13px;padding:4px 6px;border-radius:6px;cursor:pointer;opacity:0;transition:opacity .15s;margin-left:-6px}
.ne-page:hover .ne-addicon{opacity:1}
.ne-addicon:hover{background:var(--hover);color:var(--moss)}
.ne-title{display:block;width:100%;font:700 40px/1.2 Inter,system-ui,sans-serif;color:var(--ink);border:0;outline:none;padding:6px 0 4px;margin:4px 0 14px;resize:none;overflow:hidden;background:none}
.ne-title::placeholder{color:#c7ccc0}
.ne{position:relative}
.ne-doc{outline:none;min-height:40vh;padding-bottom:40px}
.ne-doc p.is-empty::before,.ne-doc h1.is-empty::before,.ne-doc h2.is-empty::before,.ne-doc h3.is-empty::before,.ne-doc summary.is-empty::before{content:attr(data-placeholder);color:#b7bdb0;pointer-events:none;float:left;height:0}
.ne-doc .ProseMirror-selectednode{outline:none;background:rgba(69,85,127,.1);border-radius:4px}
.ne-doc ::selection{background:rgba(69,85,127,.2)}
.ne-doc a[href]{cursor:pointer}
.ne-doc .ProseMirror-gapcursor{position:relative}
.ne-doc div[data-type="callout"]::before{display:none}
.ne-doc .callout-ic{cursor:pointer;flex:0 0 auto;font-size:1.15em;line-height:1.4;user-select:none;border-radius:4px}
.ne-doc .callout-ic:hover{background:rgba(0,0,0,.06)}
.ne-doc .callout-body{flex:1;min-width:0}
.ne-doc .callout-body>*{margin:0}
/* toggle node view: div.toggle > button + div > summary, detailsContent */
.ne-doc div[data-type="details"]{display:flex;gap:2px;margin:.5em 0}
.ne-doc div[data-type="details"]>button{flex:0 0 auto;width:22px;height:22px;margin-top:.2em;border:0;background:none;border-radius:4px;cursor:pointer;color:var(--moss);font-size:12px;display:flex;align-items:center;justify-content:center;padding:0}
.ne-doc div[data-type="details"]>button:hover{background:var(--hover)}
.ne-doc div[data-type="details"]>button::before{content:"▸";transition:transform .12s;display:inline-block}
.ne-doc div[data-type="details"].is-open>button::before{transform:rotate(90deg)}
.ne-doc div[data-type="details"]>div{flex:1;min-width:0}
.ne-doc div[data-type="details"] summary{list-style:none;padding:0;font-weight:500}
.ne-doc div[data-type="details"] summary::before{content:none}
.ne-doc div[data-type="details"] summary::-webkit-details-marker{display:none}
.ne-doc div[data-type="detailsContent"]{padding-left:0}
.ne-doc div[data-type="details"]:not(.is-open)>div>div[data-type="detailsContent"]{display:none}
.ne-doc table{display:table}
.ne-doc .selectedCell{background:rgba(69,85,127,.08)}
/* inline comments, toc placeholder, uploads, dates (editor-only looks) */
.ne-doc span[data-comment]{background:rgba(255,212,0,.14);border-bottom:2px solid rgba(255,196,0,.8);cursor:pointer}
.ne-doc nav[data-type="toc"]:empty::before{content:"Add headings to create a table of contents";color:#b7bdb0}
.ne-doc .ne-upload{display:block;padding:10px 12px;margin:8px 0;border-radius:6px;background:rgba(55,53,47,.06);color:#787774;font-size:14px}
.ne-doc time[data-type="date"]{cursor:pointer}

/* block selection (blue), drag & drop, flash */
.ne-doc .ne-blocksel{background:rgba(35,131,226,.14);border-radius:4px;box-shadow:0 0 0 2px rgba(35,131,226,.14)}
.ne-doc .ne-blocksel .ne-blocksel{background:none;box-shadow:none}
.ne-doc.ne-blocksel-on{caret-color:transparent}
.ne-doc.ne-blocksel-on ::selection{background:transparent}
.ne .prosemirror-dropcursor-block{border-radius:2px;pointer-events:none}
.ne.ne-sidedrop>.prosemirror-dropcursor-block,.ne.ne-sidedrop>.prosemirror-dropcursor-inline{display:none}
.ne-colind{position:absolute;width:4px;background:#2383e2;border-radius:2px;pointer-events:none;z-index:6}
@keyframes ne-flash{0%,35%{background:rgba(255,212,0,.42)}100%{background:rgba(255,212,0,0)}}
.ne-doc .ne-flash{animation:ne-flash 1.2s ease-out;border-radius:4px}

.ne-handle{display:flex;align-items:center;gap:0;position:absolute;z-index:5;transition:opacity .1s}
.ne-handle button{border:0;background:none;color:#aab0a3;width:22px;height:24px;border-radius:4px;cursor:pointer;font-size:15px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}
.ne-handle .ne-h-grip{cursor:grab;font-size:12px;letter-spacing:-2px;width:18px}
.ne-handle button:hover{background:var(--hover);color:var(--moss)}
.ne-handle[data-dragging="true"] .ne-h-grip{cursor:grabbing}

/* read-only (locked page): no handles; links and comments stay clickable */
.ne-readonly .ne-handle,.ne-readonly .ne-colind{display:none!important}
.ne-readonly .ne-doc{caret-color:transparent}

/* slash + inline suggestion menus (rendered by the content extensions) */
.slash-menu{position:fixed;z-index:1000;width:290px;max-height:340px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 32px rgba(24,32,26,.16),0 1px 3px rgba(24,32,26,.08);padding:6px}
.slash-head{font-size:11px;color:var(--sage);padding:6px 8px 4px;font-weight:500}
.slash-empty{color:var(--sage);padding:8px;font-size:13px}
.slash-it{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:14px;color:var(--ink)}
.slash-it.sel{background:var(--hover)}
.slash-ic{width:30px;height:30px;flex:0 0 30px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--moss);background:var(--surface)}
.slash-ic img{width:100%;height:100%;object-fit:cover;border-radius:5px}
.slash-t{flex:1}
.slash-k{color:var(--sage);font-size:12px;font-family:"SF Mono",ui-monospace,Menlo,monospace}

/* selection bubble */
.ne-bubble{position:fixed;top:0;left:0;width:max-content;display:flex;align-items:center;gap:1px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(24,32,26,.14);padding:3px;z-index:1000}
.ne-b{border:0;background:none;min-width:28px;height:28px;border-radius:5px;cursor:pointer;color:var(--moss);font-size:14px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center}
.ne-b:hover{background:var(--hover)}
.ne-b.on{color:#2383e2}
.ne-b.ne-turn{font:500 13px Inter,system-ui,sans-serif;padding:0 7px;white-space:nowrap}
.ne-caret{font-size:9px;opacity:.55;margin-left:4px}
.ne-a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ne-sep{width:1px;align-self:stretch;background:var(--line);margin:3px 3px}

/* link hover toolbar */
.ne-linkbar{position:fixed;z-index:1001;display:flex;align-items:center;gap:1px;max-width:min(460px,calc(100vw - 16px));background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(24,32,26,.14);padding:3px}
.ne-lurl{flex:1;min-width:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sage);font-size:13px;padding:0 8px;text-decoration:none}
.ne-lurl:hover{color:var(--moss);text-decoration:underline}
.ne-lb{border:0;background:none;height:26px;padding:0 8px;border-radius:5px;cursor:pointer;color:var(--moss);font:500 13px Inter,system-ui,sans-serif;white-space:nowrap}
.ne-lb:hover{background:var(--hover)}
