:root{--bg:#02050a;--panel:#07101a;--line:#1c3246;--text:#eef6ff;--muted:#8298ae;--cyan:#50e6ff;--orange:#ff8a16;--purple:#7934ff;--teal:#54e0be;--agent:#6f9cff;--formula:#c978ff;--evidence:#4de0cf;--gold:#e6d75a}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#061427;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
button,input{font:inherit}button{color:var(--text);background:#07131e;border:1px solid var(--line);border-radius:10px;min-height:38px;padding:7px 10px;cursor:pointer}button:hover{border-color:var(--cyan);color:var(--cyan)}
#app{width:100%;height:100%;position:relative;background:#061427}
#topbar{position:absolute;z-index:60;left:0;right:0;top:0;min-height:56px;padding:7px 10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(2,5,10,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.brand{font-size:13px;font-weight:900;letter-spacing:.09em}.brand span{color:#71e4ff}.brand small{display:block;color:#71879a;font-size:8px;letter-spacing:.13em;margin-top:2px}.top-stats{display:flex;gap:7px;align-items:center;flex:1;flex-wrap:wrap}.top-stats span{font-size:9px;color:#9db2c5;border:1px solid rgba(100,150,190,.22);padding:6px 8px;border-radius:999px}.live-dot{color:#65e6b9!important}.top-actions{display:flex;gap:7px}
#crumbs{position:absolute;z-index:45;left:10px;right:10px;top:62px;display:flex;align-items:center;gap:6px}.crumb{min-height:29px;padding:4px 9px;border-radius:999px;font-size:9px}.crumb.active{color:var(--cyan);border-color:rgba(80,230,255,.45)}.sep{color:#587086}.crumb+span,#crumbCurrent{font-size:9px;color:#7890a7;letter-spacing:.08em}
#stage{position:absolute;inset:92px 0 228px 0;overflow:hidden;background:#061427;touch-action:none}
#nucleus{position:absolute;inset:0;overflow:hidden;background:#061427}
#nucleusFallbackImage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;opacity:0}
#nucleusWaveCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2;pointer-events:none;background:transparent}
#nucleus:after{content:"";position:absolute;inset:0;z-index:3;background:radial-gradient(circle at 50% 50%,transparent 0 18%,rgba(2,5,10,.04) 42%,rgba(2,5,10,.42) 100%);pointer-events:none;animation:brainGlow 9s ease-in-out infinite alternate}
@keyframes brainGlow{0%{opacity:.78}100%{opacity:1}}
#world{position:absolute;left:50%;top:50%;width:1400px;height:850px;transform:translate(-50%,-50%) scale(1);transform-origin:center;will-change:transform}
#edges{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.edge{stroke:rgba(105,175,225,.28);stroke-width:1.4}.edge.core{stroke:rgba(80,230,255,.42)}.edge.evidence{stroke:rgba(77,224,207,.34);stroke-dasharray:5 5}
#nodes{position:absolute;inset:0}.node{position:absolute;transform:translate(-50%,-50%);width:142px;min-height:64px;border:1.6px solid var(--zone,#62a8ff);border-radius:16px;background:linear-gradient(160deg,rgba(7,17,27,.96),rgba(3,10,18,.96));color:#eef6ff;padding:9px 8px;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.35),0 0 18px color-mix(in srgb,var(--zone,#62a8ff) 14%,transparent);cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.node:hover,.node.selected{transform:translate(-50%,-50%) scale(1.07);border-color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.45),0 0 24px color-mix(in srgb,var(--zone,#62a8ff) 38%,transparent);z-index:9}.node b{display:block;font-size:12px;line-height:1.18;text-shadow:0 1px 2px #000}.node small{display:block;color:#8da5b9;font-size:8.5px;line-height:1.2;margin-top:5px}.node.center{width:210px;min-height:96px;border-width:2.5px;--zone:#50e6ff;background:radial-gradient(circle at 50% 20%,rgba(80,230,255,.18),rgba(6,19,31,.98));box-shadow:0 0 34px rgba(80,230,255,.22)}.node.category{width:165px;min-height:75px}.node.project{width:132px}.node.evidence{border-style:dashed}
#hud{position:absolute;z-index:50;right:14px;top:12px;width:min(470px,39vw);max-height:calc(100% - 24px);overflow:auto;border:1px solid rgba(109,169,255,.6);border-radius:18px;background:linear-gradient(155deg,rgba(5,11,20,.99),rgba(3,8,15,.99));padding:14px;box-shadow:0 22px 80px rgba(0,0,0,.75),0 0 32px rgba(86,199,255,.12);backdrop-filter:blur(18px)}#hud.hidden{display:none}.hudHeader{display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:center}.hudIcon{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;border:1px solid rgba(80,230,255,.55);background:radial-gradient(circle,rgba(80,230,255,.18),rgba(7,17,27,.92));font-size:27px}.hudTitle h2{margin:0;font-size:21px}.hudSubtitle{font-size:10px;color:#91a9bd;margin-top:5px}.hudClose{min-width:34px}.hudSection{margin-top:10px;border:1px solid rgba(55,82,108,.62);border-radius:12px;background:rgba(5,14,24,.76);padding:10px}.hudSectionTitle{color:#71e4ff;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}.hudSection p{margin:0;color:#cfdbe5;font-size:11.5px;line-height:1.55}.hudFacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.hudFact{border:1px solid rgba(42,68,92,.72);border-radius:10px;background:rgba(3,10,18,.76);padding:8px}.hudFact b{display:block;font-size:9px;color:#728aa0;margin-bottom:4px;text-transform:uppercase}.hudFact span{font-size:10px;color:#e2edf7;overflow-wrap:anywhere}.hudButtons{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.hudLink{display:inline-flex;align-items:center;min-height:36px;padding:7px 10px;border-radius:9px;border:1px solid rgba(80,230,255,.32);color:#def8ff;background:rgba(80,230,255,.08);text-decoration:none;font-size:10px;font-weight:700}.hidden{display:none!important}
#zoomControls{position:absolute;z-index:42;left:12px;right:auto;bottom:13px;display:flex;gap:6px}#zoomControls button{width:38px;padding:0;font-size:18px}.hint,#hint{position:absolute;z-index:40;left:50%;bottom:14px;transform:translateX(-50%);font-size:9px;color:#6f8599;white-space:nowrap}
#projectCarousel{position:absolute;z-index:55;left:50%;bottom:8px;transform:translateX(-50%);width:min(96vw,1400px);height:205px;border:1px solid rgba(107,170,255,.5);border-radius:22px;background:linear-gradient(180deg,rgba(4,11,21,.94),rgba(2,7,14,.97));padding:11px 13px 13px;box-shadow:0 18px 55px rgba(0,0,0,.55),0 0 28px rgba(80,230,255,.1);backdrop-filter:blur(18px)}
.carouselToolbar{display:flex;align-items:center;gap:10px;margin-bottom:9px}.carouselTitle{display:flex;align-items:center;gap:7px;color:#d7efff;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.carouselTitle span{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:rgba(80,230,255,.12);border:1px solid rgba(80,230,255,.32);color:#83efff}.carouselToolbar input{flex:1;max-width:440px;min-height:34px;padding:7px 10px;border-radius:10px;border:1px solid rgba(112,183,255,.42);background:rgba(8,20,32,.86);color:#eff8ff}.carouselCount{font-size:9px;color:#839ab0;margin-left:auto}.carouselTrack{display:flex;gap:9px;overflow-x:auto;padding:2px 1px 7px;scroll-snap-type:x proximity}.projectCard{flex:0 0 220px;scroll-snap-align:start;padding:10px 11px;border:1px solid rgba(118,155,198,.34);border-radius:15px;background:linear-gradient(180deg,rgba(8,18,32,.92),rgba(4,12,22,.88));cursor:pointer;color:#eff7ff;transition:.14s ease}.projectCard:hover,.projectCard.active{transform:translateY(-2px);border-color:rgba(80,230,255,.78);box-shadow:0 11px 28px rgba(0,0,0,.3),0 0 18px rgba(80,230,255,.09)}.cardTop{display:flex;justify-content:space-between;gap:8px;align-items:center}.cardType{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#72dff5}.cardEvidence{font-size:8px;color:#87a0b5}.projectCard h3{font-size:11px;margin:7px 0 5px}.projectCard p{font-size:9px;color:#8299ad;line-height:1.35;margin:0}.carouselTrack::-webkit-scrollbar{height:7px}.carouselTrack::-webkit-scrollbar-thumb{background:rgba(80,230,255,.32);border-radius:999px}
#agentLee{position:absolute;z-index:56;left:14px;bottom:221px;width:310px;border:1px solid rgba(111,156,255,.42);border-radius:16px;background:rgba(4,12,22,.93);box-shadow:0 16px 42px rgba(0,0,0,.42);overflow:hidden;backdrop-filter:blur(14px)}.agentHead{display:flex;align-items:center;gap:9px;padding:9px 11px;border-bottom:1px solid rgba(111,156,255,.18)}.agentHead img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid rgba(80,230,255,.5)}.agentHead b{display:block;font-size:11px}.agentHead small{display:block;color:#6f879c;font-size:8px;margin-top:2px}#agentText{padding:10px 11px;color:#9eb3c5;font-size:10px;line-height:1.5;max-height:120px;overflow:auto}
@media(max-width:900px){#stage{bottom:232px}.top-stats{display:none}.brand small{display:none}#hud{left:8px;right:8px;top:auto;bottom:10px;width:auto;max-height:62%}#projectCarousel{height:208px}.projectCard{flex-basis:180px}#agentLee{display:none}#hint{display:none}.node{width:118px;min-height:58px}.node.center{width:165px}.node.category{width:140px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.agentIdentity{flex:1}.agentMic{width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;font-size:16px;border-color:rgba(80,230,255,.45)}.agentMic.listening{color:#ff8a16;border-color:#ff8a16;box-shadow:0 0 20px rgba(255,138,22,.28)}.agentTranscript{padding:8px 11px 11px;color:#dff7ff;font-size:9px;border-top:1px solid rgba(111,156,255,.15);max-height:90px;overflow:auto}
.workspace{position:absolute;z-index:90;inset:70px 18px 18px 18px;border:1px solid rgba(80,230,255,.48);border-radius:22px;background:linear-gradient(180deg,rgba(3,10,18,.985),rgba(2,6,12,.995));box-shadow:0 30px 120px rgba(0,0,0,.8),0 0 50px rgba(80,230,255,.12);backdrop-filter:blur(18px);overflow:hidden;display:flex;flex-direction:column}
.workspaceHead{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px 10px;border-bottom:1px solid rgba(80,230,255,.16)}.workspaceKicker{font-size:8px;letter-spacing:.16em;color:#78daf6;font-weight:900}.workspaceHead h2{margin:3px 0 0;font-size:20px}.workspaceHeadActions{display:flex;gap:7px;align-items:center}.workspaceAction{display:inline-flex;align-items:center;min-height:36px;padding:7px 10px;border-radius:9px;border:1px solid rgba(80,230,255,.32);color:#def8ff;background:rgba(80,230,255,.08);text-decoration:none;font-size:10px;font-weight:700}.workspaceTabs{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid rgba(100,150,190,.13);overflow-x:auto}.workspaceTabs button{min-height:34px;font-size:9px;border-radius:999px;white-space:nowrap}.workspaceTabs button.active{color:#50e6ff;border-color:#50e6ff}.workspaceBody{flex:1;min-height:0;overflow:auto;padding:14px}.workspaceGrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:14px}.workspacePanel{border:1px solid rgba(82,130,170,.25);border-radius:15px;background:rgba(5,14,24,.72);padding:13px}.workspacePanel h3{margin:0 0 8px;font-size:13px}.workspacePanel p{margin:0;color:#9eb3c5;font-size:10.5px;line-height:1.55}.liveFrame{width:100%;height:min(68vh,760px);border:1px solid rgba(80,230,255,.22);border-radius:14px;background:#050b12}.fileBrowser{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;height:min(68vh,760px)}.fileList,.filePreview{border:1px solid rgba(82,130,170,.24);border-radius:14px;background:rgba(4,12,22,.78);overflow:auto}.fileListHead{position:sticky;top:0;padding:9px 10px;background:#07101a;border-bottom:1px solid rgba(82,130,170,.22);z-index:2;font-size:9px;color:#8ea5b9}.fileEntry{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;border-bottom:1px solid rgba(82,130,170,.1);border-radius:0;background:transparent;padding:8px 10px;min-height:0;color:#dce9f4}.fileEntry:hover{background:rgba(80,230,255,.06)}.fileGlyph{width:18px;color:#70dff4}.fileName{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filePreviewInner{padding:14px}.filePreview pre{white-space:pre-wrap;word-break:break-word;font:10px/1.5 ui-monospace,Consolas,monospace;color:#dce9f4}.filePreview img,.filePreview video{max-width:100%;border-radius:12px}.evidenceGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.evidenceTile{border:1px solid rgba(77,224,207,.25);border-radius:14px;background:rgba(4,12,22,.78);overflow:hidden;cursor:pointer}.evidenceTile img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#07101a}.evidenceTileBody{padding:10px}.evidenceTileBody b{font-size:10px}.evidenceTileBody small{display:block;color:#7890a7;font-size:8px;margin-top:4px}.slideStrip{display:flex;gap:8px;overflow-x:auto;margin-top:10px}.slideStrip img{width:180px;aspect-ratio:16/9;object-fit:cover;border:1px solid rgba(255,255,255,.1);border-radius:9px}
@media(max-width:900px){
 #stage{bottom:184px}#projectCarousel{height:170px;padding:8px 9px}.carouselToolbar{margin-bottom:6px}.carouselToolbar input{min-width:120px}.projectCard{flex-basis:142px;padding:8px}.projectCard h3{font-size:9px;margin:5px 0}.projectCard p{display:none}.cardType,.cardEvidence{font-size:7px}.node{width:86px;min-height:48px;border-radius:13px;padding:6px 5px}.node b{font-size:9px}.node small{font-size:7px;margin-top:3px}.node.center{width:132px;min-height:70px}.node.category{width:105px;min-height:58px}.workspace{inset:58px 5px 5px 5px;border-radius:15px}.workspaceHead{padding:10px}.workspaceHead h2{font-size:15px}.workspaceBody{padding:8px}.workspaceGrid{grid-template-columns:1fr}.fileBrowser{grid-template-columns:1fr;height:auto}.fileList{max-height:240px}.filePreview{min-height:280px}.liveFrame{height:72vh}#agentLee{display:flex;flex-direction:column;left:8px;right:8px;bottom:178px;width:auto;max-height:118px}.agentHead{padding:6px 8px}.agentHead img{width:28px;height:28px}#agentText{font-size:8.5px;padding:7px 8px;max-height:58px}.agentMic{width:30px;height:30px;min-height:30px}
}
@media(prefers-reduced-motion:reduce){#nucleus:before,#nucleus:after{animation:none!important}}

.agentReason{width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;font-size:9px;font-weight:900;border-color:rgba(155,108,255,.5);color:#c9aaff}.agentReason.loading{animation:reasonPulse 1.2s ease-in-out infinite}.agentReason.ready{color:#65e6b9;border-color:#65e6b9;box-shadow:0 0 18px rgba(101,230,185,.2)}@keyframes reasonPulse{50%{opacity:.45;transform:scale(.94)}}
#agentLee{pointer-events:none}#agentLee .agentMic,#agentLee .agentReason{pointer-events:auto}

@media(max-width:900px){#hud{display:none!important}}

/* v10 visual fidelity + navigation */
#nucleusWaveCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.9}
#nucleus:before{z-index:1}#nucleus:after{z-index:3}
.node{overflow:hidden}
.node b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;word-break:break-word;overflow-wrap:anywhere;hyphens:auto}
.node small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word;overflow-wrap:anywhere}
.node.longLabel b{font-size:10px;line-height:1.08}.node.veryLongLabel b{font-size:8.5px;line-height:1.02}.node.veryLongLabel small{display:none}
.carouselNav{width:34px;min-width:34px;min-height:34px;padding:0;border-radius:50%;font-size:21px;display:grid;place-items:center}
.carouselTrack{scroll-behavior:smooth;overscroll-behavior-x:contain;touch-action:pan-x}
.appearancePanel{position:absolute;z-index:95;right:14px;top:70px;width:min(360px,calc(100vw - 28px));padding:13px;border:1px solid rgba(80,230,255,.48);border-radius:18px;background:linear-gradient(160deg,rgba(4,12,22,.98),rgba(2,8,15,.99));box-shadow:0 24px 80px rgba(0,0,0,.65),0 0 35px rgba(80,230,255,.12);backdrop-filter:blur(18px)}
.appearanceHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.appearanceHead strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.appearanceHead button{width:32px;min-height:32px;padding:0}
.appearancePanel label{display:grid;grid-template-columns:1fr minmax(130px,170px);align-items:center;gap:12px;margin-top:9px;font-size:10px;color:#c8d6e1}
.appearancePanel input[type=color]{width:100%;height:34px;border:1px solid rgba(107,170,255,.36);border-radius:9px;background:#06101a;padding:2px}
.appearancePanel input[type=range]{width:100%}
.paletteRow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.paletteRow button{min-height:32px;font-size:9px;padding:4px}
@media(max-width:900px){
 .appearancePanel{left:7px;right:7px;top:58px;width:auto;max-height:70vh;overflow:auto}
 .appearancePanel label{grid-template-columns:1fr 120px}
 .carouselNav{display:grid}
 .node.longLabel b{font-size:8.3px}.node.veryLongLabel b{font-size:7.4px}
}

:root{--brain-hue:0deg;--brain-bright:1;--brain-sat:1.04}
#nucleus:before{filter:hue-rotate(var(--brain-hue)) saturate(var(--brain-sat)) contrast(1.04) brightness(var(--brain-bright))}

.node b{font-size:calc(12px * var(--label-scale,1));line-height:1.16;overflow-wrap:anywhere;word-break:normal}
.node small{font-size:calc(8.5px * var(--label-scale,1));line-height:1.18;overflow-wrap:anywhere}
.node.longLabel b{font-size:calc(10px * var(--label-scale,1));line-height:1.08}
.node.veryLongLabel b{font-size:calc(8.3px * var(--label-scale,1));line-height:1.03}
@media(max-width:900px){
 .node b{font-size:calc(9px * var(--label-scale,1))}
 .node small{font-size:calc(7px * var(--label-scale,1))}
 .node.longLabel b{font-size:calc(8px * var(--label-scale,1))}
 .node.veryLongLabel b{font-size:calc(7px * var(--label-scale,1))}
}

/* Real nucleus canvas is the image authority; do not screen-blend it with a duplicate layer. */
#nucleusWaveCanvas{mix-blend-mode:normal!important;opacity:1!important}

.node b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:normal;text-overflow:ellipsis;max-height:3.5em}
.node.veryLongLabel b{-webkit-line-clamp:4;max-height:4.15em}
@media(max-width:900px){
 .node b{-webkit-line-clamp:2;max-height:2.35em}
 .node.veryLongLabel b{-webkit-line-clamp:3;max-height:3.1em}
}

/* ===== Brain-first presentation state ===== */
body.brain-intro #world,
body.brain-intro #projectCarousel,
body.brain-intro #hud,
body.brain-intro #crumbs,
body.brain-intro #zoomControls,
body.brain-intro #hint,
body.brain-intro #topbar .top-stats,
body.brain-intro #topbar .top-actions{opacity:0!important;pointer-events:none!important}
body.brain-intro #world{transform:translate(-50%,-50%) scale(.72)!important}
body.brain-intro #projectCarousel{transform:translate(-50%,130%)}
body.brain-intro #topbar{background:linear-gradient(180deg,rgba(2,5,10,.72),rgba(2,5,10,0));border-bottom:0;pointer-events:none}
body.brain-intro #topbar .brand{pointer-events:auto}
.enterBrain{position:absolute;z-index:44;left:50%;bottom:10%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;min-width:230px;padding:10px 16px;border-radius:999px;background:rgba(2,8,15,.55);border:1px solid rgba(80,230,255,.45);backdrop-filter:blur(12px);box-shadow:0 0 35px rgba(80,230,255,.13);color:#eafaff}
.enterBrain span{font-size:11px;letter-spacing:.16em;font-weight:900}.enterBrain small{font-size:8px;color:#85a0b8;letter-spacing:.04em}
body:not(.brain-intro) .enterBrain{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(18px)}
#world,#projectCarousel,#crumbs,#zoomControls,#hint,#topbar .top-stats,#topbar .top-actions,.enterBrain{transition:opacity .38s ease,transform .48s cubic-bezier(.2,.75,.2,1)}

/* ===== Label containment ===== */
.node{overflow:hidden}
.node b{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2;overflow:hidden!important;white-space:normal!important;text-overflow:ellipsis!important;max-height:2.38em!important;word-break:normal!important;overflow-wrap:anywhere!important}
.node small{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:1!important;line-clamp:1;overflow:hidden!important;white-space:normal!important;text-overflow:ellipsis!important;max-height:1.35em!important}
.node.longLabel b{font-size:calc(10.5px * var(--label-scale,1))!important}
.node.veryLongLabel b{font-size:calc(9.2px * var(--label-scale,1))!important}
.node.center b{font-size:calc(13px * var(--label-scale,1))!important}
.node.category b{font-size:calc(11px * var(--label-scale,1))!important}

/* ===== Compact project rail ===== */
#projectCarousel{height:116px;padding:7px 10px 9px;border-radius:16px;bottom:7px;width:min(94vw,1280px)}
.carouselToolbar{margin-bottom:6px;min-height:30px}.carouselTitle{font-size:8.5px}.carouselTitle span{width:18px;height:18px}.carouselToolbar input{min-height:30px;font-size:11px;max-width:340px}
.carouselTrack{gap:7px;padding:1px 0 4px}.projectCard{flex:0 0 166px;padding:7px 8px;border-radius:11px}.projectCard h3{font-size:9.5px;margin:4px 0}.projectCard p{display:none}.cardType,.cardEvidence{font-size:6.8px}.carouselCount{font-size:8px}.carouselNav{min-width:30px;min-height:30px;padding:0;font-size:18px}
#stage{bottom:126px}

/* ===== Agent Lee portrait microphone + comic bubble ===== */
#agentLee{position:absolute;z-index:82;left:14px;bottom:134px;width:auto;background:transparent;border:0;box-shadow:none;overflow:visible;backdrop-filter:none;pointer-events:none}
.agentPortrait{pointer-events:auto;position:relative;width:58px;height:58px;min-height:58px;padding:0;border-radius:50%;border:1px solid rgba(80,230,255,.66);background:radial-gradient(circle,rgba(80,230,255,.14),rgba(2,8,15,.94));box-shadow:0 0 26px rgba(80,230,255,.18);overflow:visible}
.agentPortrait img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.agentPulse{position:absolute;inset:-5px;border:1px solid rgba(80,230,255,.32);border-radius:50%;opacity:.8}.agentPortrait.listening .agentPulse{animation:agentPulse 1.1s ease-in-out infinite;border-color:#ff8a16}.agentPortrait.listening{border-color:#ff8a16}
@keyframes agentPulse{50%{transform:scale(1.12);opacity:.2}}
.agentBubble{pointer-events:auto;position:absolute;left:72px;bottom:4px;width:min(410px,calc(100vw - 110px));max-height:270px;padding:11px;border:1px solid rgba(111,156,255,.48);border-radius:18px 18px 18px 5px;background:linear-gradient(160deg,rgba(5,14,25,.985),rgba(2,8,15,.99));box-shadow:0 20px 65px rgba(0,0,0,.6),0 0 28px rgba(80,230,255,.1);backdrop-filter:blur(16px)}
.agentBubble:after{content:"";position:absolute;left:-12px;bottom:12px;border-width:10px 12px 0 0;border-style:solid;border-color:rgba(5,14,25,.985) transparent transparent transparent}
.agentBubbleHead{display:flex;align-items:center;gap:8px;margin-bottom:7px}.agentBubbleHead strong{font-size:11px}.agentBubbleHead small{font-size:8px;color:#7390aa;flex:1}.agentBubbleHead button{min-width:28px;min-height:28px;padding:0}
#agentText{padding:0;color:#c6d5e2;font-size:10px;line-height:1.5;max-height:120px;overflow:auto}
.agentTranscript{margin-top:7px;padding:6px 8px;border-left:2px solid #50e6ff;background:rgba(80,230,255,.05);font-size:9px;color:#dff7ff}
.agentInputRow{display:grid;grid-template-columns:minmax(0,1fr) 34px 36px;gap:6px;margin-top:8px}.agentInputRow textarea{resize:none;min-height:34px;max-height:72px;border:1px solid rgba(111,156,255,.34);border-radius:10px;background:#06101a;color:#edf8ff;padding:8px 9px;font:10px/1.35 system-ui}.agentInputRow button{min-height:34px;padding:0}
.agentReason{font-size:8px;font-weight:900}
#agentLee{pointer-events:none}#agentLee .agentPortrait,#agentLee .agentBubble{pointer-events:auto}

/* ===== Appearance panel compact, original-brain inspired ===== */
.appearancePanel{width:min(390px,calc(100vw - 24px));max-height:74vh;overflow:auto}
.appearanceHead{position:sticky;top:0;z-index:2;background:rgba(4,12,22,.98);padding-bottom:6px}
.paletteRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:10px}.paletteRow button{font-size:8px;min-height:30px}

/* ===== Mobile ===== */
@media(max-width:900px){
 #stage{bottom:94px}
 #projectCarousel{height:84px;width:calc(100vw - 10px);padding:5px 6px;border-radius:12px}
 .carouselToolbar{margin-bottom:3px;gap:5px}.carouselTitle{display:none}.carouselToolbar input{min-height:27px;font-size:9px;min-width:0}.carouselCount{font-size:7px}.carouselNav{min-width:27px;min-height:27px}
 .projectCard{flex-basis:118px;padding:5px 6px}.projectCard h3{font-size:8px;margin:3px 0}.cardType,.cardEvidence{font-size:6px}
 #agentLee{display:block;left:8px;bottom:96px;right:auto;width:auto;max-height:none}
 .agentPortrait{width:48px;height:48px;min-height:48px}
 .agentBubble{left:58px;bottom:2px;width:min(315px,calc(100vw - 74px));max-height:220px;padding:9px}
 #agentText{font-size:9px;max-height:92px}.agentInputRow{grid-template-columns:minmax(0,1fr) 31px 33px}.agentInputRow textarea{font-size:9px;min-height:31px}
 .node{width:92px!important;min-height:48px!important;padding:5px 5px!important}.node b{font-size:calc(8.3px * var(--label-scale,1))!important;-webkit-line-clamp:2!important;max-height:2.35em!important}.node small{font-size:calc(6.5px * var(--label-scale,1))!important}.node.center{width:126px!important;min-height:66px!important}.node.category{width:104px!important;min-height:54px!important}
 .enterBrain{bottom:16%;min-width:205px;padding:9px 13px}.enterBrain span{font-size:9.5px}.enterBrain small{font-size:7px}
}

/* Intro keeps only the brand + appearance control visible */
body.brain-intro #topbar .top-actions{opacity:1!important;pointer-events:auto!important}
body.brain-intro #tourBtn,body.brain-intro #resetBtn{display:none!important}
body.brain-intro #appearanceBtn{display:inline-flex!important}

/* Local reasoning is automatic; no separate public model button */
.agentReason{display:none!important}

body.brain-intro #stage{inset:0!important}
body.brain-intro #nucleus{inset:0!important}
body.brain-intro #agentLee{bottom:18px}
body.brain-intro .agentPortrait{width:52px;height:52px;min-height:52px}

/* ===== Reference-image visual language: glass, fine lines, brain-dominant ===== */
#topbar{min-height:48px;padding:7px 14px;background:linear-gradient(180deg,rgba(2,7,14,.64),rgba(2,7,14,.18));border-bottom:1px solid rgba(115,190,255,.10);backdrop-filter:blur(8px)}
.brand{font-size:11px;letter-spacing:.15em;text-shadow:0 0 16px rgba(80,230,255,.18)}.brand small{font-size:7px;color:#728aa0}
#crumbs{top:55px;opacity:.82}.crumb{min-height:25px;padding:3px 8px;background:rgba(4,13,22,.42);border-color:rgba(80,230,255,.14);backdrop-filter:blur(6px)}
#stage{background:radial-gradient(circle at 50% 48%,rgba(4,20,34,.08),rgba(1,5,10,.02) 52%,rgba(0,0,0,.14) 100%)}
.node{width:126px;min-height:48px;padding:6px 7px;border-width:1px;border-radius:10px;background:linear-gradient(180deg,rgba(4,15,26,.42),rgba(2,9,16,.32));backdrop-filter:blur(5px);box-shadow:0 6px 18px rgba(0,0,0,.22),0 0 12px color-mix(in srgb,var(--zone,#62a8ff) 12%,transparent)}
.node:hover,.node.selected{transform:translate(-50%,-50%) scale(1.045);border-color:color-mix(in srgb,var(--zone,#62a8ff) 78%,white 22%);box-shadow:0 8px 22px rgba(0,0,0,.28),0 0 18px color-mix(in srgb,var(--zone,#62a8ff) 26%,transparent)}
.node.center{width:156px;min-height:66px;border-width:1.25px;border-radius:12px;background:linear-gradient(180deg,rgba(5,24,37,.42),rgba(2,11,20,.34));box-shadow:0 0 20px rgba(80,230,255,.13)}
.node.category{width:136px;min-height:52px}.node.project{width:116px;min-height:44px}.node.evidence{border-style:solid}
.node b{font-weight:720!important;letter-spacing:.01em;text-shadow:0 1px 7px rgba(0,0,0,.72)}.node small{color:#87a0b6!important;opacity:.82}
.edge{stroke:rgba(99,188,239,.14)!important;stroke-width:.75!important}.edge.core{stroke:rgba(80,230,255,.18)!important}.edge.evidence{stroke:rgba(77,224,207,.18)!important;stroke-dasharray:2 5}
#zoomControls{opacity:.62}#zoomControls button{width:32px;min-height:32px;border-radius:50%;background:rgba(2,10,18,.38);border-color:rgba(80,230,255,.15);backdrop-filter:blur(5px)}
#projectCarousel{background:linear-gradient(180deg,rgba(2,9,16,.70),rgba(2,7,13,.78));border-color:rgba(90,176,226,.24);box-shadow:0 12px 38px rgba(0,0,0,.32),0 0 18px rgba(80,230,255,.05);backdrop-filter:blur(12px)}
.projectCard{background:linear-gradient(180deg,rgba(6,17,29,.52),rgba(3,10,18,.48));border-color:rgba(109,161,198,.20);box-shadow:none}.projectCard:hover,.projectCard.active{border-color:rgba(80,230,255,.45);box-shadow:0 0 14px rgba(80,230,255,.07)}
.carouselToolbar input{background:rgba(3,12,21,.45);border-color:rgba(96,170,217,.22)}
.appearancePanel,.workspace,.agentBubble{background:linear-gradient(160deg,rgba(4,13,23,.94),rgba(2,8,15,.96));border-color:rgba(94,183,236,.28);box-shadow:0 24px 80px rgba(0,0,0,.52),0 0 25px rgba(80,230,255,.06)}
@media(max-width:900px){
 .node{width:78px!important;min-height:40px!important;border-radius:8px;padding:4px 4px!important}
 .node.center{width:112px!important;min-height:58px!important}.node.category{width:88px!important;min-height:44px!important}
 .node b{font-size:calc(7.4px * var(--label-scale,1))!important}.node small{font-size:calc(5.8px * var(--label-scale,1))!important}
}

/* ===== Actual visible Digital Brain authority ===== */
.brainCoreVisual{position:absolute;z-index:4;left:50%;top:50%;width:min(72vw,820px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;opacity:.98;filter:drop-shadow(0 0 28px rgba(46,197,255,.18))}
.brainCoreVisual svg{width:100%;height:100%;overflow:visible}
.brainOrbits circle{fill:none;stroke:#1aaaff;stroke-width:1.25;stroke-opacity:.34;stroke-dasharray:3 9;transform-origin:450px 430px}
.brainOrbits circle:nth-child(1){animation:orbitSpin 34s linear infinite}
.brainOrbits circle:nth-child(2){animation:orbitSpinReverse 27s linear infinite}
.brainOrbits circle:nth-child(3){animation:orbitPulse 7s ease-in-out infinite}
.brainHemisphere path{fill:rgba(0,43,78,.08);stroke:#79efff;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.brainHemisphere path:nth-child(1),.brainHemisphere path:nth-child(2){animation:brainStroke 5.8s ease-in-out infinite alternate}
.brainNetwork path{fill:none;stroke:#52dfff;stroke-width:1.35;stroke-opacity:.58}
.brainNodes circle{fill:#d9ffff;stroke:#43dfff;stroke-width:1.5;animation:nodePulse 2.8s ease-in-out infinite}
.brainNodes circle:nth-child(3n){animation-delay:.7s}.brainNodes circle:nth-child(4n){animation-delay:1.4s}
.brainPedestal ellipse,.brainPedestal path{fill:none;stroke:#21b9ff;stroke-width:1.3;stroke-opacity:.55}
.brainPedestal ellipse{animation:pedestalPulse 4.8s ease-in-out infinite}
.brainFormulaLayer{position:absolute;z-index:5;inset:0;pointer-events:none;color:#b9e3ff;font-family:Georgia,"Times New Roman",serif;text-shadow:0 0 12px rgba(39,148,255,.25)}
.brainQuote{position:absolute;left:2.4%;top:8%;font-size:clamp(12px,1.2vw,20px);line-height:1.45;font-style:italic;color:#d7eeff}
.brainQuote:after{content:"";display:block;width:58px;height:3px;margin-top:12px;background:#27e4ea;box-shadow:0 0 12px rgba(39,228,234,.35)}
.formula{position:absolute;font-size:clamp(14px,1.7vw,28px);opacity:.64}
.formulaA{left:18%;top:25%}.formulaB{right:19%;top:23%}.formulaC{left:11%;bottom:31%}.formulaD{right:10%;bottom:23%}
body:not(.brain-intro) .brainCoreVisual{width:min(78vw,930px);opacity:.28;filter:drop-shadow(0 0 22px rgba(46,197,255,.10))}
body:not(.brain-intro) .brainFormulaLayer{opacity:.16}
body:not(.brain-intro) #nucleusWaveCanvas{opacity:.82!important}
@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes orbitSpinReverse{to{transform:rotate(-360deg)}}@keyframes orbitPulse{50%{opacity:.75;stroke-width:2}}
@keyframes brainStroke{0%{stroke-opacity:.62;filter:drop-shadow(0 0 5px rgba(83,225,255,.35))}100%{stroke-opacity:1;filter:drop-shadow(0 0 12px rgba(83,225,255,.65))}}
@keyframes nodePulse{50%{r:8;opacity:.55}}@keyframes pedestalPulse{50%{stroke-opacity:.9}}
@media(max-width:900px){
 .brainCoreVisual{width:min(115vw,720px);top:48%}
 body:not(.brain-intro) .brainCoreVisual{width:min(122vw,760px);opacity:.22}
 .brainQuote{left:5%;top:8%;font-size:11px}.formula{font-size:13px}.formulaA{left:12%;top:25%}.formulaB{right:10%;top:24%}.formulaC{left:7%;bottom:32%}.formulaD{right:6%;bottom:24%}
}
@media(prefers-reduced-motion:reduce){.brainOrbits circle,.brainHemisphere path,.brainNodes circle,.brainPedestal ellipse{animation:none!important}}

/* ===== Exact Docker 3D brain shell + camera-depth reveal ===== */
#brainUniverseLayer{
  position:absolute;inset:0;z-index:24;
  opacity:var(--brain-shell-alpha,1);
  transition:opacity .42s ease;
  pointer-events:auto;overflow:hidden;background:transparent
}
#brain3DCanvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}
#brain3DCanvas:active{cursor:grabbing}
#brain3DCanvas canvas{display:block;width:100%!important;height:100%!important}
#brainInternalLabels{
  position:absolute;inset:0;pointer-events:none;
  opacity:var(--brain-label-alpha,0);
  transition:opacity .38s ease
}
.brainInternalLabel{
  position:absolute;top:51%;transform:translate(-50%,-50%);
  min-width:126px;padding:8px 10px;border-radius:13px;
  background:rgba(4,12,22,.52);backdrop-filter:blur(8px);
  text-align:center;box-shadow:0 0 24px rgba(0,0,0,.28)
}
.brainInternalLabel strong{display:block;font-size:11px;letter-spacing:.07em;line-height:1.1}
.brainInternalLabel span{display:block;margin-top:4px;color:#9eb4c7;font-size:8px}
.brainInternalLabel.system{left:39%;border:1px solid rgba(255,138,22,.42)}
.brainInternalLabel.system strong{color:#ffb15b}
.brainInternalLabel.runtime{left:50%;border:1px solid rgba(80,230,255,.55);box-shadow:0 0 28px rgba(80,230,255,.14)}
.brainInternalLabel.runtime strong{color:#76edff}
.brainInternalLabel.user{left:61%;border:1px solid rgba(164,130,255,.42)}
.brainInternalLabel.user strong{color:#c1a6ff}
#brainDepthHint{
  position:absolute;left:50%;bottom:7.5%;transform:translateX(-50%);
  z-index:3;padding:7px 11px;border-radius:999px;
  border:1px solid rgba(80,230,255,.22);
  background:rgba(2,8,14,.42);backdrop-filter:blur(8px);
  color:#9cc4da;font-size:9px;letter-spacing:.06em;
  pointer-events:none;white-space:nowrap;
  opacity:calc(.92 - var(--ecosystem-alpha,0))
}
body.galaxy-active #brainUniverseLayer{opacity:0!important;pointer-events:none}

/* The internal project universe is driven by camera depth, not a button state. */
#world{
  opacity:var(--ecosystem-alpha,0)!important;
  filter:blur(var(--ecosystem-blur,1.4px)) brightness(var(--ecosystem-bright,.68));
  transition:opacity .42s ease,filter .42s ease,transform .52s cubic-bezier(.2,.75,.2,1)
}
body.brain-intro #world{
  opacity:var(--ecosystem-alpha,0)!important;
  transform:translate(-50%,-50%) scale(var(--ecosystem-scale,.83))!important;
  pointer-events:none!important
}
body.galaxy-active #world{opacity:1!important;filter:none!important}
body.galaxy-active #projectCarousel,
body.galaxy-active #crumbs,
body.galaxy-active #zoomControls,
body.galaxy-active #hint{opacity:1!important;pointer-events:auto!important}

/* Old SVG brain approximation is permanently disabled. */
#brainCoreVisual,.brainCoreVisual,#brainFormulaLayer,.brainFormulaLayer{display:none!important}
.enterBrain{display:none!important}

/* Keep the wave-world underneath the real WebGL brain. */
#nucleus{z-index:1}
#brainUniverseLayer{z-index:24}
#world{z-index:12}
#hud{z-index:70}
#agentLee{z-index:82}
.workspace{z-index:90}
.appearancePanel{z-index:95}

@media(max-width:760px){
 .brainInternalLabel{min-width:88px;padding:6px}
 .brainInternalLabel strong{font-size:8px}
 .brainInternalLabel span{font-size:6.5px}
 .brainInternalLabel.system{left:34%}
 .brainInternalLabel.user{left:66%}
 #brainDepthHint{bottom:12%;font-size:7.5px;max-width:88vw;white-space:normal;text-align:center}
}

/* ===== Canonical LeeWay math field around the real 3D brain ===== */
#brainInternalLabels{display:none!important}
.brainMathOverlay{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  opacity:calc(var(--brain-shell-alpha,1) * .86);
  transition:opacity .34s ease;
  color:rgba(176,187,201,.72);
  font-family:Cambria Math,STIX Two Math,Georgia,"Times New Roman",serif;
  text-shadow:0 0 8px rgba(35,76,112,.10)
}
.brainMath{
  position:absolute;
  font-size:clamp(13px,1.35vw,22px);
  line-height:1.35;
  letter-spacing:.01em;
  white-space:nowrap;
  opacity:.78
}
.brainMathQ{left:6.5%;top:24%}
.brainMathW{right:8%;top:23%}
.brainMathS{left:7.5%;bottom:29%}
.brainMathD{right:9%;bottom:27%}
body.galaxy-active .brainMathOverlay{opacity:0}
#brainDepthHint{color:rgba(174,197,213,.64);border-color:rgba(80,190,230,.13);background:rgba(1,6,12,.30)}
@media(max-width:760px){
 .brainMath{font-size:10px;opacity:.64}
 .brainMathQ{left:3%;top:21%}.brainMathW{right:3%;top:22%}.brainMathS{left:3%;bottom:26%}.brainMathD{right:4%;bottom:24%}
}

body.brain-intro .backCrumb{display:none!important}
.backCrumb{color:#9db6c9;border-color:rgba(100,168,214,.2);background:rgba(2,9,16,.36)}
