/* ARZU Living Brain — continuous 3D neural map. */
.brainmap.brain-graph {
  position: relative;
  width: 100%;
  height: clamp(42rem, 76vh, 58rem);
  min-height: 42rem;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(126, 208, 255, .22);
  border-radius: clamp(1.25rem, 2.2vw, 2rem);
  background: radial-gradient(circle at 50% 46%, rgba(48, 54, 168, .24), transparent 38%), radial-gradient(circle at 70% 15%, rgba(126, 54, 205, .13), transparent 34%), #050610;
  box-shadow: inset 0 0 7rem rgba(12, 36, 105, .32), 0 1.5rem 4rem rgba(0, 0, 0, .25);
}
.brain3d-host, .brain3d-host canvas, .brain3d-labels, .brain3d-vignette { position: absolute; inset: 0; width: 100%; height: 100%; }
.brain3d-host { z-index: 1; }
.brain3d-host canvas { display: block; touch-action: manipulation; }
.brain3d-labels { z-index: 4; overflow: hidden; pointer-events: none; }
.brain3d-vignette { z-index: 2; pointer-events: none; background: radial-gradient(ellipse at center, transparent 38%, rgba(1, 2, 12, .32) 72%, rgba(1, 2, 10, .75) 100%); }
.neuron-label {
  position: absolute; top: 0; left: 0; z-index: 2; display: grid; grid-template-columns: 1.2rem minmax(0, 1fr); column-gap: .6rem; align-items: center;
  width: max-content; max-width: 12.5rem; min-height: 2.8rem; padding: .55rem .7rem; border: 1px solid rgba(101, 224, 255, .22); border-radius: .85rem;
  color: #f7fbff; background: rgba(4, 7, 24, .68); box-shadow: 0 .65rem 1.8rem rgba(0, 0, 0, .34), inset 0 0 1.2rem rgba(53, 224, 255, .06);
  backdrop-filter: blur(.6rem); -webkit-backdrop-filter: blur(.6rem); text-align: left; cursor: pointer; pointer-events: auto;
  transition: opacity .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.neuron-label:hover, .neuron-label:focus-visible { border-color: rgba(112, 232, 255, .78); background: rgba(8, 15, 46, .92); box-shadow: 0 0 1.6rem rgba(53, 224, 255, .28), inset 0 0 1.2rem rgba(53, 224, 255, .12); outline: none; }
.neuron-label:disabled { cursor: wait; }
.neuron-label.is-root { min-width: 10rem; max-width: 16rem; border-color: rgba(124, 231, 255, .54); background: rgba(3, 10, 31, .83); }
.neuron-label.is-center { z-index: 4; min-width: 9rem; max-width: 12rem; border-color: rgba(123, 63, 228, .68); background: rgba(17, 9, 46, .9); }
.neuron-label.is-center small { color: #d8caff; }
.neuron-label-dot { grid-row: 1 / span 2; width: .82rem; height: .82rem; border-radius: 50%; background: #63e6ff; box-shadow: 0 0 .4rem #fff, 0 0 1rem #35e0ff, 0 0 1.8rem rgba(59, 100, 255, .75); animation: neuron-dot-pulse 2.1s ease-in-out infinite; }
.neuron-label[data-state="review"] .neuron-label-dot { background: #ffb45d; box-shadow: 0 0 .4rem #fff, 0 0 1rem #ff9d38, 0 0 1.8rem rgba(255, 125, 40, .6); }
.neuron-label strong { display: block; min-width: 0; font: 700 max(14px, .94rem)/1.25 var(--display, "Sora", sans-serif); letter-spacing: .035em; overflow-wrap: anywhere; }
.neuron-label small { display: block; grid-column: 2; margin-top: .12rem; color: #bfd2e7; font: 500 max(14px, .82rem)/1.35 var(--body, "Inter", sans-serif); }
.brain-back, .brain-trail, .brain-view-switch, .brain3d-hint, .brain3d-loading { position: absolute; z-index: 7; color: #eef8ff; font: 600 max(14px, .88rem)/1.4 var(--body, "Inter", sans-serif); }
.brain-back { top: 1.15rem; left: 1.15rem; min-height: 2.75rem; padding: .65rem 1rem; border: 1px solid rgba(112, 224, 255, .3); border-radius: 999px; background: rgba(4, 9, 28, .76); cursor: pointer; backdrop-filter: blur(.55rem); }
.brain-back:hover, .brain-back:focus-visible { border-color: #6fe7ff; outline: none; box-shadow: 0 0 1rem rgba(53, 224, 255, .22); }
.brain-back[hidden] { display: none; }
.brain-view-switch { top: 1.15rem; right: 1.15rem; display: flex; padding: .22rem; border: 1px solid rgba(112, 224, 255, .24); border-radius: 999px; background: rgba(4, 9, 28, .76); backdrop-filter: blur(.55rem); }
.brain-view-switch button { min-height: 2.25rem; padding: .42rem .78rem; border: 0; border-radius: 999px; color: #aebfd4; background: transparent; font: inherit; cursor: pointer; }
.brain-view-switch button[aria-pressed="true"] { color: white; background: linear-gradient(105deg, rgba(123, 63, 228, .62), rgba(31, 79, 224, .5)); box-shadow: 0 0 1rem rgba(53, 224, 255, .12); }
.brain-trail { top: 1.42rem; left: 50%; display: flex; align-items: center; gap: .38rem; max-width: min(52%, 42rem); transform: translateX(-50%); overflow-x: auto; color: #7c93aa; white-space: nowrap; scrollbar-width: none; }
.brain-trail::-webkit-scrollbar { display: none; }
.brain-trail button { flex: 0 0 auto; padding: .2rem .32rem; border: 0; color: #bcd6eb; background: transparent; font: inherit; cursor: pointer; text-shadow: 0 0 .9rem rgba(66, 190, 255, .35); }
.brain-trail button:hover, .brain-trail button:focus-visible { color: #fff; outline: none; }
.brain-trail button[aria-current="page"] { color: #fff; }
.brain-file-view { position: absolute; z-index: 6; inset: 5.3rem 1.3rem 1.3rem; overflow: auto; padding: clamp(1rem, 2.4vw, 2rem); border: 1px solid rgba(112, 224, 255, .22); border-radius: 1.25rem; background: rgba(4, 8, 25, .93); backdrop-filter: blur(1rem); }
.brain-file-view[hidden] { display: none; }
.brain-file-head { display: flex; justify-content: space-between; gap: 1rem; align-items: end; padding-bottom: 1rem; border-bottom: 1px solid rgba(112, 224, 255, .16); }
.brain-file-head strong { color: #fff; font: 700 max(18px, 1.15rem)/1.3 var(--display, "Sora", sans-serif); }
.brain-file-head small { color: #b5c9dc; font-size: max(14px, .86rem); }
.brain-file-list { display: grid; gap: .72rem; margin-top: 1rem; }
.brain-file-list button { display: grid; grid-template-columns: 2rem 1fr; gap: .25rem .7rem; align-items: center; width: 100%; min-height: 4.2rem; padding: .8rem 1rem; border: 1px solid rgba(112, 224, 255, .18); border-radius: .9rem; color: #fff; background: rgba(255, 255, 255, .035); text-align: left; cursor: pointer; }
.brain-file-list button:hover, .brain-file-list button:focus-visible { border-color: rgba(112, 224, 255, .65); background: rgba(53, 224, 255, .07); outline: none; }
.brain-file-list button > span { grid-row: 1 / span 2; color: #55e5ff; font-size: 1.35rem; }
.brain-file-list button strong { font: 700 max(15px, .94rem)/1.3 var(--display, "Sora", sans-serif); }
.brain-file-list button small { grid-column: 2; color: #b5c9dc; font-size: max(14px, .84rem); }
.brainmap[data-mode="files"] .brain3d-host, .brainmap[data-mode="files"] .brain3d-labels, .brainmap[data-mode="files"] .brain3d-vignette, .brainmap[data-mode="files"] .brain3d-hint { opacity: 0; pointer-events: none; }
.brain-leaf { position: absolute; z-index: 6; right: 1.2rem; bottom: 4.8rem; width: min(22rem, calc(100% - 2.4rem)); padding: 1rem 1.1rem; border: 1px solid rgba(112, 224, 255, .24); border-radius: 1rem; color: #fff; background: rgba(4, 9, 28, .84); backdrop-filter: blur(.7rem); }
.brain-leaf[hidden], .brainmap[data-mode="files"] .brain-leaf { display: none; }
.brain-leaf strong { font: 700 max(15px, .96rem)/1.3 var(--display, "Sora", sans-serif); }
.brain-leaf p { margin: .35rem 0 0; color: #b9ccdf; font-size: max(14px, .86rem); line-height: 1.5; }
.brain3d-hint { right: 1.2rem; bottom: 1.1rem; display: flex; gap: .6rem; align-items: center; max-width: min(70%, 34rem); padding: .65rem .85rem; border: 1px solid rgba(125, 190, 255, .18); border-radius: 999px; color: #bfd2e7; background: rgba(4, 8, 25, .68); backdrop-filter: blur(.55rem); }
.brain3d-hint span { flex: 0 0 auto; width: .58rem; height: .58rem; border-radius: 50%; background: #45e2ff; box-shadow: 0 0 .85rem #35e0ff; }
.brain3d-loading { inset: 50% auto auto 50%; transform: translate(-50%, -50%); color: #bfefff; }
.brainmap.is-traveling .neuron-label { opacity: .1 !important; pointer-events: none; }
@keyframes neuron-dot-pulse { 0%, 100% { transform: scale(.88); opacity: .75; } 50% { transform: scale(1.18); opacity: 1; } }
html[data-theme="day"] .brainmap.brain-graph { border-color: rgba(44, 103, 172, .28); box-shadow: inset 0 0 7rem rgba(22, 56, 132, .28), 0 1rem 3rem rgba(35, 58, 96, .16); }
@media (max-width: 700px) {
  .brainmap.brain-graph { height: 43rem; min-height: 43rem; border-radius: 1.1rem; }
  .neuron-label { max-width: 9rem; padding: .5rem .58rem; column-gap: .45rem; }
  .neuron-label strong { letter-spacing: 0; }
  .neuron-label small { line-height: 1.25; }
  .brain-back { top: .8rem; left: .75rem; }
  .brain-view-switch { top: .8rem; right: .75rem; }
  .brain-trail { top: 4.35rem; max-width: 92%; }
  .brain-file-view { inset: 7rem .65rem .75rem; padding: 1rem; }
  .brain-file-head { align-items: start; flex-direction: column; gap: .3rem; }
  .brain3d-hint { left: 50%; right: auto; width: max-content; max-width: 90%; transform: translateX(-50%); justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .brainmap *, .brainmap *::before, .brainmap *::after { animation: none !important; transition-duration: .01ms !important; } }
