/* ==========================================================================
   Bloom Wiki — scoped styles (.bloom-wiki root)
   v1.3 — themed like Wikipedia: light, flat, super simple.
   White content, pale-gray sidebar, serif page titles with a hairline rule,
   blue links, RED links for pages that don't exist yet (just like Wikipedia).
   Everything is namespaced so it can drop into admin.html untouched.
   ========================================================================== */
.bloom-wiki{
  --wk-sidebar:#f8f9fa;        /* Wikipedia's pale gray */
  --wk-border:#a2a9b1;         /* their border gray */
  --wk-border-lt:#c8ccd1;
  --wk-line:#eaecf0;           /* hairlines inside content */
  --wk-ink:#202122;
  --wk-ink-soft:#54595d;
  --wk-link:#3366cc;           /* wikipedia blue */
  --wk-link-bg:#eaf3ff;
  --wk-red:#d33;               /* wikipedia red link */
  --wk-serif:'Linux Libertine',Georgia,'Times New Roman',serif;
  --wk-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  display:grid; grid-template-columns:248px 1fr; gap:0;
  min-height:520px; height:100%; overflow:hidden;
  border:1px solid var(--wk-border-lt);
  background:#fff; color:var(--wk-ink);
  font-family:var(--wk-sans); font-size:14px;
}
.bloom-wiki *{box-sizing:border-box}

/* ---- sidebar ---- */
.bloom-wiki .w-side{background:var(--wk-sidebar);border-right:1px solid var(--wk-border-lt);
  display:flex;flex-direction:column;min-height:0}
.bloom-wiki .w-side-head{padding:14px 14px 10px;border-bottom:1px solid var(--wk-border-lt)}
.bloom-wiki .w-brand{font-family:var(--wk-serif);font-size:19px;color:var(--wk-ink);
  display:flex;align-items:center;gap:8px;margin:0 0 10px;cursor:pointer;user-select:none}
.bloom-wiki .w-brand:hover{color:var(--wk-link)}
.bloom-wiki .w-brand .flower{font-size:18px}
.bloom-wiki .w-search{width:100%;padding:6px 10px;border-radius:2px;
  border:1px solid var(--wk-border);background:#fff;
  color:var(--wk-ink);font-family:var(--wk-sans);font-size:13.5px}
.bloom-wiki .w-search:focus{outline:none;border-color:var(--wk-link);box-shadow:inset 0 0 0 1px var(--wk-link)}
.bloom-wiki .w-search::placeholder{color:var(--wk-ink-soft)}
.bloom-wiki .w-tree{flex:1;overflow:auto;padding:8px 6px 14px}

/* pinned Home (like Wikipedia's "Main page") */
.bloom-wiki .w-home{display:block;width:100%;text-align:left;border:none;background:none;
  cursor:pointer;font-family:var(--wk-sans);font-size:14px;font-weight:bold;
  color:var(--wk-link);padding:6px 10px;margin:0 0 6px;border-bottom:1px solid var(--wk-border-lt)}
.bloom-wiki .w-home:hover{text-decoration:underline}
.bloom-wiki .w-home.active{color:var(--wk-ink);text-decoration:none;cursor:default}

/* ---- page tree (v1.5 redesign — built to look expandable) ----------------
   Every page is a full-width row. Parents carry a big rotating chevron in a
   fixed 22px column; leaves show a small dot in the same column so rows line
   up. Children sit in an indented .w-kids box with a connector line running
   down from the parent's chevron. Collapsed parents show a count badge, so
   "there's more inside" is visible even before you touch anything.
   Clicking a row opens the page AND unfolds its sub-pages. */
.bloom-wiki .w-node{margin:1px 0}
.bloom-wiki .w-kids{margin-left:18px;padding-left:7px;border-left:1px solid var(--wk-border-lt)}
.bloom-wiki .w-page{display:flex;align-items:center;gap:6px;width:100%;text-align:left;
  padding:6px 8px;border:none;background:none;cursor:pointer;border-radius:4px;
  color:var(--wk-link);font-family:var(--wk-sans);font-size:14px;line-height:1.4;min-height:31px}
