/* Layout: ad ve fotoğraf en üstte, hemen altında tam genişlikte sinir sahnesi;
   iletişim, müzik ve galeri 680px'lik dar kolonda sahnenin ardından açılır. */
:root{
  --bg:#07080A;
  --surface:#0E1116;
  --surface-2:#141921;
  --line:#1E242E;
  --ink:#E9EDF4;
  --ink-soft:#858F9F;
  --accent:#6FD3FF;
  --accent-dim:#1A3240;

  --c-dendrite:#9D8BFF;
  --c-soma:#FF7FA8;
  --c-myelin:#FFC06B;
  --c-axon:#6FD3FF;
  --c-terminal:#58E3BE;

  --display:"Instrument Serif",ui-serif,Georgia,serif;
  --body:"Schibsted Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

.col{max-width:680px;margin:0 auto;padding-inline:20px}

/* ---------- kimlik ---------- */
.top{text-align:center;padding-block:clamp(40px,9vw,76px) 0}
.avatar{
  width:clamp(100px,24vw,126px);aspect-ratio:1;border-radius:50%;margin:0 auto;
  background:var(--surface-2);border:1px solid var(--line);overflow:hidden;position:relative;
  box-shadow:0 0 0 6px rgba(111,211,255,.05),0 30px 70px -40px rgba(111,211,255,.5);
}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.avatar .ph{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--ink-soft);text-align:center;padding:8px}
.top h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,8vw,54px);line-height:1.05;letter-spacing:-.01em;margin-top:20px}
.top .tag{color:var(--ink-soft);margin-top:10px;font-size:15.5px}

/* ---------- sinir sahnesi ---------- */
.stage{position:relative;margin-top:clamp(6px,2vw,18px)}
.stage-inner{position:relative;width:100%;max-width:1120px;margin:0 auto;padding-inline:8px}
#neuro{display:block;width:100%;height:auto;aspect-ratio:1000/560;max-width:100%}
.replay{
  position:absolute;right:18px;bottom:6px;width:34px;height:34px;border-radius:50%;cursor:pointer;
  border:1px solid var(--line);background:rgba(14,17,22,.6);color:var(--ink-soft);
  display:grid;place-items:center;opacity:.4;transition:opacity .3s var(--ease),border-color .3s var(--ease);
}
.replay:hover{opacity:1;border-color:var(--accent);color:var(--accent)}
.replay svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}

/* açılış sırası */
.first{animation:lateIn .9s var(--ease) both;animation-delay:.1s}
.first.b2{animation-delay:.28s}
.late{animation:lateIn 1s var(--ease) both;animation-delay:4.4s}
.late.d2{animation-delay:4.6s}
.late.d3{animation-delay:4.8s}
@keyframes lateIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---------- iletişim ---------- */
.links{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:clamp(10px,3vw,22px)}
.chip{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface);
  font-size:13.5px;transition:border-color .3s var(--ease),transform .3s var(--ease),background .3s var(--ease);
}
.chip:hover{border-color:var(--accent);background:var(--surface-2);transform:translateY(-2px)}
.chip .dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}

/* ---------- müzik ---------- */
.music{
  margin-top:clamp(24px,5vw,38px);display:flex;align-items:center;gap:14px;
  background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;text-align:left;
}
.play{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);display:grid;place-items:center;cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease)}
.play:hover{border-color:var(--accent);background:var(--accent-dim)}
.play svg{width:14px;height:14px;fill:var(--accent)}
.mtext{min-width:0;flex:1}
.mtext b{display:block;font-weight:500;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtext span{font-size:12.5px;color:var(--ink-soft)}
.bars{display:flex;align-items:flex-end;gap:3px;height:20px;flex:none}
.bars i{width:2.5px;background:var(--accent);height:4px;border-radius:2px;opacity:.5}
.music.on .bars i{animation:eq .9s ease-in-out infinite;opacity:1}
.music.on .bars i:nth-child(2){animation-delay:.15s}
.music.on .bars i:nth-child(3){animation-delay:.3s}
.music.on .bars i:nth-child(4){animation-delay:.45s}
@keyframes eq{0%,100%{height:4px}50%{height:18px}}

/* ---------- galeri ---------- */
.gallery{padding-block:clamp(48px,10vw,96px)}
.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:12px;margin-bottom:20px}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--line)}
.shots{display:flex;flex-direction:column;gap:18px}
.shot{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:0}
.shot img{display:block;width:100%;height:auto}
.shot .cap{padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.shot time{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.shot p{font-size:14.5px;color:var(--ink-soft)}
.empty{border:1px dashed var(--line);border-radius:18px;padding:34px 20px;text-align:center;color:var(--ink-soft);font-size:14px}

footer{border-top:1px solid var(--line);padding-block:26px 44px;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-soft)}

/* ---------- admin ---------- */
#gear{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);display:none;place-items:center;cursor:pointer;box-shadow:0 12px 30px -12px #000}
#gear.show{display:grid}
#gear svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:1.6}
.panel{position:fixed;inset:0;z-index:80;background:rgba(3,4,6,.72);backdrop-filter:blur(8px);display:flex;justify-content:flex-end}
.panel[hidden]{display:none}
.sheet{width:min(440px,100%);height:100%;overflow-y:auto;background:var(--surface);border-left:1px solid var(--line);padding:22px 20px calc(40px + env(safe-area-inset-bottom,0px));padding-top:calc(22px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:22px}
.sheet h3{font-family:var(--display);font-weight:400;font-size:26px}
.grp{display:flex;flex-direction:column;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.grp h4{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
label{font-size:12.5px;color:var(--ink-soft)}
input,textarea{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px}
textarea{min-height:64px;resize:vertical}
input[type=file]{padding:8px;font-size:12.5px}
.row{display:flex;gap:8px;flex-wrap:wrap}
.row>*{flex:1;min-width:120px}
.b{padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;font-size:13.5px;flex:none}
.b.primary{background:var(--accent);color:#04202C;border-color:transparent;font-weight:500}
.b.danger{color:#FF8A8A}
.mini{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px}
.mini span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini img{width:34px;height:34px;object-fit:cover;border-radius:6px;flex:none}
.note{font-size:12px;color:var(--ink-soft);line-height:1.5}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:90;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .3s}
.toast.on{opacity:1}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-delay:0ms !important;transition-duration:.01ms !important}
}
