.neurolab-hero {
  max-width: 920px;
  margin: 0 auto var(--space-5);
  text-align: center;
}

.neurolab-hero h2 {
  margin-bottom: var(--space-3);
  font-size: clamp(2rem, 4vw, 3.15rem);
  letter-spacing: -0.045em;
}

.neurolab-hero > p:last-child {
  max-width: 760px;
  margin-inline: auto;
  color: var(--color-muted);
  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
  line-height: 1.65;
}

.neurolab-entry-card {
  max-width: none;
  margin: 0;
}
.neurolab-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-5)}.neurolab-hub-grid .feature-card{height:100%}

.neuro-reward-tabs { display: flex; justify-content: center; gap: 8px; margin-bottom: 10px; }
.neuro-reward-tab { padding: 10px 18px; border: 1px solid rgba(57,127,145,.2); border-radius: 999px; background: #f2f7f8; color: #45626a; font: inherit; font-weight: 700; cursor: pointer; }
.neuro-reward-tab.is-active { background: #316f7e; color: #fff; box-shadow: 0 8px 20px rgba(49,111,126,.18); }
.neuro-reward-tab:focus-visible, .reward-scene-node:focus-visible { outline: 3px solid #61b7bd; outline-offset: 3px; }
.neuro-reward-examples { min-height: 24px; margin: 0 0 var(--space-4); color: var(--color-muted); font-size: .82rem; text-align: center; }
.reward-visualization-switch { width: fit-content; margin: 0 auto 10px; padding: 3px; display: flex; gap: 3px; border: 1px solid rgba(57,127,145,.16); border-radius: 11px; background: #edf3f4; }
.reward-visualization-switch button { padding: 6px 10px; border: 0; border-radius: 8px; background: transparent; color: #587078; font: inherit; font-size: .72rem; font-weight: 700; cursor: pointer; }
.reward-visualization-switch button.is-active { background: #fff; color: #245f6d; box-shadow: 0 3px 10px rgba(38,67,73,.09); }
.reward-visualization-switch button:focus { outline: none; }.reward-visualization-switch button:focus-visible { box-shadow: inset 0 0 0 2px #397f91; }
.neuro-reward-layout { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1.4fr) minmax(20rem, .7fr); gap: clamp(22px, 3vw, 44px); }
.neuro-reward-stage { min-width: 0; position: relative; padding: clamp(18px, 2.7vw, 30px); border: 1px solid rgba(92,124,133,.18); border-radius: 28px; background: linear-gradient(150deg, #fbfefe, #edf4f5); box-shadow: 0 22px 52px rgba(38,67,73,.08); }
.neuro-reward-svg { width: 100%; height: auto; max-height: 510px; display: block; overflow: visible; }
.reward-brain-outline { fill: #e4eef0; stroke: #88a6ad; stroke-width: 3; }
.reward-flow-layer { display: none; fill: none; }
.neuro-reward-page[data-reward-visualization="flow"] .reward-flow-layer { display: block; }
.reward-flow-layer path { fill: none; stroke: #4d858d; stroke-width: 3.5; stroke-linecap: round; marker-end: url(#reward-arrow); transition: opacity 210ms ease, stroke-width 210ms ease; pointer-events: stroke; }
.reward-flow-layer marker path { fill: #4d858d; stroke: none; }
.reward-flow-layer path[data-flow-state="complete"] { opacity: .42; }
.reward-flow-layer path[data-flow-state="upcoming"] { opacity: .18; }
.reward-flow-layer path[data-flow-state="current"] { opacity: 1; stroke: #756aa3; stroke-width: 5; }
.neuro-reward-page.is-playing .reward-flow-layer path[data-flow-state="current"] { stroke-dasharray: 14 280; animation: reward-flow-signal 1.35s linear infinite; }
@keyframes reward-flow-signal { to { stroke-dashoffset: -294; } }
.reward-pathway { fill: none; stroke: #4d8f96; stroke-width: 6; stroke-linecap: round; stroke-dasharray: 12 13; opacity: .4; transition: opacity .2s, stroke-dashoffset .5s; }
.reward-scene-node { cursor: pointer; transform-origin: center; transition: transform .18s, opacity .18s; }
.reward-scene-node circle, .reward-scene-node > path { fill: #7182ad; stroke: #f8fcfc; stroke-width: 3; }
.reward-stimulus circle { fill: #438b92; }.reward-stimulus > path, .reward-learning > path { fill: none; stroke: #fff; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.reward-stimulus .reward-stimulus-symbol { fill: #fff; font-size: 9px; letter-spacing: .08em; }
.reward-learning .reward-learning-symbol { fill: #fff; font-size: 7px; letter-spacing: .03em; }
.reward-scene-node text { fill: #365159; font-size: 12px; font-weight: 760; letter-spacing: .015em; text-anchor: middle; pointer-events: none; }
.reward-region[data-reward-region="vta"] text { x: 270px; y: 365px; }.reward-region[data-reward-region="accumbens"] text { x: 378px; y: 283px; }.reward-region[data-reward-region="prefrontal"] text { x: 513px; y: 89px; }
.reward-region[data-reward-region="accumbens"] > path { fill: #36a096; }.reward-region[data-reward-region="prefrontal"] > path { fill: #4c7f91; }
.reward-particles circle { fill: #8f75bd; opacity: 0; }
.reward-particles circle:nth-child(2) { transform: translate(-7px,5px); }.reward-particles circle:nth-child(3) { transform: translate(-13px,-5px); }
.reward-scene-node.is-active { transform: scale(1.015); }.reward-scene-node.is-active circle, .reward-scene-node.is-active > path { stroke:#fff; stroke-width: 5; filter: drop-shadow(0 0 7px rgba(49,111,126,.24)); }
.reward-pathway.is-active { opacity: 1; stroke-dashoffset: -26; }.reward-pathway.is-active + .reward-particles circle { opacity: .72; }
.neuro-reward-page.is-playing .reward-pathway.is-active + .reward-particles circle { opacity: 1; animation: reward-particle 1.4s ease-in-out infinite; }
.neuro-reward-page.is-playing .reward-pathway.is-active + .reward-particles circle:nth-child(2) { animation-delay: .25s; }.neuro-reward-page.is-playing .reward-pathway.is-active + .reward-particles circle:nth-child(3) { animation-delay: .5s; }
@keyframes reward-particle { from { transform: translate(0,0); opacity: 0; } 20% { opacity: 1; } to { transform: translate(180px,-75px); opacity: 0; } }
.neuro-reward-tooltip { position: absolute; top: 18px; left: 50%; z-index: 3; padding: 6px 10px; border-radius: 9px; background: #fff; color: #29434a; box-shadow: 0 8px 20px rgba(38,67,73,.1); font-size: .76rem; font-weight: 700; transform: translate(-50%,-4px); opacity: 0; pointer-events: none; transition: .15s; }
.neuro-reward-tooltip.is-visible { transform: translate(-50%,0); opacity: 1; }
.neuro-reward-sequence { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 4px; margin: 10px 0 20px; padding: 7px; border:1px solid rgba(92,124,133,.12); border-radius:14px; background:rgba(255,255,255,.58); list-style: none; }
.neuro-reward-sequence button { width: 100%; min-height: 60px; padding: 8px 4px; border: 0; border-top: 3px solid #ccdadd; border-radius:8px; background: transparent; color: #6c8086; font: inherit; font-size: .68rem; cursor: pointer; transition:color .2s,border-color .2s,background .2s; }
.neuro-reward-sequence button:hover { border-top-color: #61a9ad; color: #2c6873; }
.neuro-reward-sequence button:focus { outline: none; }
.neuro-reward-sequence button:focus-visible { border-top-color: #245f6d; color: #245f6d; background: rgba(67,139,146,.08); border-radius: 8px; }
.reward-pathway:focus { outline: none; }.reward-pathway:focus-visible { stroke: #245f6d; opacity: 1; }
.reward-scene-node:focus { outline: none; }.reward-scene-node:focus-visible { outline: none; }
.neuro-reward-sequence span { display: block; margin-bottom: 3px; font-weight: 800; }.neuro-reward-sequence .is-current button { border-color: #397f91; color: #245f6d; background:rgba(67,139,146,.09); }.neuro-reward-sequence .is-complete button { border-color: #8f86b0; color: #596879; background:rgba(117,106,163,.035); }
.neuro-reward-controls { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.neuro-reward-controls .button:disabled { cursor: not-allowed; opacity: .42; }
.neuro-reward-panel { --region-color: #397f91; padding: clamp(24px,3vw,34px); border: 1px solid rgba(92,124,133,.2); border-top: 4px solid var(--region-color); border-radius: 24px; background: #fff; box-shadow: 0 18px 44px rgba(38,67,73,.07); }
.neuro-reward-panel h3 { margin: 14px 0; font-size: clamp(1.5rem,2.4vw,2rem); }.neuro-reward-description { min-height: 105px; color: var(--color-muted); line-height: 1.7; }
.neuro-reward-panel dl { margin: 22px 0 0; }.neuro-reward-panel dl div { padding: 15px 0; border-top: 1px solid rgba(92,124,133,.16); }.neuro-reward-panel dt { color: #397f91; font-size: .7rem; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }.neuro-reward-panel dd { margin: 6px 0 0; color: #344f57; }
.neuro-reward-region-detail { margin-top: 18px; padding: 16px; border-radius: 16px; background: #eff6f7; }.neuro-reward-region-detail h4 { margin: 0 0 8px; }.neuro-reward-region-detail p { color: var(--color-muted); line-height: 1.55; }
.neuro-reward-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: var(--space-5); }.neuro-reward-notes article { padding: 22px; border: 1px solid var(--color-border); border-radius: 18px; background: #f8fbfb; }.neuro-reward-notes h3 { margin: 7px 0 10px; }.neuro-reward-notes p:last-child { margin-bottom: 0; color: var(--color-muted); line-height: 1.65; }

.neuro-neuron-page { --active-transmitter: #765fa8; }
.neuro-neuron-tabs { display: flex; justify-content: center; gap: 8px; margin-bottom: var(--space-4); }
.neuro-neuron-layout, .neuro-synapse-layout { display: grid; grid-template-columns: minmax(620px,1.45fr) minmax(320px,.68fr); align-items: stretch; gap: clamp(24px,3.2vw,48px); }
.neuro-neuron-stage { min-width: 0; position: relative; padding: clamp(20px,2.8vw,34px); border: 1px solid rgba(73,116,126,.16); border-radius: 30px; background: linear-gradient(145deg,#fcfefe 0%,#f0f6f6 58%,#e8f1f2 100%); box-shadow: 0 24px 58px rgba(38,67,73,.09); overflow: hidden; }
.neuro-neuron-svg, .neuro-synapse-svg { width: 100%; height: auto; display: block; overflow: visible; }
.neuro-neuron-svg { filter: drop-shadow(0 9px 16px rgba(42,75,82,.065)); }
.neuron-atmosphere ellipse { fill: rgba(255,255,255,.55); stroke: rgba(76,129,137,.09); stroke-width: 2; }
.neuron-atmosphere path { fill: none; stroke: rgba(76,129,137,.08); stroke-width: 1.5; stroke-dasharray: 5 12; }
.neuron-atmosphere circle { fill: none; stroke: rgba(117,106,163,.07); stroke-width: 22; }
.neuron-part { cursor: pointer; transform-box: fill-box; transform-origin: center; transition: opacity .2s ease, transform .2s ease, filter .2s ease; }
.neuron-part:focus { outline: none; }
.neuron-part path, .neuron-part circle, .neuron-part ellipse { fill: #648d99; stroke: rgba(251,254,254,.96); stroke-width: 3; transition: stroke-width .2s ease, fill .2s ease, filter .2s ease; }
#neuron-dendrites path, #neuron-axon path, #neuron-terminals .terminal-arbor, #neuron-terminals .terminal-secondary, #neuron-synapse > path { fill: none; stroke: #477f8d; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 1; }
#neuron-dendrites .dendrite-primary { stroke-width: 7.25; }
#neuron-dendrites .dendrite-secondary { stroke: #588f98; stroke-width: 4.4; }
#neuron-dendrites .dendrite-tips { stroke: #6ba1a7; stroke-width: 2.8; }
#neuron-soma .neuron-soma-body { fill: url(#neuron-soma-gradient); filter: url(#neuron-soft-shadow); }
#neuron-soma .neuron-soma-contour { fill: none; stroke: rgba(255,255,255,.36); stroke-width: 5; stroke-linecap: round; }
#neuron-soma .neuron-soma-volume { fill: none; stroke: rgba(255,255,255,.32); stroke-width: 4; stroke-linecap: round; }
#neuron-soma .neuron-soma-texture { fill: none; stroke: rgba(43,103,113,.12); stroke-width: 2; stroke-linecap: round; }
#neuron-nucleus .neuron-nucleus-body { fill: #756aa3; filter: url(#neuron-soft-shadow); }
#neuron-nucleus .neuron-nucleolus { fill: #b6a9d4; stroke-width: 2; }
#neuron-nucleus .neuron-nucleus-glint { fill: none; stroke: rgba(255,255,255,.42); stroke-width: 4; stroke-linecap: round; }
#neuron-hillock .neuron-hillock-body { fill: url(#neuron-soma-gradient); stroke: rgba(250,253,253,.46); stroke-width: 1.25; }
#neuron-hillock .neuron-hillock-highlight { fill: none; stroke: rgba(255,255,255,.38); stroke-width: 3; stroke-linecap: round; }
#neuron-axon .neuron-axon-core { stroke: #5b818c; stroke-width: 8; }
#neuron-axon .neuron-axon-highlight { stroke: rgba(220,239,240,.64); stroke-width: 2; }
#neuron-myelin .myelin-segment { fill: url(#neuron-myelin-gradient); stroke: rgba(250,253,253,.96); stroke-width: 2.5; stroke-linejoin: round; filter: url(#neuron-soft-shadow); }
#neuron-myelin .neuron-myelin-sheen { fill: none; stroke: rgba(255,255,255,.46); stroke-width: 2.4; stroke-linecap: round; }
#neuron-ranvier .ranvier-node { fill: none; stroke: #756aa3; stroke-width: 4.25; stroke-linecap: round; }
#neuron-ranvier .ranvier-halo { fill: none; stroke: rgba(117,106,163,.2); stroke-width: 6; stroke-linecap: round; }
#neuron-terminals .terminal-arbor { stroke-width: 6.75; }
#neuron-terminals .terminal-secondary { stroke: #588f98; stroke-width: 4; }
#neuron-terminals .terminal-bouton { fill: #648f99; stroke: rgba(250,253,253,.94); stroke-width: 1.8; stroke-linejoin: round; filter: drop-shadow(0 2px 3px rgba(42,75,82,.09)); }
#neuron-terminals .terminal-vesicles circle { fill: var(--active-transmitter); stroke: rgba(255,255,255,.9); stroke-width: 1.5; }
#neuron-terminals .terminal-release-particles circle { fill: var(--active-transmitter); stroke: rgba(255,255,255,.9); stroke-width: 1.5; opacity: .28; transform-box: fill-box; transform-origin: center; }
#neuron-terminals.is-selected .terminal-release-particles circle { opacity: .72; }
.neuro-neuron-svg.is-signal-started #neuron-terminals .terminal-release-particles circle:nth-child(2), .neuro-neuron-svg.is-signal-started #neuron-terminals .terminal-release-particles circle:nth-child(4) { animation-delay: 2.35s; }
#neuron-synapse circle { fill: var(--active-transmitter); stroke-width: 2; }
#neuron-synapse .neuron-synapse-membrane { stroke: #91adb3; stroke-width: 5; }
.neuron-part:hover, .neuron-part:focus-visible, .neuron-part.is-selected { filter: saturate(1.08) drop-shadow(0 6px 8px rgba(35,75,83,.2)); outline: none; }
.neuron-part.is-highlighted { filter: saturate(1.08) drop-shadow(0 5px 7px rgba(35,75,83,.18)); }
.neuron-part:hover path, .neuron-part:hover circle, .neuron-part:hover ellipse, .neuron-part:focus-visible path, .neuron-part:focus-visible circle, .neuron-part:focus-visible ellipse, .neuron-part.is-selected path, .neuron-part.is-selected circle, .neuron-part.is-selected ellipse { filter: brightness(1.04); }
.neuro-neuron-svg.has-selection .neuron-part:not(.is-selected) { opacity: .42; filter: saturate(.7); }
.neuron-signal-track { fill: none; stroke: rgba(61,115,125,.13); stroke-width: 9; stroke-linecap: round; pointer-events: none; }
.neuron-signal { fill: none; stroke: #756aa3; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 10 17; opacity: .18; pointer-events: none; }
.neuron-functional-flow { pointer-events: none; }
.neuron-reception-flow { fill: none; stroke: #4b9499; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 7 14; opacity: .16; }
.neuron-integration-pulse { fill: none; stroke: rgba(117,106,163,.32); stroke-width: 2.5; opacity: 0; transform-box: fill-box; transform-origin: center; }
.neuro-neuron-svg.is-signal-started .neuron-reception-flow { opacity: .62; animation: neuron-reception 2.4s linear infinite; }
.neuro-neuron-svg.is-signal-started .neuron-integration-pulse { animation: neuron-integration 2.4s ease-out .55s infinite; }
.neuro-neuron-svg.is-signal-started .neuron-signal { opacity: .9; animation: neuron-signal 2s linear 1.1s infinite; }
.neuro-neuron-svg.is-signal-started #neuron-terminals .terminal-release-particles circle { opacity: 1; animation: terminal-release 1.6s ease-out 2s infinite; }
.neuro-neuron-svg.is-signal-paused .neuron-reception-flow, .neuro-neuron-svg.is-signal-paused .neuron-integration-pulse, .neuro-neuron-svg.is-signal-paused .neuron-signal, .neuro-neuron-svg.is-signal-paused #neuron-terminals .terminal-release-particles circle { animation-play-state: paused; }
.neuron-synapse-cta { width: 100%; margin-top: 2px; }
@keyframes neuron-reception { to { stroke-dashoffset: -42; } }
@keyframes neuron-integration { 70%,100% { transform: scale(1.12); opacity: 0; } }
@keyframes terminal-release { to { transform: translate(12px,4px); opacity: 0; } }
.neuron-anatomy-label { cursor: pointer; outline: none; }
.neuron-anatomy-label path { fill: none; stroke: rgba(66,101,110,.42); stroke-width: 1.15; stroke-linecap: round; transition: stroke .16s ease, stroke-width .16s ease; }
.neuron-anatomy-label .neuron-label-anchor { fill: #688e97; stroke: #f8fcfc; stroke-width: 1.25; }
.neuron-anatomy-label text { fill: #506d75; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; transition: fill .16s ease; }
.neuron-anatomy-label:hover path, .neuron-anatomy-label:focus-visible path, .neuron-anatomy-label.is-highlighted path, .neuron-anatomy-label.is-selected path { stroke: #397f91; stroke-width: 2; }
.neuron-anatomy-label:hover text, .neuron-anatomy-label:focus-visible text, .neuron-anatomy-label.is-highlighted text, .neuron-anatomy-label.is-selected text { fill: #245f6d; }
.neuron-anatomy-label:focus { outline: none; }
.neuron-anatomy-label.is-selected .neuron-label-anchor { fill: #756aa3; }
@keyframes neuron-signal { to { stroke-dashoffset: -54; } }
.neuron-info-panel { min-height: 0; align-content: center; }
.neuro-synapse-stage { padding: clamp(18px,2.5vw,30px); }
.neuro-synapse-stage [data-synapse-tooltip] { width: 260px; max-width: calc(100% - 40px); min-height: 30px; text-align: center; white-space: normal; }
.synapse-incoming-axon path:first-child { fill: #c1dedd; stroke: #789aa1; stroke-width: 2.5; }
.synapse-incoming-axon path:last-child { fill: none; stroke: rgba(255,255,255,.58); stroke-width: 3; stroke-linecap: round; }
.synapse-cell { stroke: #73979f; stroke-width: 2.6; stroke-linejoin: round; stroke-miterlimit: 1; transition: opacity .2s ease, filter .2s ease; filter: url(#synapse-soft-shadow); }
.synapse-presynaptic { fill: url(#synapse-terminal-gradient); }
.synapse-postsynaptic { fill: url(#synapse-receiver-gradient); }
.synapse-membrane-detail { fill: none; stroke: rgba(55,109,119,.28); stroke-width: 2.5; stroke-linecap: round; }
.synapse-signal-rail { fill: none; stroke: rgba(85,125,145,.13); stroke-width: 11; stroke-linecap: round; }
.synapse-signal-path { fill: none; stroke: #557d91; stroke-width: 5; stroke-linecap: round; stroke-dasharray: 12 16; opacity: .42; }
.synapse-vesicles { outline: none; }
.synapse-vesicles > g > circle:first-child { fill: url(#synapse-vesicle-gradient); stroke: #f9fdfd; stroke-width: 2.1; filter: drop-shadow(0 4px 5px rgba(41,77,85,.1)); }
.synapse-vesicles .synapse-vesicle-core { fill: rgba(255,255,255,.2); stroke: rgba(63,120,128,.2); stroke-width: 1.5; }
.synapse-vesicles .synapse-vesicle-particle { fill: var(--active-transmitter); stroke: rgba(255,255,255,.72); stroke-width: 1; }
.synapse-fusion-neck, .synapse-release-pore path { fill: none; stroke: #4f8c94; stroke-width: 3; stroke-linecap: round; }
.synapse-release-pore { opacity: .45; }
.synapse-transmitters { outline: none; }
.synapse-transmitters circle { fill: var(--active-transmitter); stroke: rgba(255,255,255,.92); stroke-width: 1.8; opacity: .36; transform-box: fill-box; transform-origin: center; transition: fill .2s, opacity .2s; filter: drop-shadow(0 2px 3px rgba(71,52,105,.2)); }
.synapse-receptors { outline: none; }
.synapse-receptors .receptor-stem { fill: none; stroke: #477f8d; stroke-width: 7; stroke-linecap: round; }
.synapse-receptors .receptor-head { fill: #d6e9e8; stroke: #477f8d; stroke-width: 4.25; stroke-linejoin: round; stroke-miterlimit: 1; }
.synapse-receptors .receptor-site { fill: var(--active-transmitter); stroke: #fff; stroke-width: 2; opacity: .3; }
.synapse-post-signal path { fill: none; stroke: #756aa3; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 9 14; opacity: .18; }
.synapse-transporters { outline: none; }
.synapse-transporters .transporter-body { fill: none; stroke: #756aa3; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 1; }
.synapse-transporters .synapse-transporter-arrow { fill: none; stroke: #a798c8; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.synapse-degradation { cursor: pointer; outline: none; }
.synapse-degradation .degradation-route { fill: none; stroke: rgba(102,89,145,.58); stroke-width: 2.5; stroke-dasharray: 5 7; stroke-linecap: round; }
.synapse-degradation .degradation-enzyme { fill: #eef1f5; stroke: #756aa3; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.synapse-degradation:focus-visible .degradation-enzyme, .synapse-degradation.is-highlighted .degradation-enzyme, .synapse-degradation.is-active .degradation-enzyme { fill: #e5e0f0; stroke: #4f437e; stroke-width: 4; }
.synapse-region-title { fill: #49636a; font-size: 11px; font-weight: 780; letter-spacing: .13em; text-anchor: middle; }
.synapse-anatomy-label { cursor: pointer; outline: none; }
.synapse-anatomy-label path { fill: none; stroke: rgba(66,101,110,.46); stroke-width: 1.25; stroke-linecap: round; transition: stroke .16s ease,stroke-width .16s ease; }
.synapse-anatomy-label .synapse-label-anchor { fill: #688e97; stroke: #f8fcfc; stroke-width: 1.2; }
.synapse-anatomy-label text { fill: #516e75; font-size: 11px; font-weight: 720; letter-spacing: .015em; text-anchor: start; transition: fill .16s ease; }
.synapse-anatomy-label:hover path, .synapse-anatomy-label:focus-visible path, .synapse-anatomy-label.is-active path, .synapse-anatomy-label.is-highlighted path, .synapse-anatomy-label.is-detail-active path { stroke: #397f91; stroke-width: 2; }
.synapse-anatomy-label:hover text, .synapse-anatomy-label:focus-visible text, .synapse-anatomy-label.is-active text, .synapse-anatomy-label.is-highlighted text, .synapse-anatomy-label.is-detail-active text { fill: #245f6d; }
.synapse-anatomy-label:focus { outline: none; }
[data-synapse-target]:focus { outline: none; }
.synapse-cell:focus-visible { outline: none; stroke: #245f6d; stroke-width: 4; }
.synapse-vesicles:focus-visible > g > circle:first-child { stroke: #245f6d; stroke-width: 3.5; }
.synapse-transmitters:focus-visible circle { stroke: #245f6d; opacity: .82; }
.synapse-receptors:focus-visible .receptor-head { stroke: #245f6d; }
.synapse-transporters:focus-visible .transporter-body { stroke: #665991; }
.synapse-degradation:focus-visible .degradation-enzyme { filter: drop-shadow(0 0 7px rgba(79,67,126,.3)); }
[data-synapse-target].is-highlighted { filter: none; }
.synapse-cell.is-highlighted { stroke: #397f91; }
.synapse-vesicles.is-highlighted > g > circle:first-child { stroke: #397f91; }
.synapse-transmitters.is-highlighted circle { stroke: #397f91; opacity: .78; }
.synapse-receptors.is-highlighted .receptor-head { stroke: #397f91; }
.synapse-transporters.is-highlighted .transporter-body { stroke: #665991; }
.synapse-cell.is-active, .synapse-vesicles.is-active, .synapse-receptors.is-active, .synapse-transporters.is-active, .synapse-degradation.is-active { filter: url(#synapse-soft-shadow) drop-shadow(0 0 10px rgba(83,153,157,.22)); }
.synapse-signal-path.is-active { opacity: 1; }
.synapse-transmitters.is-active circle { opacity: 1; }
.synapse-receptors.is-active .receptor-site { opacity: 1; }
.synapse-receptors.is-active .receptor-head { stroke: #756aa3; }
.synapse-postsynaptic.is-active + .synapse-membrane-detail, .synapse-postsynaptic.is-active ~ .synapse-post-signal path { opacity: .8; }
.is-playing-synapse .synapse-signal-path.is-active { animation: neuron-signal 1s linear infinite; }
.is-playing-synapse .synapse-transmitters.is-active circle { animation: synapse-cross 1.25s ease-in-out infinite alternate; }
.is-playing-synapse .synapse-transporters.is-active .synapse-transporter-arrow { animation: synapse-reuptake 1.2s ease-in-out infinite; }
@keyframes synapse-cross { to { transform: translateY(54px); } }
@keyframes synapse-reuptake { 50% { transform: translateY(-8px); opacity: .65; } }
@keyframes transmitter-pulse { 50% { transform: scale(1.35); opacity: 1; } }
.transmitter-pulse .synapse-transmitters circle { animation: transmitter-pulse .5s ease; }
.synapse-sequence { grid-template-columns: repeat(7,minmax(0,1fr)); }.synapse-selected-label { margin-top: 25px; padding: 14px; border-radius: 12px; background: #eff6f7; color: #526a71; }.synapse-selected-label strong { color: var(--active-transmitter); }
.synapse-education-panel { align-self: start; }
.synapse-education-panel h3 { margin: 14px 0 10px; }
.synapse-step-context { margin: 0 0 18px; padding: 12px 14px; border-radius: 12px; background: #f2f7f8; color: #526a71; }
.synapse-step-context strong, .synapse-step-context span { display: block; }
.synapse-step-context strong { margin-bottom: 4px; color: #365c65; }
.synapse-step-context span { font-size: .82rem; line-height: 1.5; }
.synapse-detail-sections { display: grid; gap: 0; }
.synapse-detail-sections section { padding: 13px 0; border-top: 1px solid rgba(92,124,133,.14); }
.synapse-detail-sections h4, .synapse-dopamine-callout h4 { margin: 0 0 7px; color: #397f91; font-size: .7rem; font-weight: 780; letter-spacing: .075em; text-transform: uppercase; }
.synapse-detail-sections p { margin: 0; color: var(--color-muted); font-size: .84rem; line-height: 1.58; }
.synapse-detail-sections p + p { margin-top: 8px; }
.synapse-dopamine-relation { border-left: 3px solid #756aa3; padding-left: 13px !important; }
.synapse-dopamine-callout { margin-top: 14px; padding: 16px; border: 1px solid rgba(117,106,163,.16); border-radius: 14px; background: #f4f2f8; }
.synapse-dopamine-callout h4 { color: #665991; text-transform: none; font-size: .84rem; letter-spacing: 0; }
.synapse-dopamine-callout p { margin: 7px 0 0; color: #56636f; font-size: .8rem; line-height: 1.55; }
.synapse-context-card { margin-top: 12px; padding: 15px; border: 1px solid rgba(92,124,133,.15); border-radius: 14px; background: #f8fbfb; }
.synapse-context-card h4, .synapse-comparison-card h4, .synapse-why-it-matters h4 { margin: 0 0 8px; color: #397f91; font-size: .82rem; }
.synapse-context-card p, .synapse-comparison-card p, .synapse-why-it-matters p { margin: 0; color: var(--color-muted); font-size: .8rem; line-height: 1.56; }
.synapse-context-card .button { width: 100%; margin-top: 12px; white-space: normal; }
.synapse-comparison-card { margin-top: 14px; padding: 16px; border-left: 4px solid var(--active-transmitter); border-radius: 13px; background: #f8fbfb; }
.synapse-comparison-card p + p { margin-top: 8px; }
.synapse-why-it-matters { margin-top: 12px; padding: 15px; border-top: 3px solid #397f91; border-radius: 13px; background: #eef6f7; }
.synapse-dopamine-profile { margin-top: 12px; padding: 12px 14px; border: 1px solid rgba(92,124,133,.16); border-radius: 12px; background: #fbfdfd; }
.synapse-dopamine-profile summary { color: #365c65; font-size: .82rem; font-weight: 740; cursor: pointer; }
.synapse-dopamine-profile p { margin: 10px 0 0; color: var(--color-muted); font-size: .78rem; line-height: 1.55; }
.neurotransmitter-section { margin-top: var(--space-5); padding: clamp(20px,3vw,34px); border: 1px solid var(--color-border); border-radius: 24px; background: #fafcfc; }.neurotransmitter-section .page-heading { margin-bottom: 20px; }
.neurotransmitter-grid { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.neurotransmitter-card { width: 100%; min-width: 0; min-height: 130px; box-sizing: border-box; padding: 16px 12px; border: 1px solid rgba(92,124,133,.16); border-top: 4px solid var(--transmitter-color); border-radius: 16px; background: #fff; color: #49636a; font: inherit; text-align: left; cursor: pointer; transition: transform .15s, box-shadow .15s; overflow-wrap: break-word; word-break: normal; }.neurotransmitter-card strong { display: block; margin-bottom: 8px; color: var(--transmitter-color); }.neurotransmitter-card span { font-size: .73rem; line-height: 1.45; }.neurotransmitter-card:hover, .neurotransmitter-card:focus-visible, .neurotransmitter-card.is-selected { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(38,67,73,.1); outline: none; }.neurotransmitter-card.is-selected { border-color: var(--transmitter-color); }
.neurotransmitter-detail { margin-top: 16px; padding: 20px; border-left: 4px solid var(--active-transmitter); border-radius: 14px; background: #fff; }.neurotransmitter-detail h4 { margin: 0 0 12px; color: var(--active-transmitter); }.neurotransmitter-detail p { margin: 8px 0; color: var(--color-muted); line-height: 1.6; }
.neuron-flow-controls { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: var(--space-3); }
.neuron-flow-controls .button:disabled { opacity: .46; cursor: not-allowed; }
.neuron-flow-note { margin: 9px 0 0; color: var(--color-muted); font-size: .75rem; text-align: center; }
.anxiety-dimensions { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:var(--space-4); }.anxiety-dimension {padding:14px;border:1px solid var(--color-border);border-radius:15px;background:#f8fbfb;color:#526a71;font:inherit;text-align:left;cursor:pointer}.anxiety-dimension strong,.anxiety-dimension span{display:block}.anxiety-dimension span{margin-top:5px;font-size:.72rem;line-height:1.4}.anxiety-dimension.is-active{border-color:#438b92;background:#edf6f6;box-shadow:0 8px 22px rgba(38,67,73,.08)}
.neuro-anxiety-layout{display:grid;grid-template-columns:minmax(500px,1.25fr) minmax(330px,.75fr);gap:clamp(22px,3vw,44px)}.neuro-anxiety-stage{position:relative;padding:20px;border:1px solid rgba(92,124,133,.18);border-radius:28px;background:linear-gradient(150deg,#fbfefe,#edf4f5)}.anxiety-body-svg{width:100%;max-height:600px;display:block}.body-silhouette{fill:#dce9eb;stroke:#86a5ad;stroke-width:2.5;stroke-linejoin:round}.body-head{fill:#e3edef}.body-neck{fill:#dae7e9}.body-arm,.body-leg{fill:#d8e6e8}.body-midline{fill:none;stroke:rgba(90,128,138,.2);stroke-width:2;stroke-linecap:round}.body-zone{cursor:pointer;opacity:.42;transition:opacity .18s,transform .18s;transform-origin:center}.body-zone circle,.body-zone ellipse,.body-zone path{fill:rgba(70,151,155,.18);stroke:#4b9398;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.body-zone .body-zone-detail{fill:none;stroke-width:2.5}.body-zone:focus{outline:none}.body-zone:hover,.body-zone:focus-visible,.body-zone.is-active{opacity:1;transform:scale(1.018);outline:none}.body-zone:hover circle,.body-zone:hover ellipse,.body-zone:hover path,.body-zone:focus-visible circle,.body-zone:focus-visible ellipse,.body-zone:focus-visible path,.body-zone.is-active circle,.body-zone.is-active ellipse,.body-zone.is-active path{stroke:#286d77;stroke-width:5}.body-zone[data-body-zone="heart"] path{fill:#b98478;stroke:#fff}.anxiety-pulse circle{fill:none;stroke:#b98478;stroke-width:2.5;opacity:0;transform-origin:272px 258px}.body-zone.is-active[data-body-zone="heart"]~.anxiety-pulse circle,.is-playing-anxiety .anxiety-pulse circle{animation:anxiety-pulse 1.4s ease-out infinite}@keyframes anxiety-pulse{from{opacity:.58;transform:scale(.72)}to{opacity:0;transform:scale(1.3)}}
.anxiety-symptom-list{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.anxiety-symptom-list button{padding:7px 10px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:#526a71;font:inherit;font-size:.76rem;cursor:pointer}.anxiety-symptom-list button.is-selected{background:#397f91;color:#fff}.anxiety-info-panel{min-height:0}.anxiety-sequence-section{margin-top:var(--space-5);padding:24px;border:1px solid var(--color-border);border-radius:22px;background:#fafcfc}.anxiety-sequence-panel{margin-top:16px;padding:16px;border-left:4px solid #786ba8;border-radius:12px;background:#fff}.anxiety-sequence-panel p{margin:7px 0 0;color:var(--color-muted)}.anxiety-insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:var(--space-5)}.anxiety-insight-grid article{padding:22px;border:1px solid var(--color-border);border-radius:18px;background:#f8fbfb}.anxiety-insight-grid h3{font-size:1rem}.anxiety-insight-grid p{color:var(--color-muted);line-height:1.6}

.dependence-scope{max-width:820px;margin:0 auto var(--space-4);color:var(--color-muted);font-size:.82rem;text-align:center}.neuro-dependence-layout{display:grid;grid-template-columns:minmax(580px,1.4fr) minmax(330px,.7fr);gap:clamp(22px,3vw,44px)}.dependence-stage{position:relative;padding:24px;border:1px solid var(--color-border);border-radius:28px;background:linear-gradient(150deg,#fbfefe,#edf4f5)}.dependence-svg{width:100%;display:block;overflow:visible}.dependence-route-shadow,.dependence-route{fill:none;stroke-linecap:round}.dependence-route-shadow{stroke:#e5eef0;stroke-width:14}.dependence-route{stroke:#8db4b8;stroke-width:5}.dependence-node{cursor:pointer;opacity:.42;transform-origin:center;transition:opacity .2s,transform .2s}.dependence-node .dependence-node-halo{fill:#edf4f5;stroke:#c6dadd;stroke-width:2}.dependence-node .dependence-node-core{fill:#638f9b;stroke:#fff;stroke-width:3}.dependence-node-mark{fill:none;stroke:rgba(255,255,255,.42);stroke-width:2;stroke-linecap:round}.dependence-node text{fill:#fff;font-size:14px;font-weight:800;text-anchor:middle;pointer-events:none}.dependence-node .dependence-node-label{fill:#405f67;font-size:11px;letter-spacing:.01em}.dependence-node:hover,.dependence-node:focus-visible,.dependence-node.is-active{opacity:1;transform:scale(1.055);outline:none}.dependence-node:focus{outline:none}.dependence-node.is-active .dependence-node-halo{fill:#ece9f5;stroke:#9186b8;stroke-width:3}.dependence-node.is-active .dependence-node-core{fill:#756aa3;stroke-width:4}.dependence-node.is-previous{opacity:.65}.dependence-node.is-next{opacity:.78}.dependence-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.dependence-controls .button:disabled{opacity:.4;cursor:not-allowed}.dependence-panel{min-height:0}.dependence-clarification{margin:16px 0 0;padding:14px;border-left:4px solid #756aa3;border-radius:10px;background:#f2f0f8;color:#53606e;line-height:1.55}.dependence-comparison{margin-top:var(--space-5);padding:24px;border:1px solid var(--color-border);border-radius:22px;background:#fafcfc}.dependence-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dependence-card-grid article{position:relative;min-height:145px;padding:22px;border:1px solid #dce7e9;border-top:4px solid #498e96;border-radius:16px;background:#fff}.dependence-card-grid article:nth-child(even){border-top-color:#756aa3}.dependence-card-grid h4{margin:0 0 12px;color:#397f91;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.dependence-card-grid p,.dependence-lower-grid p{color:var(--color-muted);line-height:1.65}.dependence-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:var(--space-4)}.dependence-lower-grid>article{padding:22px;border:1px solid var(--color-border);border-radius:18px;background:#f8fbfb}.dependence-clarifications details{padding:10px 0;border-bottom:1px solid var(--color-border)}.dependence-clarifications summary{color:#365c65;font-weight:700;cursor:pointer}

.trauma-mode-intro{max-width:840px;margin:0 auto var(--space-4);color:var(--color-muted);font-size:.82rem;text-align:center}.neuro-trauma-layout{display:grid;grid-template-columns:minmax(570px,1.35fr) minmax(330px,.7fr);gap:clamp(22px,3vw,44px)}.trauma-map-stage{position:relative;padding:20px;border:1px solid var(--color-border);border-radius:28px;background:linear-gradient(150deg,#fbfefe,#edf4f5)}.trauma-map-svg{width:100%;display:block}.trauma-links path{fill:none;stroke:#90b6ba;stroke-width:3;stroke-linecap:round;opacity:.28;transition:opacity .18s,stroke-width .18s}.trauma-links path.is-selected{opacity:1;stroke:#756aa3;stroke-width:6}.trauma-node{cursor:pointer;opacity:.68;transition:opacity .18s}.trauma-node circle{fill:#6d9ca2;stroke:#f8fcfc;stroke-width:4}.trauma-node text{fill:#fff;font-weight:800;text-anchor:middle;transform:translateY(5px);pointer-events:none}.trauma-node:hover,.trauma-node:focus-visible,.trauma-node.is-selected{opacity:1;outline:none}.trauma-node:focus{outline:none}.trauma-node.is-selected circle{fill:#756aa3;stroke-width:7}.trauma-center>path{fill:#e4eef0;stroke:#b9cfd3;stroke-width:2}.trauma-center circle{fill:#f6f9fa;stroke:#668b94;stroke-width:3}.trauma-center text{fill:#365c65;font-size:13px;font-weight:800;text-anchor:middle}.trauma-node-labels{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.trauma-node-labels button{padding:7px 10px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:#526a71;font:inherit;font-size:.72rem;cursor:pointer}.trauma-panel{min-height:0}.trauma-balance{margin-top:var(--space-5);padding:22px;border:1px solid var(--color-border);border-radius:18px;background:linear-gradient(90deg,rgba(185,133,120,.08),#f8fbfb 46%,rgba(133,184,170,.1));text-align:center}.trauma-balance>div{display:flex;align-items:center;justify-content:center;gap:14px;color:#365c65;font-weight:750}.trauma-balance-line{width:min(260px,30vw);height:4px;border-radius:999px;background:linear-gradient(90deg,#b98578 0%,#9ca8aa 48%,#85b8aa 100%)}.trauma-balance p{margin-bottom:0;color:var(--color-muted)}.trauma-message-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:var(--space-4)}.trauma-message-grid article{padding:22px;border:1px solid var(--color-border);border-radius:18px;background:#f8fbfb}.trauma-no-blame{border-top:4px solid #756aa3!important}.trauma-message-grid p:last-child{color:var(--color-muted);line-height:1.65}

.neuro-psychiatry-layout{display:grid;grid-template-columns:minmax(570px,1.35fr) minmax(330px,.7fr);gap:clamp(22px,3vw,44px)}.psychiatry-map-stage{position:relative;padding:20px;border:1px solid var(--color-border);border-radius:28px;background:linear-gradient(150deg,#fbfefe,#edf4f5)}.psychiatry-map-svg{width:100%;display:block}.psychiatry-links path{fill:none;stroke:#91b5b9;stroke-width:5;stroke-linecap:round;opacity:.45}.psychiatry-node{cursor:pointer;opacity:.72}.psychiatry-node circle{fill:#638f9b;stroke:#fff;stroke-width:4}.psychiatry-node text{fill:#fff;font-weight:800;text-anchor:middle;transform:translateY(5px)}.psychiatry-node:hover,.psychiatry-node:focus-visible,.psychiatry-node.is-selected{opacity:1;outline:none}.psychiatry-node:focus{outline:none}.psychiatry-node.is-selected circle{fill:#756aa3;stroke-width:7}.psychiatry-center circle{fill:#eef3f5;stroke:#638f9b;stroke-width:4}.psychiatry-center text{fill:#365c65;font-size:14px;font-weight:800;text-anchor:middle}.psychiatry-panel{min-height:0}.psychiatry-integrated{padding:30px;border:1px solid var(--color-border);border-radius:24px;background:#f8fbfb;text-align:center}.integrated-supports{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.integrated-supports span{padding:10px 13px;border-radius:999px;background:#e6f1f2;color:#365c65;font-weight:700}.integrated-arrow{margin:14px;font-size:1.8rem;color:#756aa3}.psychiatry-integrated article{max-width:600px;margin:auto;padding:20px;border-top:4px solid #756aa3;border-radius:16px;background:#fff}.dual-section,.medication-section,.psychiatry-cases{margin-top:var(--space-5);padding:24px;border:1px solid var(--color-border);border-radius:22px;background:#fafcfc}.dual-chips{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.dual-chips span{padding:7px 10px;border-radius:999px;background:#e7f1f2;color:#42636b;font-size:.76rem}.medication-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.medication-grid button{padding:12px;border:1px solid var(--color-border);border-radius:12px;background:#fff;color:#45636b;font:inherit;font-size:.75rem;cursor:pointer}.medication-grid button.is-selected{background:#397f91;color:#fff}.medication-detail{margin-top:14px;padding:20px;border-left:4px solid #756aa3;border-radius:14px;background:#fff}.medication-detail p{color:var(--color-muted);line-height:1.55}.psychiatry-cases>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.psychiatry-cases article{padding:18px;border-radius:15px;background:#fff}.psychiatry-cases h4{color:#397f91}.psychiatry-closing{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:var(--space-4)}.psychiatry-closing article{padding:22px;border:1px solid var(--color-border);border-radius:18px;background:#f8fbfb}.psychiatry-closing p{color:var(--color-muted);line-height:1.6}

.neuro-brain-layout {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 1.45fr) minmax(20rem, 0.75fr);
  align-items: stretch;
  gap: clamp(24px, 4vw, 54px);
}

.neuro-brain-visual {
  min-width: 0;
  min-height: 590px;
  position: relative;
  padding: clamp(18px, 3vw, 34px);
  display: grid;
  place-items: center;
  align-content: center;
  border: 1px solid rgba(92, 124, 133, 0.18);
  border-radius: 28px;
  background: linear-gradient(150deg, #fafdfe 0%, #edf4f5 100%);
  box-shadow: 0 24px 60px rgba(38, 67, 73, 0.09);
}

.neuro-brain-svg {
  width: 100%;
  height: auto;
  max-width: 780px;
  display: block;
  overflow: hidden;
}

.neuro-brain-orientation { width: 100%; margin: 0 0 var(--space-2); color: #607a82; font-size: .76rem; text-align: center; }

.neuro-brain-shell {
  fill: url(#brain-shell-gradient);
  stroke: #86a5ad;
  stroke-width: 3;
  stroke-linejoin: round;
}

.neuro-brain-stem {
  fill: #c8dadd;
  stroke: #8eabb2;
  stroke-width: 3;
}

.neuro-brain-detail {
  fill: none;
  stroke: rgba(85, 120, 130, 0.22);
  stroke-width: 4;
  stroke-linecap: round;
}

.neuro-brain-region {
  cursor: pointer;
  transform-origin: center;
  transition: transform 150ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 180ms ease;
}

.neuro-brain-region:focus {
  outline: none;
}

.neuro-brain-region path {
  fill: var(--region-color);
  stroke: rgba(248, 252, 252, 0.9);
  stroke-width: 3;
  transition: fill 150ms ease, stroke-width 150ms ease, opacity 150ms ease;
}

.neuro-brain-region.is-network path { fill-opacity: .34; stroke-dasharray: 8 6; }
.neuro-brain-region.is-deep path { fill-opacity: .78; stroke: rgba(255,255,255,.96); filter: drop-shadow(0 3px 4px rgba(41,77,85,.12)); }
.neuro-brain-region.is-cortical path { fill-opacity: .7; }

.neuro-brain-region:hover,
.neuro-brain-region:focus-visible {
  transform: scale(1.025);
  outline: none;
}

.neuro-brain-region:hover path,
.neuro-brain-region:focus-visible path {
  stroke: #245f6d;
  stroke-width: 5;
}

.neuro-brain-region.is-selected {
  transform: scale(1.035);
}

.neuro-brain-region.is-selected path {
  stroke: #fff;
  stroke-width: 5.5;
}

.neuro-brain-svg.has-selection .neuro-brain-region:not(.is-selected) {
  opacity: 0.5;
}

.neuro-brain-region-selector { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-top: var(--space-3); }
.neuro-brain-region-selector button { min-width: 0; padding: 8px 10px; border: 1px solid rgba(73,116,126,.2); border-radius: 10px; background: rgba(255,255,255,.76); color: #45626a; font: inherit; font-size: .72rem; line-height: 1.25; cursor: pointer; overflow-wrap: break-word; word-break: normal; }
.neuro-brain-region-selector button:hover, .neuro-brain-region-selector button:focus-visible, .neuro-brain-region-selector button.is-selected { border-color: #397f91; background: #edf5f6; color: #245f6d; outline: none; box-shadow: inset 0 0 0 1px rgba(57,127,145,.3); }

.neuro-visual-legend { width: 100%; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 14px; margin-top: var(--space-3); color: #60777e; font-size: .68rem; }
.neuro-visual-legend span { display: inline-flex; align-items: center; gap: 6px; }
.neuro-visual-legend i { width: 18px; height: 9px; display: inline-block; border: 2px solid #5b8791; border-radius: 999px; background: rgba(91,135,145,.22); }
.neuro-visual-legend .legend-deep { border-style: dashed; background: rgba(117,106,163,.35); }
.neuro-visual-legend .legend-active { border-width: 3px; border-color: #245f6d; background: #e9f2f3; }
.neuro-visual-legend .legend-connection { height: 0; border-width: 0 0 2px; border-radius: 0; background: none; }
.neuro-visual-legend .legend-route { height: 0; border-width: 0 0 3px; border-style: dashed; border-radius: 0; border-color: #756aa3; background: none; }
.reward-legend { margin: 4px 0 14px; }

.neuro-brain-tooltip {
  min-height: 30px;
  position: absolute;
  top: 22px;
  left: 50%;
  z-index: 4;
  padding: 6px 10px;
  border: 1px solid rgba(79, 107, 116, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 22px rgba(38, 67, 73, 0.1);
  color: #29434a;
  font-size: 0.78rem;
  font-weight: 680;
  transform: translate(-50%, -4px);
  opacity: 0;
  pointer-events: none;
  transition: transform 140ms ease, opacity 140ms ease;
}

.neuro-brain-tooltip.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
}

.neuro-brain-hint {
  margin: var(--space-2) 0 0;
  color: #607a82;
  font-size: 0.78rem;
  text-align: center;
}

.neuro-brain-panel {
  --region-color: #397f91;
  min-height: 590px;
  padding: clamp(24px, 3vw, 36px);
  display: grid;
  align-content: center;
  gap: clamp(18px, 2.4vw, var(--space-5));
  border: 1px solid rgba(92, 124, 133, 0.2);
  border-top: 4px solid var(--region-color);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 44px rgba(38, 67, 73, 0.07);
  transition: border-color 180ms ease;
}

.neuro-panel-kicker {
  width: fit-content;
  margin: 0;
  padding: 5px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--region-color), white 90%);
  color: var(--region-color);
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.neuro-brain-panel h3 {
  margin: calc(-1 * var(--space-3)) 0 0;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  letter-spacing: -0.03em;
}

.neuro-brain-panel section {
  padding-top: var(--space-4);
  border-top: 1px solid rgba(92, 124, 133, 0.16);
}

.neuro-brain-panel h4 {
  margin: 0 0 var(--space-2);
  color: var(--region-color);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.neuro-brain-panel p {
  margin: 0;
  color: var(--color-muted);
  line-height: 1.7;
}

.neurolab-disclaimer {
  max-width: 920px;
  margin: var(--space-5) auto;
  color: var(--color-muted);
  font-size: 0.78rem;
  text-align: center;
}

.neurolab-topic-navigation {
  padding-top: var(--space-4);
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  border-top: 1px solid var(--color-border);
}

.trauma-node-labels button.is-selected {
  border-color: #397f91;
  background: #397f91;
  color: #fff;
}

.neuro-trauma-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .7fr);
  align-items: start;
}

.trauma-map-stage,
.trauma-map-svg {
  min-width: 0;
  max-width: 100%;
}

.trauma-map-svg {
  height: auto;
  overflow: visible;
}

.trauma-links line {
  fill: none;
  stroke: #90b6ba;
  stroke-width: 3;
  stroke-linecap: round;
  opacity: .34;
  transition: opacity 180ms ease, stroke 180ms ease, stroke-width 180ms ease;
}

.neuro-trauma-page[data-trauma-mode="vulnerability"] .trauma-links line {
  stroke: #a9857c;
}

.neuro-trauma-page[data-trauma-mode="protective"] .trauma-links line {
  stroke: #78a99d;
}

.trauma-links line.is-selected {
  stroke: #756aa3;
  stroke-width: 6;
  opacity: 1;
}

.neuro-trauma-page[data-trauma-mode="vulnerability"] .trauma-node circle {
  fill: #9b746b;
}

.neuro-trauma-page[data-trauma-mode="protective"] .trauma-node circle {
  fill: #5f9387;
}

.trauma-node circle {
  filter: drop-shadow(0 4px 5px rgba(41, 77, 85, .14));
  transition: fill 180ms ease, stroke 180ms ease, stroke-width 180ms ease, filter 180ms ease;
}

.trauma-node.is-related-hover circle {
  stroke: #756aa3;
  stroke-width: 6;
  filter: drop-shadow(0 6px 7px rgba(41, 77, 85, .2));
}

.trauma-node.is-selected circle {
  fill: #756aa3 !important;
  filter: drop-shadow(0 6px 8px rgba(64, 53, 111, .24));
}

.trauma-node:focus-visible circle {
  stroke: #294d55;
  stroke-width: 7;
}

.trauma-node-labels button span {
  display: inline-grid;
  width: 1.3rem;
  height: 1.3rem;
  margin-right: .35rem;
  place-items: center;
  border-radius: 50%;
  background: #e7eff0;
  font-size: .68rem;
}

.trauma-balance button {
  padding: .65rem .9rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-surface);
  color: #526a71;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.trauma-balance button.is-active {
  border-color: #397f91;
  background: #397f91;
  color: #fff;
}

.trauma-balance button:focus-visible {
  outline: 3px solid color-mix(in srgb, #397f91, transparent 55%);
  outline-offset: 3px;
}

/* Modelos neuroadaptativos: sistema visual compartido */
.body-zone.is-active[data-body-zone="heart"]~.anxiety-pulse circle{animation:none}.is-playing-anxiety .body-zone.is-active[data-body-zone="heart"]~.anxiety-pulse circle{animation:anxiety-pulse 1.4s ease-out infinite}
.neuro-dependence-layout{width:100%;min-width:0;grid-template-columns:minmax(0,1.4fr) minmax(20rem,.7fr)}
.dependence-stage{min-width:0}.dependence-svg{height:auto;overflow:hidden}.dependence-route-shadow{stroke-width:12}.dependence-route{stroke:#7fa5aa;stroke-width:3;stroke-dasharray:7 9}
.dependence-node{opacity:.58}.dependence-node .dependence-node-core{fill:#5f8791}.dependence-glyph{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.dependence-glyph circle{fill:#fff;stroke:none}.dependence-node .dependence-node-number{font-size:11px;opacity:.76}.dependence-node:hover,.dependence-node:focus-visible,.dependence-node.is-active{transform:scale(1.025)}.dependence-node:focus-visible .dependence-node-halo{stroke:#245f6d;stroke-width:4}.dependence-node.is-active .dependence-node-core{fill:#665991}
.dependence-stage-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:4px 0 16px}.dependence-stage-selector button{min-width:0;padding:9px;border:1px solid var(--color-border);border-radius:10px;background:#fff;color:#526a71;font:inherit;font-size:.72rem;cursor:pointer;overflow-wrap:break-word;word-break:normal}.dependence-stage-selector span{display:inline-grid;width:1.35rem;height:1.35rem;margin-right:5px;place-items:center;border-radius:50%;background:#e5eef0;font-size:.65rem;font-weight:800}.dependence-stage-selector button:hover,.dependence-stage-selector button:focus-visible,.dependence-stage-selector button.is-active{border-color:#397f91;background:#edf5f6;color:#245f6d;outline:none}
.dependence-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dependence-card-grid article,.dependence-lower-grid>article{min-width:0}.dependence-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.substance-effects-visual{margin-top:var(--space-5);padding:clamp(20px,3vw,30px);border:1px solid var(--color-border);border-radius:22px;background:#fafcfc}.substance-effect-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:18px}.substance-effect-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.substance-effect-selector button{min-width:0;padding:16px;display:flex;align-items:center;gap:10px;border:1px solid var(--color-border);border-radius:14px;background:#fff;color:#45636b;font:inherit;text-align:left;cursor:pointer}.substance-effect-selector button:hover,.substance-effect-selector button:focus-visible,.substance-effect-selector button.is-active{border-color:#397f91;background:#edf5f6;outline:none;box-shadow:inset 0 0 0 1px rgba(57,127,145,.22)}.effect-symbol{width:26px;height:26px;flex:0 0 auto;border:2px solid #668f98;border-radius:50%;background:repeating-linear-gradient(135deg,rgba(102,143,152,.18) 0 3px,transparent 3px 6px)}.substance-effect-detail{min-width:0;padding:20px;border-left:4px solid #756aa3;border-radius:14px;background:#fff}.substance-effect-detail h4{margin:0 0 10px;color:#397f91}.substance-effect-detail p{color:var(--color-muted);line-height:1.6}.dependence-medical-warning{margin-top:var(--space-4);padding:18px 20px;border:1px solid rgba(117,106,163,.25);border-left:4px solid #756aa3;border-radius:14px;background:#f5f3f8;color:#4f5964}.dependence-medical-warning strong{color:#554a7d}.dependence-medical-warning p{margin:7px 0 0;line-height:1.6}
.neuro-differentiations{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:var(--space-3) 0}.neuro-differentiations span{padding:7px 10px;border:1px solid rgba(92,124,133,.18);border-radius:999px;background:#f5f8f9;color:#526a71;font-size:.72rem;font-weight:700}
.neuro-signal-distinctions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.neuro-signal-distinctions span{padding:5px 8px;border:1px solid rgba(92,124,133,.18);border-radius:999px;background:#fff;color:#526a71;font-size:.68rem;font-weight:700}

@media (max-width: 1080px) {
  .neuro-brain-layout, .neuro-reward-layout, .neuro-neuron-layout, .neuro-synapse-layout, .neuro-anxiety-layout, .neuro-dependence-layout, .neuro-trauma-layout, .neuro-psychiatry-layout {
    grid-template-columns: 1fr;
  }
  .substance-effect-layout{grid-template-columns:1fr}

  .neuro-brain-visual,
  .neuro-brain-panel {
    min-height: 0;
  }

  .neuro-brain-panel {
    align-content: start;
  }
}

@media (max-width: 760px) {
  .neurolab-hub-grid{grid-template-columns:1fr}
  .neuron-anatomy-labels { display: none; }
  .synapse-anatomy-label { display: none; }
  .neuro-reward-tabs { flex-direction: column; }
  .neuro-neuron-tabs { flex-direction: column; }
  .neuro-reward-stage, .neuro-reward-panel { padding: var(--space-3); border-radius: 18px; }
  .neuro-reward-sequence { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .neuro-reward-notes { grid-template-columns: 1fr; }
  .neurotransmitter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .synapse-sequence { grid-template-columns: repeat(2,1fr); }
  .anxiety-dimensions,.anxiety-insight-grid{grid-template-columns:1fr}.neuro-anxiety-stage{padding:10px;border-radius:18px}
  .dependence-card-grid,.dependence-lower-grid{grid-template-columns:1fr}.dependence-stage{padding:10px;border-radius:18px}.dependence-node .dependence-node-label{font-size:9px}
  .dependence-stage-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.substance-effect-selector{grid-template-columns:1fr}
  .trauma-message-grid{grid-template-columns:1fr}.trauma-map-stage{padding:8px;border-radius:18px}.trauma-balance>div{flex-direction:column}.trauma-balance-line{width:70%;background:linear-gradient(90deg,#b98578,#85b8aa)}
  .medication-grid,.psychiatry-cases>div:last-child,.psychiatry-closing{grid-template-columns:1fr}.psychiatry-map-stage{padding:8px;border-radius:18px}
  .neuro-brain-visual {
    padding: var(--space-3);
    border-radius: 20px;
  }

  .neuro-brain-panel {
    padding: var(--space-4);
    border-radius: 18px;
  }

  .neuro-brain-region-selector { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .neurolab-topic-navigation {
    flex-direction: column;
  }

  .neurolab-topic-navigation .button {
    width: 100%;
  }

  .neuron-flow-controls .button { flex: 1 1 9rem; }
}

@media (max-width: 430px) {
  .neuro-neuron-stage { padding: 12px; border-radius: 18px; }
  .neurotransmitter-grid { grid-template-columns: minmax(0,1fr); }
  .neuron-flow-controls .button { width: 100%; flex-basis: 100%; }
  .neuro-brain-region-selector, .neuro-reward-sequence { grid-template-columns: minmax(0,1fr); }
  .neuro-reward-controls .button { width: 100%; }
  .reward-visualization-switch { width: 100%; }
  .reward-visualization-switch button { flex: 1 1 0; }
  .dependence-stage-selector{grid-template-columns:minmax(0,1fr)}.dependence-controls .button{width:100%}
}

@media (prefers-reduced-motion: reduce) {
  .neuro-brain-region,
  .neuro-brain-region path,
  .neuro-brain-tooltip,
  .neuro-brain-panel,
  .reward-scene-node,
  .reward-pathway,
  .neuro-reward-tooltip {
    transition-duration: 1ms;
  }
  .reward-particles circle { animation: none !important; }
  .neuro-reward-page.is-playing .reward-flow-layer path[data-flow-state="current"] { animation: none !important; stroke-dasharray: none; }
  .neuron-signal, .neuron-reception-flow, .neuron-integration-pulse, .terminal-release-particles circle, .synapse-signal-path, .synapse-transmitters circle, .synapse-transporter-arrow { animation: none !important; }
  .anxiety-pulse circle{animation:none!important}
}
