@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Quicksand:wght@400;500;600;700&display=swap');

:root{
  --cream:#FFF6F9;
  --paper:#FFFDFC;
  --pink:#F6C9DC;
  --pink-mid:#EFAFC9;
  --rose:#DD86A6;
  --mauve:#5B4463;
  --mauve-soft:#8A7291;
  --gold:#EFC077;
  --fur:#F6E6CE;
  --line:#F0DCEA;
  --lavender:#D9C8F0;
  --star:#FFEAC2;
  --sky1:#FFE3EE;
  --sky2:#F3D2F0;
  --sky3:#DCC9EF;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--mauve);
  font-family:'Quicksand',sans-serif;
  overflow-x:hidden;
  min-height:100vh;
}
h1,h2,h3,.script{
  font-family:'Caveat',cursive;
  font-weight:700;
  color:var(--rose);
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* ---------- HEADER / DROPDOWN NAV ---------- */
header{
  position:sticky; top:0; z-index:50;
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 28px;
  background:linear-gradient(var(--cream) 85%, transparent);
}
.wordmark{
  font-family:'Caveat'; font-weight:700; font-size:26px; color:var(--rose);
}
.menu-btn{
  position:relative;
  font-family:'Quicksand'; font-weight:600; font-size:14px;
  color:var(--mauve);
  background:var(--pink);
  border:none; cursor:pointer;
  padding:9px 18px;
  border-radius:20px;
  display:flex; align-items:center; gap:6px;
  transform:rotate(-1deg);
  box-shadow:0 2px 4px rgba(92,58,69,0.12);
  transition:background .2s ease, transform .2s ease;
}
.menu-btn:hover{background:var(--rose); color:#fff;}
.menu-btn .bar{width:14px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:background .2s ease .05s;}
.menu-btn .bar::before,.menu-btn .bar::after{content:"";position:absolute;left:0;width:14px;height:2px;background:currentColor;border-radius:2px;transition:transform .28s cubic-bezier(.34,1.2,.4,1),top .2s ease;}
.menu-btn .bar::before{top:-5px;}
.menu-btn .bar::after{top:5px;}
.menu-btn.active .bar{background:transparent;}
.menu-btn.active .bar::before{top:0; transform:rotate(45deg);}
.menu-btn.active .bar::after{top:0; transform:rotate(-45deg);}

.dropdown{
  position:absolute; top:66px; right:24px;
  background:var(--paper);
  border-radius:14px;
  box-shadow:0 10px 26px rgba(92,58,69,0.18);
  padding:10px;
  display:flex; flex-direction:column; gap:2px;
  min-width:190px;
  max-height:75vh; overflow-y:auto;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
  z-index:60;
}
.dropdown.open{opacity:1; visibility:visible; transform:translateY(0);}
.dropdown a{
  font-size:14.5px; font-weight:600; color:var(--mauve-soft);
  padding:10px 14px; border-radius:8px;
  transition:background .15s ease, color .15s ease;
}
.dropdown a:hover{background:var(--pink); color:var(--mauve);}
.dropdown a.current{color:var(--rose);}

main{max-width:880px; margin:0 auto; padding:20px 24px 40px;}

.page-head{text-align:center; padding:40px 24px 10px;}
.page-head .eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; letter-spacing:1px;
  color:var(--gold); text-transform:uppercase; margin-bottom:8px;
}
.page-head .eyebrow::before,.page-head .eyebrow::after{content:"";width:18px;height:1px;background:var(--gold);}
.page-head h1{font-size:clamp(38px,7vw,58px); line-height:1;}
.page-head p{color:var(--mauve-soft); font-size:15px; margin-top:8px;}

section{padding:44px 0;}

/* ---------- eyebrow (inline, non page-head) ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; letter-spacing:1px;
  color:var(--gold); text-transform:uppercase; margin-bottom:6px;
}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--gold);}

/* ---------- polaroid ---------- */
.polaroid{
  background:var(--paper);
  padding:14px 14px 40px;
  box-shadow:0 6px 16px rgba(92,58,69,0.15);
  transform:rotate(-3deg);
  border-radius:2px;
}
.polaroid .frame{
  width:100%; aspect-ratio:1/1.05;
  background:linear-gradient(135deg,var(--pink),var(--fur));
  border-radius:1px;
  display:flex;align-items:center;justify-content:center;
  color:var(--rose); font-family:'Caveat'; font-size:19px; text-align:center; padding:10px;
}
.polaroid .cap{
  display:block; text-align:center; margin-top:12px;
  font-family:'Caveat'; font-size:19px; color:var(--mauve-soft);
}

.chips{display:flex; gap:8px; flex-wrap:wrap; margin-top:16px;}
.chip{
  font-size:12.5px; font-weight:600; background:var(--pink);
  color:var(--mauve); padding:6px 12px; border-radius:20px;
}

/* ---------- cards / grids ---------- */
.card-row{display:grid; gap:36px; align-items:center;}
.two-col{grid-template-columns:220px 1fr;}
.two-col.reverse{grid-template-columns:1fr 220px;}

.fact-list{list-style:none; margin-top:16px;}
.fact-list li{
  font-size:14.5px; color:var(--mauve-soft); padding:8px 0 8px 22px;
  border-bottom:1px dashed var(--line); position:relative;
}
.fact-list li::before{content:"✿"; position:absolute; left:0; color:var(--rose); font-size:12px;}

.entry{
  background:repeating-linear-gradient(var(--paper) 0 31px, var(--line) 31px 32px);
  border-left:3px solid var(--rose);
  padding:20px 24px 24px;
  border-radius:0 10px 10px 0;
  box-shadow:0 3px 10px rgba(92,58,69,0.06);
  margin-bottom:22px;
}
.entry .date{font-family:'Caveat'; font-size:22px; color:var(--gold); font-weight:600;}
.entry h3{color:var(--mauve); font-size:19px; margin:4px 0 8px; font-family:'Quicksand'; font-weight:700;}
.entry p{font-size:14.5px; color:var(--mauve-soft); line-height:1.75;}

.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px 16px;}
.pframe{
  background:var(--paper); padding:9px 9px 26px;
  box-shadow:0 5px 12px rgba(92,58,69,0.14);
  transition:transform .25s ease, box-shadow .25s ease;
}
.pframe:nth-child(1){transform:rotate(-3deg);}
.pframe:nth-child(2){transform:rotate(2deg);}
.pframe:nth-child(3){transform:rotate(-1deg);}
.pframe:nth-child(4){transform:rotate(3deg);}
.pframe:nth-child(5){transform:rotate(-2deg);}
.pframe:nth-child(6){transform:rotate(1deg);}
.pframe:hover{transform:rotate(0deg) scale(1.04); box-shadow:0 10px 20px rgba(92,58,69,0.2); z-index:2;}
.pframe .ph{aspect-ratio:1/1; border-radius:1px; background:linear-gradient(160deg,var(--pink-mid),var(--fur));}