.bloom-wiki .w-page:hover{background:var(--wk-link-bg)}
.bloom-wiki .w-page:hover .w-ptitle{text-decoration:underline}
.bloom-wiki .w-page.active{color:var(--wk-ink);font-weight:bold;
  background:var(--wk-link-bg);box-shadow:inset 3px 0 0 #36c}
.bloom-wiki .w-page.active .w-ptitle{text-decoration:none}
.bloom-wiki .w-ptitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* chevron: a real button-sized target that rotates open */
.bloom-wiki .w-page .w-twist{flex:none;width:22px;height:22px;display:inline-flex;
  align-items:center;justify-content:center;font-size:13px;color:var(--wk-ink-soft);
  cursor:pointer;user-select:none;border-radius:4px;
  transition:transform .15s ease}
.bloom-wiki .w-page .w-twist.open{transform:rotate(90deg)}
.bloom-wiki .w-page .w-twist:hover{background:#d6e4f7;color:var(--wk-ink)}
/* leaf pages: small dot in the chevron column, rows stay aligned */
.bloom-wiki .w-page .w-leaf{flex:none;width:22px;height:22px;display:inline-flex;
  align-items:center;justify-content:center}
.bloom-wiki .w-page .w-leaf::before{content:'';width:5px;height:5px;border-radius:50%;
  background:var(--wk-border)}
/* collapsed parents: how many pages are tucked inside */
.bloom-wiki .w-page .w-count{flex:none;font-size:11px;font-weight:bold;
  color:var(--wk-ink-soft);background:#eaecf0;border-radius:999px;padding:1px 8px;margin-left:4px}
.bloom-wiki .w-page:hover .w-count{background:#fff}
.bloom-wiki .w-side-foot{padding:10px;border-top:1px solid var(--wk-border-lt);display:flex;gap:8px}
.bloom-wiki .w-empty-note{color:var(--wk-ink-soft);font-size:13px;padding:8px 10px}

/* ---- buttons (Wikipedia-style: flat gray, blue primary, red danger) ---- */
.bloom-wiki .w-btn{font-family:var(--wk-sans);font-weight:bold;font-size:13.5px;
  border:1px solid #36c;cursor:pointer;border-radius:2px;padding:6px 14px;
  background:#36c;color:#fff}
.bloom-wiki .w-btn:hover{background:#2a4b8d;border-color:#2a4b8d}
.bloom-wiki .w-btn.ghost{background:#f8f9fa;color:var(--wk-ink);border:1px solid var(--wk-border)}
.bloom-wiki .w-btn.ghost:hover{background:#fff;border-color:var(--wk-ink-soft)}
.bloom-wiki .w-btn.on-dark.ghost{background:#f8f9fa;color:var(--wk-ink);border-color:var(--wk-border)}
.bloom-wiki .w-btn.quiet{background:transparent;border-color:transparent;color:var(--wk-link);font-weight:normal}
.bloom-wiki .w-btn.danger{background:#d33;border-color:#d33;color:#fff}
.bloom-wiki .w-btn.danger:hover{background:#b32424;border-color:#b32424}
.bloom-wiki .w-btn.small{padding:4px 10px;font-size:12.5px}
.bloom-wiki .w-btn:disabled{opacity:.5;cursor:default}

/* ---- main pane ---- */
.bloom-wiki .w-main{min-width:0;display:flex;flex-direction:column;background:#fff}
.bloom-wiki .w-main-inner{flex:1;overflow:auto;padding:20px 32px;display:flex;justify-content:center}
.bloom-wiki .w-doc{width:100%;max-width:960px;background:#fff;color:var(--wk-ink);padding:0}
.bloom-wiki .w-doc-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:2px;
  border-bottom:1px solid var(--wk-border);padding-bottom:2px}
.bloom-wiki .w-doc-title{font-family:var(--wk-serif);font-weight:normal;font-size:28px;
  line-height:1.25;margin:0;flex:1;color:var(--wk-ink)}
.bloom-wiki .w-doc-meta{color:var(--wk-ink-soft);font-size:12.5px;margin:6px 0 18px}
.bloom-wiki .w-actions{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:6px}

/* rendered body — Wikipedia article text */
.bloom-wiki .w-body{font-family:var(--wk-sans);font-size:14.5px;line-height:1.65;color:var(--wk-ink)}
.bloom-wiki .w-body h1,.bloom-wiki .w-body h2{font-family:var(--wk-serif);font-weight:normal;
  border-bottom:1px solid var(--wk-line);padding-bottom:2px;margin:1.1em 0 .4em;line-height:1.3}
.bloom-wiki .w-body h3,.bloom-wiki .w-body h4{font-family:var(--wk-sans);font-weight:bold;margin:1em 0 .35em}
.bloom-wiki .w-body h1{font-size:24px}.bloom-wiki .w-body h2{font-size:20px}.bloom-wiki .w-body h3{font-size:16px}
.bloom-wiki .w-body p{margin:.5em 0}
.bloom-wiki .w-body ul,.bloom-wiki .w-body ol{margin:.4em 0;padding-left:1.6em}
/* nested list markers match the editor: 1. → a. → i. */
.bloom-wiki .w-body ol ol{list-style:lower-alpha}
.bloom-wiki .w-body ol ol ol{list-style:lower-roman}
.bloom-wiki .w-body li>ol,.bloom-wiki .w-body li>ul{margin:.15em 0}
.bloom-wiki .w-body li.w-nls{list-style:none}
.bloom-wiki .w-body a{color:var(--wk-link);text-decoration:none}
.bloom-wiki .w-body a:hover{text-decoration:underline}
.bloom-wiki .w-body blockquote{border-left:3px solid var(--wk-border-lt);margin:.8em 0;
  padding:.2em 1em;color:var(--wk-ink-soft)}
.bloom-wiki .w-body pre{background:#f8f9fa;color:var(--wk-ink);border:1px solid var(--wk-line);
  border-radius:2px;padding:12px;overflow:auto;font-size:13px}
.bloom-wiki .w-body code{font-family:ui-monospace,Menlo,Consolas,monospace;background:#f8f9fa;
  padding:1px 4px;border-radius:2px}
.bloom-wiki .w-body img{max-width:100%}
/* internal links: exist = blue, missing = red (exactly Wikipedia's rule) */
.bloom-wiki .w-wikilink{color:var(--wk-link);cursor:pointer;text-decoration:none}
.bloom-wiki .w-wikilink:hover{text-decoration:underline}
.bloom-wiki .w-wikilink.missing{color:var(--wk-red)}
.bloom-wiki .w-wikilink.missing::after{content:''}

/* breadcrumb above nested page titles */
.bloom-wiki .w-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:5px;
  margin:0 0 6px;font-size:12.5px;color:var(--wk-ink-soft)}
.bloom-wiki .w-crumb{cursor:pointer;color:var(--wk-link)}
.bloom-wiki .w-crumb:hover{text-decoration:underline}
.bloom-wiki .w-crumb.here{cursor:default;color:var(--wk-ink-soft)}
.bloom-wiki .w-crumb.here:hover{text-decoration:none}
.bloom-wiki .w-crumb-sep{opacity:.6}

/* ---- editor ---- */
.bloom-wiki .w-edit-row{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.bloom-wiki .w-title-input{flex:1;min-width:240px;font-family:var(--wk-serif);
  font-size:24px;border:none;border-bottom:1px solid var(--wk-border);padding:4px 2px;
  color:var(--wk-ink);background:none}
.bloom-wiki .w-title-input:focus{outline:none;border-bottom-color:var(--wk-link)}
.bloom-wiki .w-folder-select{border:1px solid var(--wk-border);border-radius:2px;
  padding:7px 10px;font-family:var(--wk-sans);font-size:13.5px;color:var(--wk-ink);background:#fff}
.bloom-wiki .ql-container{font-family:var(--wk-sans);font-size:14.5px;border-color:var(--wk-border-lt)!important;
  border-bottom-left-radius:2px;border-bottom-right-radius:2px;min-height:300px}
.bloom-wiki .ql-toolbar{border-color:var(--wk-border-lt)!important;background:#f8f9fa;
  border-top-left-radius:2px;border-top-right-radius:2px}
.bloom-wiki .ql-editor{min-height:300px}
.bloom-wiki .w-edit-foot{display:flex;gap:8px;margin-top:14px;align-items:center}
.bloom-wiki .w-save-note{color:var(--wk-ink-soft);font-size:12.5px;margin-left:auto}

/* wikilink picker dropdown — opens UPWARD (the button sits at the bottom of
   the editor, so a downward menu was clipped by the scroll area) */
.bloom-wiki .w-linkpick{position:relative;display:inline-block}
.bloom-wiki .w-linkpick-menu{position:absolute;z-index:120;bottom:calc(100% + 4px);left:0;min-width:230px;
  max-height:260px;overflow:auto;background:#fff;border:1px solid var(--wk-border);border-radius:2px;
  box-shadow:0 2px 8px rgba(0,0,0,.15);padding:6px;display:none}
.bloom-wiki .w-linkpick-menu.open{display:block}
.bloom-wiki .w-linkpick-menu input{width:100%;padding:6px 9px;border:1px solid var(--wk-border);
  border-radius:2px;margin-bottom:6px;font-size:13.5px;font-family:var(--wk-sans)}
.bloom-wiki .w-linkpick-menu button{display:block;width:100%;text-align:left;border:none;background:none;
  padding:6px 9px;cursor:pointer;font-size:13.5px;font-family:var(--wk-sans);color:var(--wk-link)}
.bloom-wiki .w-linkpick-menu button:hover{background:var(--wk-sidebar);text-decoration:underline}

/* ---- history ---- */
.bloom-wiki .w-rev{display:flex;align-items:center;gap:12px;padding:9px 12px;
  border:1px solid var(--wk-line);margin-bottom:-1px}
.bloom-wiki .w-rev:first-child{background:var(--wk-link-bg);border-color:var(--wk-border-lt)}
.bloom-wiki .w-rev .w-rev-main{flex:1;min-width:0}
.bloom-wiki .w-rev .w-rev-when{font-weight:bold;font-size:13.5px}
.bloom-wiki .w-rev .w-rev-sub{color:var(--wk-ink-soft);font-size:12.5px}
.bloom-wiki .w-badge{font-size:11px;font-weight:bold;background:#36c;
  color:#fff;border-radius:2px;padding:1px 7px}
.bloom-wiki .w-preview{margin-top:16px;border:1px dashed var(--wk-border);padding:16px;background:#f8f9fa}

/* ---- modal ---- */
.bloom-wiki-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.45);padding:20px;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
.bloom-wiki-modal .box{background:#fff;color:#202122;border:1px solid #a2a9b1;border-radius:2px;
  max-width:440px;width:100%;padding:22px 24px;box-shadow:0 4px 20px rgba(0,0,0,.25)}
.bloom-wiki-modal h3{font-family:'Linux Libertine',Georgia,'Times New Roman',serif;font-weight:normal;
  margin:0 0 8px;font-size:20px;border-bottom:1px solid #eaecf0;padding-bottom:6px}
.bloom-wiki-modal p{margin:0 0 14px;line-height:1.55;color:#54595d;font-size:14px}
.bloom-wiki-modal input{width:100%;padding:8px 10px;border:1px solid #a2a9b1;border-radius:2px;
  font-size:14px;margin-bottom:16px}
.bloom-wiki-modal .row{display:flex;gap:8px;justify-content:flex-end}

/* ---- states ---- */
.bloom-wiki .w-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;color:var(--wk-ink-soft);text-align:center;padding:40px;font-size:15px}
.bloom-wiki .w-center .big{font-size:36px}
.bloom-wiki .w-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:9998;
  background:#202122;color:#fff;padding:9px 16px;border-radius:2px;font-size:13.5px;
  box-shadow:0 2px 10px rgba(0,0,0,.3);opacity:0;transition:opacity .2s}
.bloom-wiki .w-toast.show{opacity:1}

/* ---- narrow screens ---- */
@media (max-width:720px){
  .bloom-wiki{grid-template-columns:1fr;height:auto}
  .bloom-wiki .w-side{max-height:240px}
  .bloom-wiki .w-main-inner{padding:16px}
}

/* ---- drag to reorder / nest ---- */
.bloom-wiki .w-page[draggable="true"]{cursor:grab}
.bloom-wiki .w-page.dragging{opacity:.45;cursor:grabbing}
.bloom-wiki .w-page.drop-before{box-shadow:0 -2px 0 0 #36c}
.bloom-wiki .w-page.drop-after{box-shadow:0 2px 0 0 #36c}
.bloom-wiki .w-page.drop-in{background:var(--wk-link-bg);box-shadow:inset 0 0 0 2px #36c}
