/* v1.87 Notebook block editor */
#notebook.nb7-host > :not(.nb7):not(.nb7-slash):not(.nb7-pop):not(.nb7-palette):not(.nb7-toast):not(.nb7-global):not(#psyche-notebook){display:none!important}
#psyche-notebook{margin-bottom:14px}
.nb7{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:72vh;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.nb7 button{font:inherit;color:inherit;cursor:pointer}
.nb7-side{background:var(--paper2);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;max-height:82vh;position:sticky;top:0}
.nb7-side-top{display:flex;flex-direction:column;gap:6px;padding:12px 10px 6px}
.nb7-search-btn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px!important;color:var(--muted)!important}
.nb7-search-btn kbd{margin-left:auto;font-size:10px;border:1px solid var(--line);border-radius:4px;padding:1px 4px;background:var(--paper2)}
.nb7-new{background:var(--wine);color:var(--paper)!important;border:0;border-radius:8px;padding:8px 10px;font-size:13px!important;text-align:left}
.nb7-new:hover{filter:brightness(1.08)}
.nb7-views{padding:2px 6px}
.nb7-view{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;border-radius:6px;padding:5px 8px;font-size:13px!important;text-align:left}
.nb7-view span{width:18px;text-align:center;opacity:.8}.nb7-view small{margin-left:auto;color:var(--muted);font-size:11px}
.nb7-view:hover,.nb7-node:hover,.nb7-node-btn.flat:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.nb7-view.active{background:color-mix(in srgb,var(--wine) 14%,transparent);color:var(--wine)}
.nb7-tree-wrap{flex:1;overflow:auto;padding:4px 6px 10px}
.nb7-label{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:12px 8px 4px}
.nb7-hint{font-size:12px;color:var(--muted);padding:2px 10px;margin:0}
.nb7-node{display:flex;align-items:center;border-radius:6px;padding-left:calc(var(--d)*14px)}
.nb7-node.active,.nb7-node-btn.flat.active{background:color-mix(in srgb,var(--wine) 14%,transparent)}
.nb7-caret{border:0;background:transparent;width:20px;height:24px;font-size:10px!important;color:var(--muted)!important;border-radius:4px;flex:none}
.nb7-caret.none{opacity:.35;pointer-events:none}
.nb7-node-btn{display:flex;align-items:center;gap:7px;border:0;background:transparent;flex:1;min-width:0;text-align:left;padding:4px 4px;font-size:13.5px!important;border-radius:6px}
.nb7-node-btn.flat{width:100%;padding:5px 8px}
.nb7-node-icon{flex:none;width:18px;text-align:center}
.nb7-node-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.nb7-node-title small{display:block;font-size:11px;color:var(--muted)}
.nb7-node-add{opacity:0;border:0;background:transparent;width:22px;height:22px;border-radius:4px;color:var(--muted)!important;flex:none}
.nb7-node:hover .nb7-node-add,.nb7-node-add:focus{opacity:1}
.nb7-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
.nb7-flatrow{display:flex;align-items:center;gap:4px}
.nb7-templates{border-top:1px solid var(--line);padding:6px 10px}.nb7-templates summary{font-size:12.5px;color:var(--muted);cursor:pointer;padding:4px 0}
#nb7-tpl{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:6px 0}
.nb7-tpl{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:6px 8px;font-size:12px!important;text-align:left}
.nb7-tpl b{font-weight:normal}.nb7-tpl:hover{border-color:var(--wine)}
.nb7-side-foot{border-top:1px solid var(--line);padding:8px 12px}
.nb7-link{border:0;background:none;color:var(--wine)!important;font-size:12px!important;padding:2px 4px;text-decoration:underline;text-underline-offset:2px}
.nb7-main{position:relative;min-width:0;overflow:auto;max-height:82vh}
.nb7-empty{display:grid;place-items:center;min-height:60vh;padding:30px}
.nb7-empty-inner{max-width:560px;text-align:center}.nb7-empty-icon{font-size:46px}.nb7-empty h2{font-size:28px;margin:8px 0}
.nb7-empty p{color:var(--muted);line-height:1.6}.nb7-empty kbd,.nb7-palette kbd{border:1px solid var(--line);border-radius:4px;padding:0 5px;background:var(--paper2);font-size:.85em}
.nb7-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:22px}
.nb7-tpl-grid .nb7-tpl{padding:12px;font-size:13px!important;flex-direction:column;align-items:flex-start}.nb7-tpl-grid .nb7-tpl span{font-size:22px}
.nb7-page{position:relative}
.nb7-cover{height:0;transition:height .25s}.nb7-cover.on{height:150px}
.nb7-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:6px;padding:8px 14px;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid transparent}
.nb7-crumbs{display:flex;align-items:center;gap:4px;min-width:0;flex:1;overflow:hidden;font-size:13px;color:var(--muted)}
.nb7-crumb{border:0;background:none;padding:3px 6px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;font-size:13px!important;color:var(--muted)!important}
.nb7-crumb.current{color:var(--ink)!important}
button.nb7-crumb:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.nb7-status{font-size:12px;color:var(--muted);white-space:nowrap}
.nb7-icon-btn{border:0;background:transparent;width:32px;height:32px;border-radius:7px;font-size:16px!important}
.nb7-icon-btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.nb7-icon-btn[aria-pressed=true]{color:var(--gold)!important}
.nb7-menu-wrap{position:relative}
.nb7-pop{position:fixed;z-index:400;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px rgba(20,14,8,.22);padding:6px;min-width:200px}
.nb7-menu-wrap .nb7-pop{position:absolute;right:0;top:36px}
.nb7-pop button{display:block;width:100%;text-align:left;border:0;background:none;padding:7px 10px;border-radius:6px;font:14px Georgia,serif;color:var(--ink);cursor:pointer}
.nb7-pop button:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.nb7-pop .danger{color:#a3362b}
.nb7-doc{max-width:760px;margin:0 auto;padding:28px 56px 120px}
.nb7-head{position:relative;margin-bottom:10px}
.nb7-cover.on + .nb7-bar + .nb7-doc .nb7-page-icon{margin-top:-58px}
.nb7-page-icon{font-size:52px!important;line-height:1;border:0;background:transparent;padding:4px;border-radius:10px;position:relative}
.nb7-page-icon:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.nb7-icons{position:absolute;top:70px;left:0;display:grid;grid-template-columns:repeat(8,34px);gap:2px;width:auto}
.nb7-icons button{font-size:20px;padding:4px;text-align:center}.nb7-icons .wide{grid-column:1/-1;font-size:13px;text-align:center}
.nb7-title{font-size:38px;line-height:1.2;font-weight:600;outline:none;margin:6px 0 10px;word-break:break-word}
.nb7-title:empty::before{content:attr(data-placeholder);color:color-mix(in srgb,var(--muted) 55%,transparent)}
.nb7-props{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:6px 0 14px;border-bottom:1px solid var(--line)}
.nb7-prop{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:var(--muted)}
.nb7-prop input{border:1px solid transparent;background:transparent;padding:3px 6px;border-radius:5px;font:13px Georgia,serif;color:var(--ink);width:auto;min-width:90px;max-width:220px}
.nb7-prop input:hover,.nb7-prop input:focus{border-color:var(--line);background:var(--paper2)}
.nb7-source{font-size:12px;color:var(--muted)}
.nb7-blocks{padding-top:12px}
.nb7-b{position:relative;display:flex;align-items:flex-start;padding-left:calc(var(--ind)*26px);margin:1px 0;border-radius:4px}
.nb7-b.nb7-hidden{display:none}
.nb7-gutter{position:absolute;left:calc(var(--ind)*26px - 50px);top:2px;display:flex;opacity:0;transition:opacity .12s}
.nb7-b:hover .nb7-gutter,.nb7-b:focus-within .nb7-gutter{opacity:1}
.nb7-plus,.nb7-handle{border:0;background:transparent;width:22px;height:24px;border-radius:4px;color:var(--muted)!important;font-size:13px!important;line-height:1;padding:0}
.nb7-handle{cursor:grab!important;letter-spacing:-3px}
.nb7-plus:hover,.nb7-handle:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.nb7-body{display:flex;align-items:flex-start;gap:6px;flex:1;min-width:0}
.nb7-text{flex:1;min-width:0;outline:none;padding:3px 2px;font-size:17px;line-height:1.65;white-space:pre-wrap;word-break:break-word;min-height:1.65em}
.nb7-text:empty::before{content:attr(data-placeholder);color:transparent}
.nb7-text:focus:empty::before,.nb7-blocks .nb7-b:only-child .nb7-text:empty::before{color:color-mix(in srgb,var(--muted) 60%,transparent)}
.nb7-h1 .nb7-text{font-size:30px;font-weight:600;line-height:1.3;margin-top:22px}
.nb7-h2 .nb7-text{font-size:24px;font-weight:600;line-height:1.3;margin-top:16px}
.nb7-h3 .nb7-text{font-size:20px;font-weight:600;margin-top:10px}
.nb7-bullet,.nb7-num{flex:none;min-width:18px;padding-top:3px;font-size:17px;line-height:1.65;color:var(--wine);text-align:center}
.nb7-check{flex:none;width:17px!important;height:17px;margin:7px 2px 0 0!important;accent-color:var(--wine);cursor:pointer}
.nb7-text[data-done]{text-decoration:line-through;color:var(--muted)}
.nb7-quote .nb7-body{border-left:3px solid var(--ink);padding-left:14px}
.nb7-quote .nb7-text{font-style:italic}
.nb7-callout .nb7-body{background:color-mix(in srgb,var(--gold) 14%,var(--paper));border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);border-radius:9px;padding:10px 12px;margin:6px 0}
.nb7-callout-emoji{border:0;background:none;font-size:19px!important;padding:2px;line-height:1.4}
.nb7-tg{border:0;background:none;width:22px;padding:4px 0;font-size:13px!important;color:var(--muted)!important;transition:transform .15s}
.nb7-toggle .nb7-text{font-weight:600}
.nb7-code .nb7-body{display:block}
.nb7-codearea{background:var(--paper2);border:1px solid var(--line);border-radius:8px;padding:12px 14px!important;font:14.5px/1.6 ui-monospace,Menlo,Consolas,monospace!important;white-space:pre-wrap;margin:6px 0}
.nb7-divider .nb7-body{padding:10px 0}.nb7-divider hr{border:0;border-top:1px solid var(--line);width:100%;margin:0}
.nb7-pagelink{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:5px 4px;border-radius:6px;font-size:16.5px!important;text-align:left;width:100%}
.nb7-pagelink u{text-decoration-color:color-mix(in srgb,var(--ink) 30%,transparent);text-underline-offset:3px}
.nb7-pagelink:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.nb7-text code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;background:var(--paper2);border:1px solid var(--line);border-radius:4px;padding:0 4px;color:#a3362b}
.nb7-text mark{background:color-mix(in srgb,var(--gold) 38%,transparent);color:inherit;border-radius:2px;padding:0 1px}
.nb7-wikilink{color:var(--wine);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.nb7-text a{color:var(--wine)}
.nb7-b.dragging{opacity:.35}
.nb7-b.drop-before{box-shadow:0 -2px 0 var(--wine)}.nb7-b.drop-after{box-shadow:0 2px 0 var(--wine)}
.nb7-add-end{display:block;width:100%;min-height:60px;border:0;background:transparent;color:transparent!important;text-align:left;cursor:text!important}
.nb7-add-end:hover{color:color-mix(in srgb,var(--muted) 60%,transparent)!important}
.nb7-backlinks{margin-top:28px;padding-top:12px;border-top:1px solid var(--line)}
.nb7-backlinks .nb7-pagelink{font-size:14.5px!important}
.nb7-foot{margin-top:24px;display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted)}
.nb7-outline{position:fixed;right:28px;top:220px;width:190px;max-height:55vh;overflow:auto;display:none}
.nb7-out{display:block;border:0;background:none;text-align:left;width:100%;padding:3px 6px;font-size:12.5px!important;color:var(--muted)!important;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nb7-out:hover{color:var(--ink)!important;background:color-mix(in srgb,var(--ink) 6%,transparent)}
.nb7-out-h2{padding-left:16px}.nb7-out-h3{padding-left:26px}
@media (min-width:1500px){.nb7-outline{display:block}}
.nb7-slash{position:fixed;z-index:500;width:290px;max-height:320px;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px rgba(20,14,8,.25);padding:4px}
.nb7-linkmenu{width:290px;max-height:300px;overflow:auto}
.nb7-slash-item{display:flex!important;align-items:center;gap:10px;width:100%;border:0;background:none;text-align:left;padding:6px 8px!important;border-radius:6px;font:14px Georgia,serif;color:var(--ink);cursor:pointer}
.nb7-slash-item small{display:block;color:var(--muted);font-size:11.5px}
.nb7-slash-item.sel{background:color-mix(in srgb,var(--wine) 12%,transparent)}
.nb7-slash-ic{flex:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper2);font-size:14px}
.nb7-blockmenu{width:250px}
.nb7-turn{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:0 4px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}
.nb7-turn button{text-align:center!important;padding:6px 0!important;font-size:13px!important}
.nb7-turn button.sel{background:color-mix(in srgb,var(--wine) 14%,transparent)}
.nb7-palette{position:fixed;inset:0;z-index:600;background:rgba(20,14,8,.35);display:grid;place-items:start center;padding-top:12vh}
.nb7-palette[hidden]{display:none}
.nb7-palette-box{width:min(620px,92vw);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px rgba(20,14,8,.35);overflow:hidden}
.nb7-palette-box input{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 18px;font:18px Georgia,serif;background:transparent}
#nb7-palette-list{max-height:50vh;overflow:auto;padding:6px}
.nb7-pal-item{display:flex;gap:10px;align-items:flex-start;width:100%;border:0;background:none;text-align:left;padding:8px 10px;border-radius:8px;font:15px Georgia,serif;color:var(--ink);cursor:pointer}
.nb7-pal-item small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.nb7-pal-item.sel,.nb7-pal-item:hover{background:color-mix(in srgb,var(--wine) 11%,transparent)}
.nb7-palette-hint{font-size:11.5px;color:var(--muted);padding:8px 16px;margin:0;border-top:1px solid var(--line)}
.nb7-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:700;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:10px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.nb7-toast .nb7-link{color:var(--gold)!important}
.nb7-global{font-size:13px;color:#a3362b}
.nb7-spark{position:fixed;z-index:800;color:var(--gold);font-size:20px;pointer-events:none;animation:nb7spark .7s ease-out forwards}
@keyframes nb7spark{from{transform:translate(0,0) scale(.6);opacity:1}to{transform:translate(10px,-26px) scale(1.4);opacity:0}}
.nb7-focusmode .nb7{grid-template-columns:0 minmax(0,1fr)}.nb7-focusmode .nb7-side{visibility:hidden}
.nb7-mobile-only{display:none}
@media (max-width:860px){
  .nb7{grid-template-columns:1fr;min-height:70vh}
  .nb7-side{max-height:none;position:static;border-right:0}
  .nb7-host.nb7-open .nb7-side{display:none}
  .nb7-host:not(.nb7-open) .nb7-main{display:none}
  .nb7-mobile-only{display:inline-block}
  .nb7-doc{padding:18px 16px 100px}
  .nb7-title{font-size:30px}
  .nb7-gutter{display:none}
  .nb7-b{padding-left:calc(var(--ind)*18px)}
  .nb7-text{font-size:16.5px}
  .nb7-main{max-height:none}
  .nb7-crumb{max-width:120px}
}
