/* Application shell. The canvas and its camera stay independent of navigation. */
:root{--sidebar:260px}
.topbar{height:86px;padding:0 26px;display:flex;gap:18px;background:linear-gradient(var(--paper) 75%,transparent)}
.brand{font-size:33px;gap:7px}.brand-caption{display:none}.brand-mark{font-size:34px}
.sidebar-toggle{display:flex;align-items:center;gap:9px;font-size:12px;color:#6e7665;padding:10px;border-radius:9px}.sidebar-toggle:hover{background:#eaece2}
.current-subject{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:18px var(--serif);color:#727762;text-align:center}
.guide-menu{width:185px;margin-left:auto}.guide-panel{z-index:50}
.exploration-sidebar{position:absolute;z-index:22;left:0;top:86px;bottom:0;width:var(--sidebar);padding:20px 18px 16px;background:#f3f2eafa;border-right:1px solid #dedfd3;display:flex;flex-direction:column;gap:13px;transform:translateX(-100%);visibility:hidden;transition:transform .25s,visibility .25s;overflow:auto}
.sidebar-open .exploration-sidebar{transform:none;visibility:visible}
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:4px}.sidebar-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.sidebar-heading button{padding:4px;color:#919883}.sidebar-heading .icon{width:15px;height:15px}
.new-exploration{display:flex;align-items:center;gap:10px;border:1px solid #d5dbc8;border-radius:10px;background:#e6eadc;padding:13px 12px;text-align:left;font-size:12px;color:#4f6140}.new-exploration:hover{background:#dce4cf}
#exploration-search{width:100%;min-height:39px;border:1px solid #dedfd4;border-radius:8px;background:#fcfbf780;padding:9px;font-size:11px;color:#505948}
#picker-status{margin:0;font-size:10px;line-height:1.5;color:#909683}
#exploration-options{overflow:auto;max-height:none;flex:1;min-height:110px;display:flex;flex-direction:column;gap:5px;scrollbar-width:thin}
.saved-exploration{flex-shrink:0;display:block;text-align:left;border:1px solid transparent;border-radius:8px;padding:12px 11px;font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:#767d6c}
.saved-exploration:hover{background:#e9ebdf;color:#4c5941}.saved-exploration[aria-current=page]{background:#fcfbf8;border-color:#d9dfcd;color:#3f4e34;box-shadow:0 2px 7px #373b2705}
.saved-exploration[aria-current=page]:before{content:'•';margin-right:7px;color:#92a37f}
.manage-confirmation{background:#fcfbf8;border:1px solid #deddd1;border-radius:12px;padding:15px}.manage-confirmation>strong{font:21px/1.2 var(--serif)}.manage-confirmation p{font-size:11px;line-height:1.7;color:#7f826f;overflow-wrap:anywhere}.manage-confirmation>div{display:flex;gap:8px;justify-content:flex-end}.manage-confirmation button{font-size:10px;padding:10px 8px;border:1px solid #deded0;border-radius:7px}#confirm-manage{background:#995a43;color:#fff9f0;border-color:#995a43}
.sidebar-foot{font:italic 12px/1.6 var(--serif);color:#9b9e8c;margin:3px 0 0}
#canvas{left:0;transition:left .25s}.sidebar-open #canvas{left:var(--sidebar)}
.bottom-bar{left:26px;right:26px;bottom:22px}.sidebar-open .bottom-bar{left:calc(var(--sidebar) + 26px)}
.branch-navigation{left:26px;right:26px;bottom:90px}.sidebar-open .branch-navigation{left:calc(var(--sidebar) + 26px)}
.canvas-heading{left:28px;top:108px}.canvas-heading p{font-size:18px}
.connection-status{position:absolute;bottom:65px;font-size:8px}.canvas-tools{position:static;transform:none;padding:5px 8px;gap:1px}.canvas-tools button{padding:8px}.canvas-tools .tool-divider{margin:0 3px}.zoom-tools{margin-left:auto}
.layout-switch{display:flex;border:1px solid #dedfd2;background:#f0f0e7;border-radius:24px;padding:2px;gap:1px}.layout-switch button{font-size:10px;padding:7px 10px}.layout-switch button[aria-pressed=true]{background:#fcfbf7;box-shadow:0 1px 4px #4049311a;color:#596a4a}.layout-switch button[aria-pressed=false]{color:#929784}
.discovering .current-subject,.discovering .canvas-heading,.discovering #world,.discovering .branch-navigation,.discovering .canvas-tools,.discovering .zoom-tools{display:none}
.discovering .connection-status{bottom:0}.discovering .bottom-bar{pointer-events:none}
#empty-state{position:absolute;inset:90px 0 64px;display:block;overflow:hidden;touch-action:pan-y}
.idea-field{position:absolute;inset:12px 18px 54px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(5,minmax(75px,1fr));gap:14px 12px;align-items:center}
.idea-blob{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 10px;min-height:95px;width:100%;height:80%;max-height:145px;background:oklch(93% .025 var(--hue));border:1px solid oklch(86% .04 var(--hue));border-radius:42% 55% 44% 50% / 46% 43% 55% 50%;box-shadow:inset 0 3px 15px #fff6,0 3px 18px #69715006;color:#59604e;animation:idea-float 12s ease-in-out infinite;animation-delay:var(--delay);transition:background .25s,box-shadow .25s}
.idea-blob span{font-size:7px;letter-spacing:1.1px;text-transform:uppercase;opacity:.65}.idea-blob strong{font:400 clamp(12px,1.25vw,17px)/1.3 var(--serif);max-width:145px}.idea-blob:hover,.idea-blob:focus-visible{animation-play-state:paused;background:oklch(89% .05 var(--hue));box-shadow:0 8px 25px #64724818;color:#36472c;border-color:#a8b596}
.discovery-center{position:absolute;width:62%;left:19%;top:50%;transform:translateY(-57%);text-align:center;z-index:2;padding:22px 10px;background:radial-gradient(ellipse,#f7f5effa 55%,#f7f5ef00 72%)}
#empty-state h1{font:400 clamp(34px,4.5vw,66px)/1.06 var(--serif);letter-spacing:-2px;margin:17px 0;color:#424b37}#empty-state h1 em{color:#89986e;font-weight:400}#empty-state .discovery-center>p{font-size:12px;line-height:1.7;margin:18px 0 24px;color:#8d927f}
.discovery-center>.eyebrow{font-size:8px;letter-spacing:2px}
#discovery-form{display:flex;align-items:center;gap:10px;border:1px solid #d7ddc9;border-radius:15px;padding:7px;background:#fcfbf9;box-shadow:0 5px 20px #5d6d3810;max-width:440px;margin:0 auto 18px;transition:border-color .2s}#discovery-form:focus-within{border-color:#91a179;box-shadow:0 5px 24px #5d6d3819}
#discovery-subject{font-size:13px;width:100%;min-width:0;border:0;outline:none;background:none;padding:10px;color:#4d5941}#discovery-subject::placeholder{color:#a1a58e}#discovery-form>button{background:#899a70;color:#fffef7;border-radius:10px;flex-shrink:0;width:38px;height:38px;display:grid;place-items:center}#discovery-form>button:hover{background:#6e8255}
#discovery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;max-width:490px;margin:auto}#discovery-filters button{font-size:9px;color:#89917d;border:1px solid transparent;padding:6px 9px;border-radius:14px}#discovery-filters button:hover{background:#ecefe1}#discovery-filters button[aria-pressed=true]{background:#e7ecdc;border-color:#d9e1c9;color:#65784c}#discovery-count{display:block;font-size:9px;color:#9a9f8c;margin-top:17px;letter-spacing:.3px}
.discovery-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:18px}.discovery-bottom button{font-size:10px;color:#8a927a;padding:9px 12px;border-radius:20px}.discovery-bottom button:first-child{border:1px solid #dfe3d3;background:#fafbf4}.discovery-bottom .icon{width:14px;margin-right:5px}#discovery-motion{font-size:9px;color:#a0a58f}.motion-paused .idea-blob{animation-play-state:paused}
@keyframes idea-float{0%,100%{transform:translateY(-4px) rotate(-1deg);border-radius:42% 55% 44% 50% / 46% 43% 55% 50%}50%{transform:translateY(5px) rotate(1deg);border-radius:52% 44% 51% 43% / 50% 53% 43% 46%}}
@media(min-width:1500px){.idea-field{inset:24px 5% 64px;gap:20px 25px}.idea-blob strong{font-size:18px}.discovery-center{max-width:620px;left:50%;transform:translate(-50%,-57%)}}
@media(max-height:800px) and (min-width:761px){#empty-state h1{font-size:42px;margin:10px 0}#empty-state .discovery-center>p{margin:10px 0 13px}.discovery-center{padding:5px 10px;transform:translateY(-55%)}#discovery-filters button{font-size:8px;padding:4px 7px}#discovery-count{margin-top:10px}.idea-blob{min-height:68px;padding:10px 7px}.idea-blob strong{font-size:12px}.idea-blob span{font-size:6px}.idea-field{gap:8px}}
@media(max-width:1000px){:root{--sidebar:230px}.idea-field{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(5,minmax(75px,1fr))}.idea-blob{grid-row:auto!important;grid-column:auto!important}.idea-blob:nth-child(n+13){display:none}.idea-blob:nth-child(5){grid-area:2/1!important}.idea-blob:nth-child(6){grid-area:2/4!important}.idea-blob:nth-child(7){grid-area:4/1!important}.idea-blob:nth-child(8){grid-area:4/4!important}.idea-blob:nth-child(9){grid-area:5/1!important}.idea-blob:nth-child(10){grid-area:5/2!important}.idea-blob:nth-child(11){grid-area:5/3!important}.idea-blob:nth-child(12){grid-area:5/4!important}.discovery-center{width:78%;left:11%;background:radial-gradient(ellipse,#f7f5ef 57%,#f7f5ef00 73%)}.idea-blob strong{font-size:13px}.topbar{gap:8px}.current-subject{font-size:15px}.sidebar-toggle span{display:none}}
@media(max-width:760px){.topbar{height:76px;padding:0 16px;display:flex}.brand{font-size:29px}.brand-mark{font-size:31px}.guide-menu{width:150px}.guide-menu summary{padding:10px}.current-subject{display:none}.sidebar-toggle{margin-right:auto}.exploration-sidebar{top:76px;width:min(300px,86vw);box-shadow:20px 0 70px #434b2920}.sidebar-open #canvas{left:0}.sidebar-open .bottom-bar,.bottom-bar{left:16px;right:16px}.sidebar-open .branch-navigation,.branch-navigation{left:16px;right:16px;bottom:128px}.connection-status{bottom:70px}.canvas-tools{padding:4px}.canvas-tools button{padding:7px 5px}.canvas-tools .tool-divider{margin:0 2px}.canvas-tools #home-button,.canvas-tools #help-button{display:none}.canvas-tools .tool-divider:has(+ #home-button),.canvas-tools .tool-divider:has(+ #help-button){display:none}.layout-switch button{font-size:9px}.zoom-tools button{padding:8px 5px}#zoom-label{min-width:30px}.canvas-heading{top:94px}.branch-navigation .origin-button{max-width:230px}.status-stack{bottom:195px}
#empty-state{inset:84px 0 64px;overflow-y:auto;padding:18px 20px 25px;display:flex;flex-direction:column;justify-content:flex-start;gap:24px}.discovery-center{position:relative;top:auto;left:auto;transform:none!important;width:100%;padding:10px 0;order:0}#empty-state h1{font-size:45px;letter-spacing:-1.5px}#empty-state .discovery-center>p{font-size:12px;margin:14px 0 20px}#discovery-form{margin-bottom:15px}#discovery-filters button{font-size:9px}#discovery-count{font-size:8px}.idea-field{position:relative;inset:auto;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:18px;order:1}.idea-field .idea-blob{grid-area:auto!important;min-height:110px;height:100%;max-height:none}.idea-blob:nth-child(n+9){display:none}.idea-blob strong{font-size:17px}.idea-blob span{font-size:7px}.discovery-bottom{position:relative;inset:auto;order:2;flex-shrink:0}.discovering .bottom-bar{bottom:10px}.discovery-center>.eyebrow{font-size:7px}
}
@media(prefers-reduced-motion:reduce){.idea-blob{animation:none}#canvas,.exploration-sidebar{transition:none}}

.discovering #canvas{touch-action:pan-y;cursor:default}
.idea-blob>span,.idea-blob>strong{animation:idea-appear .7s ease-out}
@keyframes idea-appear{from{opacity:0}to{opacity:1}}
/* Quiet controls attached to the exact exploration they affect. */
.exploration-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:start;flex-shrink:0;border:1px solid transparent;border-radius:9px}
.exploration-row:has([aria-current=page]){background:#fcfbf8;border-color:#d9dfcd}.exploration-row:hover{background:#e9ebdf}
.exploration-row .saved-exploration{width:100%;border:0;background:none;box-shadow:none;padding:12px 8px 12px 10px;min-height:42px}.saved-exploration[aria-current=page]:before{content:none}
.exploration-menu{position:relative;margin-top:7px}.exploration-menu summary{list-style:none;font-size:20px;line-height:24px;letter-spacing:1px;text-align:center;color:#8c9580;cursor:pointer;border-radius:6px}.exploration-menu summary::-webkit-details-marker{display:none}.exploration-menu summary:hover,.exploration-menu[open] summary{background:#dfe5d4;color:#536547}
.exploration-menu-options{position:absolute;right:0;top:29px;z-index:8;width:164px;padding:5px;background:#fcfbf8;border:1px solid #d9decd;border-radius:9px;box-shadow:0 8px 22px #48543320}.exploration-menu-options button{display:block;width:100%;text-align:left;padding:10px 9px;font-size:11px;border-radius:5px}.exploration-menu-options button:hover{background:#edf0e5}.exploration-menu-options button:last-child{color:#975c48}
.exploration-row .manage-confirmation{grid-column:1/-1;margin:0 4px 7px;padding:12px}.exploration-row .manage-confirmation>strong{font-size:19px}
.idea-blob{transition:opacity .35s,background .25s,box-shadow .25s}.idea-blob.idea-leaving{opacity:0}

/* Parent cards remain legible landmarks as their families grow. */
.branch-size{margin-left:auto;font-size:9px;font-weight:600;letter-spacing:0;color:var(--branch-ink,#51584a);white-space:nowrap}
.node.branch-hub{box-shadow:0 0 0 3px color-mix(in srgb,var(--branch-stroke) 16%,transparent),0 5px 18px #37452b0d}
.node.branch-hub h2{font-weight:500}.node.branch-hub .node-foot{opacity:.8}

button.branch-size{padding:3px 5px;border-radius:4px;background:#fff5}button.branch-size:hover{background:#fff9;color:var(--branch-ink)}
