.site-links{display:flex;align-items:center;gap:22px;position:relative;z-index:30;min-height:52px;padding:0 32px;border-bottom:1px solid #dfe1d5;background:#f7f5ef;color:#515b4e}
.site-links a{font-size:12px;font-weight:550;text-decoration:none;color:inherit;white-space:nowrap}.site-links a:hover{color:#a44f32}.site-links .echohive-link{font:22px var(--serif);margin-right:auto;letter-spacing:-1px}.site-links .download-app{border:1px solid #3b4d3e;border-radius:7px;background:#354938;color:#fffdf6;padding:9px 16px;font-size:12px;font-weight:550;white-space:nowrap}
.topbar{top:52px;height:78px}.topbar .brand{font-size:32px}.topbar .brand-caption{max-width:110px}#guide-menu{display:none}.canvas-heading{top:156px}.exploration-sidebar{top:147px}.site-links~.topbar .current-subject{max-width:35vw}.preview-note{position:absolute;top:128px;left:32px;z-index:3;color:#777d70;font-size:10px;letter-spacing:.1px;pointer-events:none}.discovering .preview-note{top:137px}.topic-meta{display:flex;justify-content:space-between;gap:15px;margin:8px 6px 0;color:#888d7f;font-size:10px}.discovery-center{padding-top:30px}.download-feature:after{content:'↗';font-size:11px;opacity:.65;margin-left:2px}.download-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid #d3d8c7;border-radius:22px;padding:40px;background:#faf9f2;box-shadow:0 30px 120px #17241933;color:#354034}.download-dialog::backdrop{background:#202d2466;backdrop-filter:blur(6px)}.download-dialog[open]{animation:dialog-appear .2s ease-out}.download-dialog h2{font:400 40px/1.07 var(--serif);letter-spacing:-1.2px;max-width:420px;margin:20px 0 15px}.download-dialog>p{font-size:14px;line-height:1.75;color:#737c6c}.download-dialog .dialog-close{position:absolute;right:18px;top:17px;padding:9px;border-radius:50%;background:#eef0e6;font-size:21px;line-height:1}.download-benefit{display:flex;gap:16px;padding:20px;border:1px solid #d9dfce;background:#eef1e6;border-radius:12px;margin:24px 0}.download-benefit .benefit-icon{font-size:28px;color:#718764}.download-benefit strong{display:block;font:23px var(--serif);margin-bottom:8px}.download-benefit p{margin:0;font-size:12px;line-height:1.65;color:#65705f}.download-benefit b{font-weight:650;color:#455d3d}.download-actions{display:flex;align-items:center;gap:16px;margin-top:26px}.download-actions a{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:14px 22px;border-radius:9px;background:#354938;color:white;text-decoration:none;font-size:13px;font-weight:550;flex:1}.download-actions a:hover{background:#253b29}.download-actions button{font-size:12px;color:#777e6e;padding:12px}.download-dialog .download-fine{font-size:11px;line-height:1.65;margin:15px 0 0;color:#858a7c}.download-dialog .download-fine a{color:#54674c}.download-dialog .eyebrow{color:#8b5f43}.download-mark{display:block;font-size:42px;color:#a76342;margin-bottom:18px}.bottom-bar .connection-status{max-width:260px;font-size:10px}.sidebar-foot{line-height:1.6}.public-help{line-height:1.8;color:#737b6a;font-size:13px}.public-help strong{color:#3a4837}.public-help p{margin:14px 0}
@keyframes dialog-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.site-links{gap:14px;padding:0 18px}.site-links a{font-size:11px}.topbar{padding:0 20px}.preview-note{left:20px;font-size:9px}.bottom-bar .connection-status{max-width:160px}.topbar .brand-caption{display:none}}
@media(max-width:600px){.site-links{display:grid;grid-template-columns:auto auto auto;gap:0 14px;padding:10px 16px;min-height:90px}.site-links .echohive-link{grid-column:1;margin:0}.site-links .download-app{grid-column:2/4;grid-row:1;justify-self:end;padding:8px 14px}.site-links a:not(.echohive-link){grid-row:2;text-align:center;padding:10px 0 0;font-size:12px}.topbar{top:90px;height:65px;gap:10px}.topbar .brand{font-size:29px}.topbar .brand-mark{font-size:31px}.preview-note,.discovering .preview-note{top:153px;left:16px;right:16px;text-align:center;font-size:9px}.canvas-heading{top:181px}.exploration-sidebar{top:177px}.discovering .discovery-center{padding-top:60px}.download-dialog{padding:30px 24px}.download-dialog h2{font-size:34px}.download-benefit{padding:16px}.download-benefit strong{font-size:21px}.download-actions{flex-direction:column;gap:4px}.download-actions a{width:100%}.bottom-bar .connection-status{max-width:none}.site-links~.topbar .current-subject{display:none}}
@media(prefers-reduced-motion:reduce){.download-dialog[open]{animation:none}}

.fixed-guide{font-size:12px;color:#45583f;margin-left:auto;white-space:nowrap}.fixed-guide span{color:#7b8475;margin-left:6px}
.privacy-ack{display:flex;gap:9px;align-items:flex-start;text-align:left;font-size:11px;line-height:1.55;color:#58644f;margin:14px auto 4px;max-width:420px}.privacy-ack input{flex:none;width:16px;height:16px;margin-top:2px;accent-color:#354938}
.privacy-link{color:#455f3e;font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:9px;min-height:40px}.privacy-accept{display:block;background:#354938;color:#fff;padding:14px 20px;border-radius:8px;margin-top:20px;width:100%;font-weight:600}
.privacy-hint{max-width:420px;margin:5px auto 0;color:#954a36;font-size:11px;line-height:1.5}.privacy-hint[hidden]{display:none}.privacy-footer-link{margin-left:8px;padding:8px 3px;min-height:36px;color:#455f3e;font:inherit;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.privacy-footer-link:hover{color:#243f2c}.privacy-footer-link:focus-visible{outline:2px solid #455f3e;outline-offset:2px}
.node-actions button.is-unfolding{background:#dfead7;color:#264e32;opacity:1;box-shadow:inset 0 0 0 1px #8da984;animation:drift-action-glow 1.4s ease-in-out infinite}.node-actions button.is-unfolding .icon{animation:drift-action-bob 1s ease-in-out infinite}
/* Source-backed research is a full-app feature, distinct from hosted Deeper. The footer
   keeps its faded label and badge, but no longer fades the whole row, so the chip stays legible. */
.node-foot{opacity:1;color:color-mix(in srgb,var(--branch-ink,#51584a) 60%,transparent)}.node-foot .foot-dot,.node-foot .branch-size{opacity:.6}
.sources-chip{display:inline-flex;align-items:center;gap:4px;margin:-4px 0 -4px 6px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--branch-stroke,#84957a) 75%,transparent);border-radius:999px;background:#fffc;color:var(--branch-ink,#343831);font-size:9px;font-weight:650;letter-spacing:0;white-space:nowrap}.sources-chip .icon{width:11px;height:11px}
.research-button.sources-feature{padding:9px 10px;border:1px solid color-mix(in srgb,var(--branch-stroke,#84957a) 75%,transparent);border-radius:8px;background:#fffc;color:var(--branch-ink,#343831);font-size:11px;font-weight:600}.research-button.sources-feature .full-app-badge{margin-left:auto;padding:2px 7px;border-radius:999px;background:#354938;color:#fffdf6;font-size:9px;font-weight:650;white-space:nowrap}
.sources-chip:hover,.research-button.sources-feature:hover{background:#fff;border-color:var(--branch-ink,#343831)}.sources-chip:focus-visible,.research-button.sources-feature:focus-visible{outline:2px solid var(--branch-ink,#343831);outline-offset:2px}
@keyframes drift-action-glow{0%,100%{background:#e5eddf;box-shadow:inset 0 0 0 1px #a1b99a}50%{background:#cfe3c6;box-shadow:inset 0 0 0 2px #6d9a73}}
@keyframes drift-action-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
/* Slots for ideas still on their way: a dashed outline and a sweep, never generated text. */
.node.slot-node{min-height:250px;border:1.5px dashed color-mix(in srgb,var(--branch-stroke,#84957a) 65%,transparent);background:color-mix(in srgb,var(--branch-fill,#fcfbf6) 60%,transparent);box-shadow:none;pointer-events:none}
.slot-node:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 35%,#fffa 50%,transparent 65%) 150% 0/250% 100% no-repeat;animation:drift-slot-sweep 1.8s ease-in-out infinite;animation-delay:calc(var(--slot,1)*.25s)}
.slot-node .node-symbol{opacity:.55}.slot-node .node-category{opacity:.9}
.slot-line{display:block;width:58%;height:20px;margin:15px 23px 16px;border-radius:5px;background:color-mix(in srgb,var(--branch-stroke,#84957a) 20%,transparent)}
@keyframes drift-slot-sweep{from{background-position:150% 0}to{background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){.slot-node:after{animation:none;background:none}.node-actions button.is-unfolding,.node-actions button.is-unfolding .icon{animation:none}}
.bottom-bar .connection-status{max-width:none;white-space:nowrap;bottom:120px}
.discovering .bottom-bar .connection-status{bottom:0}
@media(max-width:760px){.bottom-bar .connection-status{bottom:170px}}
#privacy-dialog{max-height:calc(100dvh - 32px);overflow:auto;width:min(620px,calc(100vw - 32px));padding:32px}#privacy-dialog h2{font:36px/1.1 var(--serif)}#privacy-dialog a{color:#354938;text-decoration:underline}
.site-more{position:relative;font-size:12px}.site-more summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.site-more>div{position:absolute;right:0;top:100%;min-width:160px;background:#faf9f2;border:1px solid #d3d8c7;padding:8px;border-radius:10px;box-shadow:0 12px 32px #17241922;z-index:100}.site-more>div a{display:block;padding:12px!important;text-align:left!important}
@media(max-width:600px){.site-links{grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 12px;gap:0 8px}.site-links .download-app{grid-column:2/4}.site-more{grid-column:3;grid-row:2;justify-self:end}.site-links>a:nth-child(4){display:none}.site-links>a:nth-child(2){grid-column:1}.site-links>a:nth-child(3){grid-column:2}.site-more summary{font-size:12px;min-height:38px}.fixed-guide{display:none}.privacy-ack{font-size:10px;margin-top:8px}.privacy-link{font-size:10px;padding:6px}.discovering .discovery-center{padding-top:36px}#privacy-dialog{padding:26px 22px}#privacy-dialog h2{font-size:29px}}
@media(max-width:600px){#empty-state{top:120px}.privacy-ack{font-size:12px;line-height:1.5}.privacy-link{font-size:12px}.site-more summary{min-height:44px}}
.site-links .service-link{--service-accent:#3c654d;--service-wash:#e7efe8;--service-stroke:#b8d0bc;--service-ink:#284b35;position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 12px;border:1px solid var(--service-stroke);border-radius:999px;background:var(--service-wash);color:var(--service-ink);font-weight:650;animation:drift-service-spotlight 9s ease-in-out infinite;transition:color .2s,background .2s,border-color .2s,box-shadow .2s}
.site-links .service-link::after{content:"";position:absolute;left:22%;right:22%;bottom:4px;height:2px;border-radius:2px;background:currentColor;opacity:.6;transform:scaleX(.55);transition:transform .2s,opacity .2s}
.site-links .service-amplified{--service-accent:#3157a4;--service-wash:#e7edfa;--service-stroke:#afc0e5;--service-ink:#254784;animation-delay:-1s}.site-links .service-lab{--service-accent:#725a22;--service-wash:#f4efd9;--service-stroke:#d8c992;--service-ink:#624e1e;animation-delay:2s}.site-links .service-consulting{--service-accent:#934a32;--service-wash:#f8e8e0;--service-stroke:#dfb19e;--service-ink:#7e3e2b;animation-delay:5s}
.site-links .service-link:hover,.site-links .service-link:focus-visible{background:var(--service-accent);border-color:var(--service-accent);box-shadow:0 5px 16px #263e4a2d;color:#fff;animation:none;transform:translateY(-1px)}
.site-links .service-link:hover::after,.site-links .service-link:focus-visible::after{opacity:1;transform:scaleX(1)}
@keyframes drift-service-spotlight{0%,6%,35%,100%{background:var(--service-wash);border-color:var(--service-stroke);color:var(--service-ink);box-shadow:none;transform:translateY(0)}12%,28%{background:var(--service-accent);border-color:var(--service-accent);color:#fff;box-shadow:0 5px 18px #263e4a38;transform:translateY(-2px)}}
@media(max-width:600px){.site-links{grid-template-columns:repeat(4,minmax(0,1fr))}.site-links .echohive-link{grid-column:1/3}.site-links .download-app{grid-column:3/5}.site-links>a:nth-child(2){grid-column:1}.site-links>a:nth-child(3){grid-column:2}.site-links>a:nth-child(4){display:inline-flex;grid-column:3}.site-more{grid-column:4;grid-row:2;justify-self:center}.site-links a.service-link{font-size:clamp(9px,2.55vw,11px);min-height:42px;padding:7px 2px}.site-links .service-link::after{left:25%;right:25%;bottom:5px}}
@media(max-width:360px){.site-links{grid-template-columns:repeat(3,minmax(0,1fr))}.site-links .echohive-link{grid-column:1}.site-links .download-app{grid-column:2/4}.site-links>a:nth-child(4){display:none}.site-more{grid-column:3}}
@media(prefers-reduced-motion:reduce){.site-links .service-link{animation:none;transition:none;background:var(--service-wash);border-color:var(--service-stroke);color:var(--service-ink)}.site-links .service-link::after{transition:none;transform:scaleX(.6)}}
/* Phone canvas: one quiet header, one dock, and the map between them. Live work runs in a
   single swipeable strip under the header; messages rise just above the dock. */
@media(max-width:600px){
body:not(.discovering){--row:44px;--path:40px;--tap:42px;--status:28px;--safe:env(safe-area-inset-bottom,0px);--band-end:calc(110px + var(--row))}
body:not(.discovering) .topbar{height:calc(var(--band-end) - 90px);padding:4px 12px 0;align-items:flex-start;gap:2px;background:var(--paper);border-bottom:1px solid #e3e5d9}
body:not(.discovering) .topbar .brand{height:var(--row);font-size:25px}body:not(.discovering) .topbar .brand-mark{font-size:26px}
body:not(.discovering) .sidebar-toggle{justify-content:center;width:44px;height:var(--row);padding:0;font-size:19px}
body:not(.discovering) .preview-note{top:calc(94px + var(--row));left:14px;right:12px;z-index:21;text-align:left;font-size:10px;line-height:14px;color:#6f7568;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:not(.discovering) .canvas-heading{top:94px;left:auto;right:12px;z-index:21;display:flex;align-items:center;height:var(--row);max-width:calc(100% - 156px)}
body:not(.discovering) .canvas-heading p{margin:0;font-size:14px;line-height:1.2;text-align:right;color:#6f7466;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
body:not(.discovering) .exploration-sidebar{top:var(--band-end)}
/* Generation keeps to one row however many ideas unfold. Extra jobs peek from the right, after a count. */
body:not(.discovering) .status-stack{top:calc(var(--band-end) + 8px);bottom:auto;left:0;right:0;width:auto;transform:none;z-index:21;display:flex;gap:8px;padding:0 12px 10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:12px;scrollbar-width:none;counter-reset:jobs}
body:not(.discovering) .status-stack:empty{padding:0}body:not(.discovering) .status-stack:not(:empty){pointer-events:auto}body:not(.discovering) .status-stack::-webkit-scrollbar{display:none}
body:not(.discovering) .job{flex:0 0 100%;min-height:calc(var(--tap) + 4px);padding:0 1px 0 12px;gap:10px;border-radius:14px;box-shadow:0 3px 10px #373b2714;scroll-snap-align:start;counter-increment:jobs}
body:not(.discovering) .job:not(:only-child){flex-basis:calc(100% - 92px)}
body:not(.discovering) .job strong{font-size:12px}body:not(.discovering) .job-message{margin-top:2px;font-size:10.5px;color:#737866;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:not(.discovering) .job button{flex:none;display:grid;place-items:center;width:44px;height:var(--tap);padding:0;border-radius:12px;color:#6f7564}body:not(.discovering) .job button .icon{width:16px;height:16px}
body:not(.discovering) .status-stack:has(.job+.job)::after{content:counter(jobs);content:counter(jobs) / "";order:-1;flex:none;align-self:center;display:grid;place-items:center;width:34px;height:34px;border:1px solid #b9cbb0;border-radius:50%;background:#e4ecdc;color:#2f4a35;font-size:12px;font-weight:650}
body:not(.discovering) .toast{bottom:calc(var(--safe) + var(--path) + var(--tap) + var(--status) + 26px);max-width:calc(100vw - 24px)}
/* The dock: path, view controls, then status, on one surface. Stray taps stay off the map. */
body:not(.discovering) .bottom-bar{left:0;right:0;bottom:0;gap:8px;padding:calc(var(--path) + 12px) 12px calc(var(--status) + var(--safe));background:#f7f5eff5;border-top:1px solid #e3e5d9;box-shadow:0 -10px 28px #373b270d;pointer-events:auto;touch-action:none}
body:not(.discovering) .branch-navigation{left:12px;right:12px;bottom:calc(var(--safe) + var(--status) + var(--tap) + 10px);flex-wrap:nowrap;gap:6px;font-size:12px}
body:not(.discovering) .branch-navigation button{height:var(--path);padding:0 12px;border-radius:12px;background:#fcfbf7;box-shadow:none}
body:not(.discovering) .origin-button{position:relative;justify-content:center;flex:0 1 auto;min-width:44px;max-width:100%;gap:8px}body:not(.discovering) .origin-button .icon{width:16px;height:16px}
/* Origin becomes a home icon once a path follows it. Its words stay available to assistive tech. */
body:not(.discovering) .origin-button>span:last-of-type,body:not(.discovering) .branch-navigation:has(.branch-trail:not(:empty)) #origin-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
body:not(.discovering) .branch-trail{order:0;flex:1 1 0;min-width:0;max-width:none;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}body:not(.discovering) .branch-trail::-webkit-scrollbar{display:none}
body:not(.discovering) .branch-trail button{flex:none;min-width:0;max-width:100%}body:not(.discovering) .focus-branch,body:not(.discovering) #show-all{flex:none}
body:not(.discovering) .branch-navigation button:focus-visible,body:not(.discovering) .job button:focus-visible{outline-offset:-3px}
body:not(.discovering) .canvas-tools,body:not(.discovering) .zoom-tools{flex:none;height:calc(var(--tap) + 4px);padding:1px;gap:0;border-radius:999px;border-color:#dcdfd1;background:#fcfbf7;box-shadow:none}
body:not(.discovering) .canvas-tools button,body:not(.discovering) .zoom-tools button{min-width:44px;height:var(--tap);padding:0 10px;border-radius:999px}
body:not(.discovering) .canvas-tools .tool-divider{display:none}body:not(.discovering) .canvas-tools .icon{width:18px;height:18px}body:not(.discovering) .zoom-tools .icon{width:16px;height:16px}
body:not(.discovering) .layout-switch{height:var(--tap);padding:2px}body:not(.discovering) .layout-switch button{min-width:0;height:auto;padding:0 9px;font-size:11px}
body:not(.discovering) #color-toggle{min-width:44px;padding:0 9px;gap:6px;font-size:11px}body:not(.discovering) #zoom-label{min-width:44px;padding:0 4px;font-size:11px;color:#5f6656}
body:not(.discovering) .bottom-bar .connection-status{left:14px;right:12px;bottom:var(--safe);height:var(--status);max-width:none;padding:0;gap:6px;background:none;font-size:10px;color:#6f7466}
body:not(.discovering) .status-dot{flex:none}body:not(.discovering) #connection-label{min-width:0;overflow:hidden;text-overflow:ellipsis}
body:not(.discovering) .status-divider,body:not(.discovering) #save-label{display:inline}body:not(.discovering) .status-divider{margin:0}
body:not(.discovering) .privacy-footer-link{margin-left:auto;min-height:0;height:100%;padding:0 2px 0 8px}
}
@media(max-width:389px){body:not(.discovering) #color-label{display:none}}
@media(max-width:360px){body:not(.discovering) .bottom-bar{padding-left:10px;padding-right:10px}body:not(.discovering) .branch-navigation{left:10px;right:10px}body:not(.discovering) .layout-switch button{padding:0 7px;font-size:10px}body:not(.discovering) #fit-button,body:not(.discovering) #color-toggle,body:not(.discovering) .zoom-tools button{min-width:40px}body:not(.discovering) #zoom-label{min-width:38px}body:not(.discovering) .canvas-heading{max-width:calc(100% - 150px)}body:not(.discovering) .canvas-heading p{font-size:13px}}
@media(max-width:600px) and (max-height:560px){body:not(.discovering){--row:40px;--path:36px;--tap:38px;--status:24px}}
/* A short, visible notice stays beside the input; full details live in the bottom bar. */
.headline-short{display:none}
.topic-meta{max-width:440px;box-sizing:border-box;align-items:baseline;margin:8px auto 14px;padding:0 8px;color:#65705c;font-size:11px;line-height:1.4}
.topic-meta>span:first-child{text-align:left}
#topic-counter{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.privacy-row{max-width:440px;margin:5px auto 0}
.privacy-row .privacy-ack{margin:0;padding:7px 8px;max-width:none;align-items:flex-start;cursor:pointer;font-size:11px;line-height:1.5;color:#687264}
.privacy-row .privacy-ack input{width:17px;height:17px;margin:0;flex:none}
.privacy-notice{display:block;flex:1}
@media(max-width:760px){
.headline-full{display:none}.headline-short{display:inline}
.topic-meta{display:none}
}