.notes{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.note{
  background:var(--fur); padding:20px 16px; border-radius:2px;
  box-shadow:0 4px 10px rgba(92,58,69,0.12);
  font-family:'Caveat'; font-size:18px; color:var(--mauve); min-height:110px;
}
.note:nth-child(2){background:var(--pink); transform:rotate(1.5deg);}
.note:nth-child(3){background:var(--pink-mid); transform:rotate(-1.5deg);}
.note:nth-child(1){transform:rotate(-2deg);}

.cta-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:26px;}
.btn{
  font-family:'Quicksand'; font-weight:600; font-size:14.5px;
  padding:12px 24px; border-radius:24px;
  background:var(--rose); color:#fff;
  box-shadow:0 4px 10px rgba(232,138,165,0.35);
  transition:transform .2s ease;
}
.btn.ghost{background:transparent; color:var(--rose); box-shadow:none; border:1.5px solid var(--pink-mid);}
.btn:hover{transform:translateY(-2px);}

footer{text-align:center; padding:50px 24px 60px; color:var(--mauve-soft); font-size:13px;}
footer .script{font-size:24px; display:block; margin-bottom:6px;}

@media(max-width:680px){
  .two-col,.two-col.reverse{grid-template-columns:1fr; text-align:center;}
  .polaroid{justify-self:center; width:180px; margin:0 auto;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .notes{grid-template-columns:1fr;}
}

/* ---------- ADMIN ---------- */
.login-box{
  max-width:340px; margin:60px auto; background:var(--paper);
  border-radius:16px; padding:32px 28px; box-shadow:0 8px 22px rgba(92,58,69,0.14);
  text-align:center;
}
.login-box h1{font-size:34px; margin-bottom:6px;}
.login-box p{font-size:13.5px; color:var(--mauve-soft); margin-bottom:20px;}

label{display:block; font-size:13px; font-weight:600; color:var(--mauve-soft); margin:14px 0 6px; text-align:left;}
input[type="text"],input[type="password"],input[type="date"],textarea,input[type="file"]{
  width:100%; font-family:'Quicksand'; font-size:14.5px; color:var(--mauve);
  background:var(--cream); border:1.5px solid var(--line); border-radius:10px;
  padding:10px 12px; outline:none; transition:border-color .15s ease;
}
input:focus,textarea:focus{border-color:var(--rose);}
textarea{min-height:110px; resize:vertical; font-family:'Quicksand';}
.btn-submit{
  margin-top:16px; width:100%; font-family:'Quicksand'; font-weight:600; font-size:14.5px;
  padding:11px; border:none; border-radius:24px; background:var(--rose); color:#fff;
  cursor:pointer; transition:transform .15s ease, opacity .15s ease;
}
.btn-submit:hover{transform:translateY(-1px);}
.btn-submit:disabled{opacity:.6; cursor:default; transform:none;}
.error-msg{color:#B23A48; font-size:13px; margin-top:10px; min-height:16px;}

.admin-panel{display:none;}
.admin-panel.visible{display:block;}
.admin-block{
  background:var(--paper); border-radius:16px; padding:24px 26px;
  box-shadow:0 4px 14px rgba(92,58,69,0.08); margin-bottom:26px;
}
.admin-block h2{font-size:26px; margin-bottom:14px;}
.item-list{margin-top:18px; display:flex; flex-direction:column; gap:10px;}
.item-row{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  background:var(--cream); border-radius:10px; padding:10px 14px; font-size:13.5px;
}
.item-row .txt{color:var(--mauve-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.item-row .del{
  border:none; background:none; color:#B23A48; font-weight:700; cursor:pointer; font-size:16px; flex-shrink:0;
}
.thumb-row{display:flex; align-items:center; gap:10px;}
.thumb-row img{width:44px; height:44px; object-fit:cover; border-radius:6px;}
.top-bar{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;}
.logout-btn{font-size:13px; color:var(--mauve-soft); background:none; border:none; cursor:pointer; text-decoration:underline;}
.loading{color:var(--mauve-soft); font-size:14px; font-style:italic;}

/* ---------- AMBIENT: dusk sky, clouds, stars, breathing ---------- */
.dusk-bg{
  background:linear-gradient(180deg, var(--sky1) 0%, var(--sky2) 55%, var(--sky3) 100%);
}
.cloud{
  position:absolute;
  opacity:.6;
  animation:drift 26s ease-in-out infinite;
}
.cloud svg{ width:100%; height:100%; display:block; }
@keyframes drift{
  0%{transform:translateX(-6%);}
  50%{transform:translateX(6%);}
  100%{transform:translateX(-6%);}
}
.twinkle{
  position:absolute; border-radius:50%; background:var(--star);
  animation:twinkle-pulse 3.6s ease-in-out infinite;
}
@keyframes twinkle-pulse{
  0%,100%{opacity:.25; transform:scale(.8);}
  50%{opacity:.95; transform:scale(1.15);}
}
.breathe{ animation:breathe-soft 3.4s ease-in-out infinite; transform-origin:center; }
@keyframes breathe-soft{ 0%,100%{transform:scaleY(1);} 50%{transform:scaleY(1.025);} }

/* ---------- SÜRPRİZ SANDIKLAR ---------- */
.chest-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:34px 22px;
  margin-top:10px;
}
.chest-wrap{ text-align:center; }
.chest{
  position:relative; width:100%; max-width:150px; margin:0 auto;
  aspect-ratio:1/1; cursor:pointer; background:none; border:none; padding:0;
}
.chest .glow{
  position:absolute; inset:-20%; border-radius:50%;
  background:radial-gradient(circle, var(--pink-mid) 0%, transparent 70%);
  opacity:.55; animation:glow-pulse 3s ease-in-out infinite;
  pointer-events:none;
}
@keyframes glow-pulse{ 0%,100%{opacity:.35; transform:scale(.92);} 50%{opacity:.65; transform:scale(1.05);} }
.chest svg{ position:relative; width:100%; height:100%; overflow:visible; }
.chest .lid{
  transform-origin:50px 49px;
  transition:transform .55s cubic-bezier(.34,1.4,.4,1);
}
.chest.open .lid{ transform:rotate(-118deg) translate(-3px,-3px); }
.chest .spark{ opacity:0; transform-origin:center; }
.chest.open .spark{ animation:spark-burst .9s ease-out forwards; }
.chest.open .spark:nth-of-type(1){animation-delay:.05s;}
.chest.open .spark:nth-of-type(2){animation-delay:.15s;}
.chest.open .spark:nth-of-type(3){animation-delay:.1s;}
.chest.open .spark:nth-of-type(4){animation-delay:.22s;}
.chest.open .spark:nth-of-type(5){animation-delay:.18s;}
@keyframes spark-burst{
  0%{opacity:0; transform:scale(.2) translateY(0);}
  35%{opacity:1;}
  100%{opacity:0; transform:scale(1.3) translateY(-26px);}
}
.chest-label{
  display:block; margin-top:10px; font-family:'Caveat'; font-size:18px; color:var(--mauve-soft);
}
.reveal-msg{
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .5s ease, opacity .5s ease, margin .5s ease;
  background:var(--paper); border-radius:12px; margin-top:0;
  box-shadow:0 4px 12px rgba(92,58,69,0.1);
}
.chest-wrap.open .reveal-msg{ max-height:220px; opacity:1; margin-top:14px; padding:16px 14px; }
.reveal-msg p{ font-family:'Caveat'; font-size:19px; color:var(--mauve); line-height:1.4; }

/* ---------- NOTLARIM (yerel not defteri) ---------- */
.note-form{
  background:var(--paper); border-radius:16px; padding:22px;
  box-shadow:0 4px 14px rgba(92,58,69,0.08); margin-bottom:30px;
}
.note-form textarea{ min-height:80px; }
.note-form .row-end{ display:flex; justify-content:space-between; align-items:center; margin-top:12px; gap:12px;}
.note-form .save-indicator{ font-size:13px; color:var(--rose); opacity:0; transition:opacity .3s ease; }
.note-form .save-indicator.show{ opacity:1; }
.btn-add{
  font-family:'Quicksand'; font-weight:600; font-size:14px; color:#fff;
  background:var(--rose); border:none; border-radius:20px; padding:10px 22px;
  cursor:pointer; transition:transform .15s ease; white-space:nowrap;
}
.btn-add:hover{ transform:translateY(-1px); }
.note-board{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.local-note{
  background:var(--fur); padding:18px 16px 14px; border-radius:2px;
  box-shadow:0 4px 10px rgba(92,58,69,0.12);
  font-family:'Caveat'; font-size:17px; color:var(--mauve);
  min-height:110px; position:relative; word-break:break-word;
}
.local-note .del{
  position:absolute; top:6px; right:8px; border:none; background:none;
  color:var(--mauve-soft); font-size:13px; cursor:pointer; opacity:.6;
}
.local-note .del:hover{ opacity:1; color:#B23A48; }
.empty-hint{ color:var(--mauve-soft); font-size:14px; font-style:italic; grid-column:1/-1; text-align:center; padding:20px 0; }
.local-note-privacy{ font-size:12.5px; color:var(--mauve-soft); margin-top:-16px; margin-bottom:24px; text-align:center; }

.star-picker{ display:flex; gap:4px; font-size:26px; margin:4px 0 2px; }
.star-picker span{ color:var(--line); cursor:pointer; transition:color .15s ease, transform .15s ease; }
.star-picker span:hover{ transform:scale(1.15); }
.star-picker span.filled{ color:var(--gold); }

@media(max-width:680px){
  .chest-grid{grid-template-columns:repeat(2,1fr);}
  .note-board{grid-template-columns:1fr 1fr;}
}

/* ---------- İNCE DOKUNUŞLAR ---------- */
::selection{ background:var(--pink-mid); color:var(--mauve); }
html{ scrollbar-color: var(--pink-mid) var(--cream); scrollbar-width: thin; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--cream); }
::-webkit-scrollbar-thumb{ background:var(--pink-mid); border-radius:10px; }
::-webkit-scrollbar-thumb:hover{ background:var(--rose); }

/* yıldız tozu — tüm sayfalarda hafifçe süzülür */
.ambient-petals{ position:fixed; inset:0; pointer-events:none; z-index:1; overflow:hidden; }
.ambient-petals .petal{ position:absolute; top:-6%; opacity:0; animation:petal-fall linear infinite; }
@keyframes petal-fall{
  0%{ transform:translateY(0) translateX(0) rotate(0deg); opacity:0; }
  8%{ opacity:.35; }
  50%{ transform:translateY(54vh) translateX(16px) rotate(160deg); }
  92%{ opacity:.3; }
  100%{ transform:translateY(112vh) translateX(-12px) rotate(320deg); opacity:0; }
}

/* scroll ile beliren içerik */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s ease; }
.reveal.revealed{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .ambient-petals{ display:none; }
}

/* nazik yükleniyor göstergesi */
.paw-loader{ display:inline-flex; gap:5px; align-items:center; }
.paw-loader span{ width:6px; height:6px; border-radius:50%; background:var(--pink-mid); animation:paw-bounce 1.2s ease-in-out infinite; }
.paw-loader span:nth-child(2){ animation-delay:.15s; }
.paw-loader span:nth-child(3){ animation-delay:.3s; }
@keyframes paw-bounce{ 0%,80%,100%{ transform:translateY(0); opacity:.5; } 40%{ transform:translateY(-5px); opacity:1; } }

/* saate göre karşılama etiketi */
.time-pill{
  display:inline-block; font-size:12.5px; font-weight:600; letter-spacing:.5px;
  color:var(--rose); background:var(--paper); padding:6px 16px; border-radius:20px;
  box-shadow:0 3px 8px rgba(92,58,69,0.08); margin-bottom:14px; opacity:0;
  animation:fade-in-simple .6s ease forwards .3s;
}
@keyframes fade-in-simple{ to{ opacity:1; } }

/* fotoğraf lightbox */
.lightbox{
  position:fixed; inset:0; background:rgba(91,68,99,.86); backdrop-filter:blur(2px);
  display:none; align-items:center; justify-content:center; flex-direction:column;
  z-index:200; padding:30px; opacity:0; transition:opacity .25s ease;
}
.lightbox.open{ display:flex; opacity:1; }
.lightbox img{ max-width:88vw; max-height:72vh; border-radius:14px; box-shadow:0 20px 50px rgba(0,0,0,.35); }
.lightbox p{ color:#fff; font-family:'Caveat'; font-size:21px; margin-top:16px; text-align:center; max-width:70vw; }
.lightbox-close{
  position:absolute; top:22px; right:26px; background:rgba(255,255,255,.15); border:none;
  color:#fff; width:38px; height:38px; border-radius:50%; font-size:18px; cursor:pointer;
  transition:background .2s ease;
}
.lightbox-close:hover{ background:rgba(255,255,255,.3); }
.pframe{ cursor:pointer; }

/* sürpriz sandık ilerleme + kutlama */
.chest-progress{
  text-align:center; font-size:13.5px; color:var(--mauve-soft); margin-bottom:6px; font-weight:600;
}
.chest-celebrate{
  max-height:0; opacity:0; overflow:hidden; text-align:center;
  transition:max-height .6s ease, opacity .6s ease, margin .6s ease;
}
.chest-celebrate.show{ max-height:120px; opacity:1; margin-top:26px; }
.chest-celebrate p{ font-family:'Caveat'; font-size:26px; color:var(--rose); }

/* kedim sayfası — sabit oturan kedi */
.sitting-cat{ width:92px; height:92px; margin:0 auto 4px; }
.sitting-cat .tail{ transform-origin:52px 72px; animation:sit-wag 2.6s ease-in-out infinite; }
@keyframes sit-wag{ 0%,100%{transform:rotate(0deg);} 50%{transform:rotate(6deg);} }

/* paylaşılan kedi illüstrasyonu davranışları (uçan + oturan kedi ortak) */
.ear{ transform-origin:bottom center; animation:twitch 3.2s ease-in-out infinite; }
@keyframes twitch{ 0%,85%,100%{transform:rotate(0deg);} 90%{transform:rotate(6deg);} }
.eye-blink{ animation:blink 4.2s ease-in-out infinite; transform-origin:98.5px 41px; }
@keyframes blink{ 0%,92%,100%{transform:scaleY(1);} 95%{transform:scaleY(0.1);} }

/* ---------- MÜZİK ---------- */
.music-list{ display:flex; flex-direction:column; gap:14px; }
.music-card{
  display:flex; align-items:center; gap:16px;
  background:var(--paper); border-radius:14px; padding:16px 18px;
  box-shadow:0 4px 12px rgba(92,58,69,0.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.music-card:hover{ transform:translateX(4px); box-shadow:0 6px 16px rgba(92,58,69,0.14); }
.music-info{ flex:1; min-width:0; }
.music-info .song{ font-family:'Quicksand'; font-weight:700; font-size:15px; color:var(--mauve); }
.music-info .artist{ font-size:13px; color:var(--mauve-soft); }
.music-info .note{ font-family:'Caveat'; font-size:16.5px; color:var(--rose); margin-top:3px; }
.music-link{
  flex-shrink:0; font-size:12.5px; font-weight:600; color:var(--rose);
  border:1.5px solid var(--pink-mid); border-radius:16px; padding:6px 14px;
  transition:background .2s ease, color .2s ease;
}
.music-link:hover{ background:var(--rose); color:#fff; border-color:var(--rose); }

/* ---------- GEZDİĞİM YERLER (pasaport damgası) ---------- */
.stamp-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.stamp-card{
  aspect-ratio:1/1; border-radius:50%;
  border:2.5px dashed var(--pink-mid);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:16px;
  background:var(--paper);
  transform:rotate(var(--tilt, -3deg));
  box-shadow:0 4px 10px rgba(92,58,69,0.08);
  transition:transform .25s ease;
}
.stamp-card:hover{ transform:rotate(0deg) scale(1.05); }
.stamp-card .place-name{ font-family:'Caveat'; font-size:20px; color:var(--rose); font-weight:700; line-height:1.15; }
.stamp-card .place-date{ font-size:11px; color:var(--mauve-soft); margin-top:4px; letter-spacing:.5px; }
.stamp-card .place-note{ font-size:11.5px; color:var(--mauve-soft); margin-top:6px; line-height:1.4; }

@media(max-width:680px){
  .stamp-grid{ grid-template-columns:repeat(2,1fr); }
}

/* ---------- MÜZİK: pikap / plak ---------- */
.turntable-hero{ display:flex; justify-content:center; padding:16px 0 28px; }
.turntable-wrap{ position:relative; width:150px; height:150px; }
.vinyl-disc{ width:100%; height:100%; display:block; animation:vinyl-spin 3.4s linear infinite; }
@keyframes vinyl-spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
.tonearm{
  position:absolute; top:-8px; right:-22px; width:70px; height:70px;
  transform-origin:60px 8px; transform:rotate(-28deg);
  transition:transform 1s cubic-bezier(.3,.9,.3,1.15);
}
.tonearm.dropped{ transform:rotate(-3deg); }
.music-icon{
  flex-shrink:0; width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  animation:spin-slow 5s linear infinite;
}
.music-icon svg{ width:100%; height:100%; }
.music-card:hover .music-icon{ animation-duration:1.1s; }
@keyframes spin-slow{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }

/* ---------- GEZDİĞİM YERLER: uçan kağıt uçak ---------- */
.flight-hero{ position:relative; height:110px; margin:6px 0 10px; overflow:visible; }
.flight-path{ position:absolute; inset:0; width:100%; height:100%; }
.airplane{
  position:absolute; left:0; top:78%; width:32px; height:32px;
  animation:fly-path-places 3s cubic-bezier(.4,.08,.3,1) forwards;
}
@keyframes fly-path-places{
  0%{ left:0%; top:80%; transform:rotate(-4deg); }
  35%{ left:32%; top:12%; transform:rotate(10deg); }
  65%{ left:60%; top:48%; transform:rotate(-6deg); }
  100%{ left:92%; top:10%; transform:rotate(8deg); }
}
.stamp-card.reveal{
  opacity:0; transform:scale(1.3) rotate(var(--tilt,0deg));
  transition:opacity .5s ease, transform .55s cubic-bezier(.34,1.56,.64,1);
}
.stamp-card.reveal.revealed{
  opacity:1; transform:scale(1) rotate(var(--tilt,0deg));
}

/* ---------- FİLMLER: klaket + film şeridi ---------- */
.clapper-hero{ display:flex; justify-content:center; padding:10px 0 24px; }
.clapper-wrap{ width:170px; }
.clapper-top{
  transform-origin:8px 46px;
  animation:clap-once 1.1s cubic-bezier(.3,.9,.3,1.2) .3s both;
}
@keyframes clap-once{
  0%{ transform:rotate(-26deg); }
  55%{ transform:rotate(2deg); }
  75%{ transform:rotate(-4deg); }
  100%{ transform:rotate(0deg); }
}
.film-strip-edge{
  display:flex; justify-content:space-between; padding:0 10px; margin-bottom:-4px;
}
.film-strip-edge span{ width:8px; height:8px; border-radius:2px; background:var(--cream); display:block; }
.movie-card{
  background:var(--paper); border-radius:4px; overflow:hidden;
  box-shadow:0 4px 12px rgba(92,58,69,0.1); margin-bottom:20px;
}
.movie-card .band{
  background:var(--mauve); padding:6px 10px;
}
.movie-card .band .film-strip-edge span{ background:var(--paper); opacity:.5; }
.movie-card .body{ padding:16px 20px 20px; }
.movie-card .title-row{ display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px; }
.movie-card .title{ font-family:'Quicksand'; font-weight:700; font-size:17px; color:var(--mauve); }
.movie-card .mdate{ font-size:12px; color:var(--mauve-soft); }
.stars-display{ margin-top:4px; letter-spacing:2px; color:var(--gold); font-size:16px; }
.stars-display .empty{ color:var(--line); }
.movie-card .review{ font-family:'Caveat'; font-size:18px; color:var(--rose); margin-top:8px; line-height:1.4; }
.movie-card.reveal{
  opacity:0; transform:translateX(-24px);
  transition:opacity .55s ease, transform .55s ease;
}
.movie-card.reveal.revealed{ opacity:1; transform:translateX(0); }

/* ---------- AÇILIŞ ANİMASYONU (sadece ana sayfa) ---------- */
.intro-splash{
  position:fixed; inset:0; z-index:9999;
  background:linear-gradient(180deg, #241B2B 0%, var(--mauve) 62%, var(--sky3) 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  overflow:hidden;
  animation:splash-out .8s ease forwards 2.4s;
}
@keyframes splash-out{ to{ opacity:0; visibility:hidden; } }
.splash-stars{ position:absolute; inset:0; }
.splash-stars span{
  position:absolute; border-radius:50%; background:var(--star);
  animation:twinkle-pulse 3s ease-in-out infinite;
}
.splash-moon{
  position:absolute; top:12%; right:14%; width:52px; height:52px; opacity:.9;
  filter:drop-shadow(0 0 14px rgba(255,232,184,.5));
}
.splash-cat{ opacity:0; animation:splash-cat-in 1s ease forwards .25s, splash-float 2.6s ease-in-out infinite 1.25s; }
@keyframes splash-cat-in{ from{opacity:0; transform:translateY(14px) scale(.8);} to{opacity:1; transform:translateY(0) scale(1);} }
@keyframes splash-float{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);} }
.splash-word{
  font-family:'Caveat'; font-size:32px; color:var(--star); opacity:0; margin-top:4px;
  animation:splash-word-in 1s ease forwards .95s;
  text-shadow:0 0 18px rgba(255,232,184,.4);
}
@keyframes splash-word-in{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }

/* ---------- MOUSE İZİ (sadece ana sayfa) ---------- */
.cursor-trail{
  position:fixed; z-index:5; pointer-events:none;
  width:16px; height:16px; margin:-8px 0 0 -8px; color:var(--gold);
  animation:trail-fade .9s ease-out forwards;
}
.cursor-trail svg{ width:100%; height:100%; }
@keyframes trail-fade{
  0%{ opacity:.75; transform:scale(1) translateY(0); }
  100%{ opacity:0; transform:scale(.35) translateY(-16px); }
}

/* ---------- UZAY DETAYLARI (hero gökyüzü) ---------- */
.ringed-planet{ position:absolute; animation:drift 30s ease-in-out infinite; }
.shooting-star{
  position:absolute; width:2px; height:2px; border-radius:50%;
  background:var(--star); box-shadow:0 0 6px 1px var(--star);
  opacity:0; animation:shoot 7s ease-in infinite;
}
.shooting-star::before{
  content:""; position:absolute; top:50%; right:0; width:44px; height:1px;
  background:linear-gradient(90deg, transparent, var(--star));
  transform:translateY(-50%);
}
@keyframes shoot{
  0%{ opacity:0; transform:translate(0,0); }
  3%{ opacity:1; }
  16%{ opacity:0; transform:translate(-130px,65px); }
  100%{ opacity:0; }
}

@media (prefers-reduced-motion: reduce){
  .intro-splash{ display:none; }
  .cursor-trail{ display:none; }
}

/* ---------- DİL SEÇİCİ ---------- */
.lang-switch{
  display:flex; gap:4px; background:var(--paper); border-radius:16px; padding:3px;
  box-shadow:0 2px 6px rgba(92,58,69,0.1);
}
.lang-switch button{
  border:none; background:none; font-family:'Quicksand'; font-weight:600; font-size:12px;
  color:var(--mauve-soft); padding:6px 10px; border-radius:13px; cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.lang-switch button.active{ background:var(--rose); color:#fff; }
.header-right{ display:flex; align-items:center; gap:10px; position:relative; }

@media(max-width:420px){
  header{ padding:14px 16px; }
  .wordmark{ font-size:21px; }
  .lang-switch button{ padding:5px 7px; font-size:11px; }
  .menu-btn{ padding:8px 12px; }
  .header-right{ gap:6px; }
}
