:root{
  --k:1;
  --rl:calc(30px*var(--k));
  --rm:calc(22px*var(--k));
  --rs:calc(9px*var(--k));
  --ease:cubic-bezier(.2,.8,.2,1);
  --spring:cubic-bezier(.34,1.45,.5,1);
  --bg:#e8f0f5;
  --ink:#14161b;
  --ink2:rgba(20,22,27,.62);
  --glass:rgba(255,255,255,.6);
  --glass2:rgba(255,255,255,.4);
  --glass-hi:rgba(255,255,255,.78);
  --veil:rgba(236,238,243,.38);
  --rim:rgba(255,255,255,.95);
  --rim-lo:rgba(255,255,255,.3);
  --line:rgba(24,30,50,.08);
  --accent:#0a7fd1;
  --accent-soft:rgba(10,127,209,.13);
  --star:#d98200;
  --warn:#b86e00;
  --bad:#d23a2c;
  --lift:0 12px 32px rgba(44,56,92,.13),0 2px 6px rgba(44,56,92,.06);
  --glow:rgba(40,175,235,.22);
  --g1:rgba(40,175,235,.30);--g2:rgba(150,120,255,.15);--g3:rgba(60,210,190,.20);--grain:0;
  color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#04070b;
  --ink:#f3f4f7;
  --ink2:rgba(243,244,247,.6);
  --glass:rgba(36,38,45,.56);
  --glass2:rgba(70,74,84,.42);
  --glass-hi:rgba(28,30,36,.78);
  --veil:rgba(0,0,0,.4);
  --rim:rgba(255,255,255,.15);
  --rim-lo:rgba(255,255,255,.03);
  --line:rgba(255,255,255,.075);
  --accent:#5cc8ff;
  --accent-soft:rgba(92,200,255,.17);
  --star:#ffc247;
  --warn:#ffc247;
  --bad:#ff8c7d;
  --lift:0 16px 40px rgba(0,0,0,.55);
  --glow:rgba(60,190,255,.24);
  --g1:rgba(34,190,255,.20);--g2:rgba(120,90,255,.14);--g3:rgba(30,220,190,.13);--grain:.07;
  color-scheme:dark;
}
@supports (corner-shape:squircle){:root{--k:1.22}.sq{corner-shape:squircle}}

@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:.18s}
::view-transition-group(dock){animation:none}
::view-transition-group(pill){animation-duration:.3s;animation-timing-function:var(--ease)}
#dock{view-transition-name:dock}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg);scroll-padding-top:80px}
body{
  margin:0;min-height:100svh;color:var(--ink);padding-bottom:128px;overflow-x:hidden;
  font:16px/1.5 "SamsungOne","One UI Sans","Samsung Sans","Roboto Flex","Google Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(60% 50% at 10% -2%,var(--g1),transparent 70%),radial-gradient(50% 45% at 100% 32%,var(--g2),transparent 70%),radial-gradient(65% 50% at 38% 108%,var(--g3),transparent 70%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:var(--grain);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,p{margin:0}
svg{display:block}
.wrap{max-width:760px;margin:0 auto;padding:0 18px}

.glass{
  background:var(--glass);
  box-shadow:inset 0 0 0 1px var(--line),inset 1.5px 1.5px 0 var(--rim),inset -1px -1px 0 var(--rim-lo),var(--lift);
}
.dock.glass,.sheet-card.glass{-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6)}


.bar{position:sticky;top:0;z-index:6;padding-top:env(safe-area-inset-top)}
.bar::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .2s ease;
  background:var(--glass-hi);box-shadow:0 1px 0 var(--line);
  -webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6)}
.bar.on::before{opacity:1}
.bar-in{position:relative;max-width:760px;height:60px;margin:0 auto;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.bar-title{
  font-weight:650;font-size:1.1rem;letter-spacing:-.015em;
  opacity:0;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:opacity .2s ease, transform .2s ease;
}
.bar.on .bar-title{opacity:1}
.btn{width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;text-decoration:none;
  transition:transform .35s var(--spring);flex:0 0 auto}
.btn svg{width:22px;height:22px}
.btn:active{transform:scale(.9)}
.bar-in>.btn{flex:0 0 auto;margin:0}

/* Eylem Butonları Grubu (Zaman Tüneli, İstatistik, Arama, Tema) */
.bar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
.bar-actions>.btn{flex:0 0 auto;margin:0}

/* Geriye Dönük Uyumluluk Fallback (Eğer .bar-actions sarmalayıcısı yoksa) */
.bar-in:not(:has(.bar-actions))>.bar-stats-btn:first-of-type,
.bar-in:not(:has(.bar-actions)):not(:has(.bar-stats-btn)):not(:has([data-icon="back"]))>.btn:first-of-type,
.bar-in:not(:has(.bar-actions)):not(:has(.bar-stats-btn))>[data-icon="back"]~.btn:first-of-type{margin-left:auto}

/* Masaüstü (min-width: 641px): Başlık tam ortada, sol ve sağ buton gruplarıyla asla çakışmaz */
@media (min-width: 641px){
  .bar-title{position:absolute;left:50%;transform:translateX(-50%);max-width:calc(100% - 460px);text-align:center;pointer-events:none}
  .bar-in>[data-icon="back"],.bar-in>a[href="../"]{margin-right:0;flex:0 0 auto}
  .bar-actions{margin-left:auto}
}

/* Mobil (max-width: 640px): Samsung One UI Akıcı App Bar Düzeni */
@media (max-width: 640px){
  .bar-in{height:56px;padding:0 12px;gap:6px;justify-content:flex-start}
  .btn{width:40px;height:40px}
  .btn svg{width:20px;height:20px}
  .bar-in>[data-icon="back"],.bar-in>a[href="../"]{margin:0;flex:0 0 auto}
  .bar-title{
    position:static;transform:translateY(4px);
    flex:1 1 auto;min-width:0;text-align:left;
    padding:0 4px;margin:0;
  }
  .bar.on .bar-title{transform:translateY(0)}
  .bar-actions{gap:6px;margin-left:auto;flex:0 0 auto}
  .bar-stats-btn svg,.bar-search-btn svg{width:18px;height:18px}
}

.hero, .page-head{min-height:clamp(110px,19svh,200px);display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:18px 6px 20px;
  transform-origin:left bottom}
.hero>*, .page-head>*{transform-origin:left bottom}
@supports (animation-timeline:scroll()){
  .hero>*, .page-head>*{animation:hero-out linear both;animation-timeline:scroll(root block);animation-range:0 110px}
}
@keyframes hero-out{to{opacity:0;transform:scale(.92)}}
h1{font-size:clamp(2.5rem,10vw,3.4rem);line-height:1.04;font-weight:500;letter-spacing:-.035em}
.sub{color:var(--ink2);font-size:1.1rem;margin-top:-4px}
.mark{width:64px;height:64px;border-radius:calc(18px*var(--k));margin-bottom:6px;box-shadow:0 6px 18px rgba(0,0,0,.22)}

.dock{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:7;
  display:flex;gap:4px;padding:6px;border-radius:calc(34px*var(--k));width:max-content;max-width:calc(100% - 28px);background:var(--glass-hi)}
.dock a{position:relative;display:grid;justify-items:center;gap:1px;min-width:92px;padding:9px 18px 8px;border-radius:calc(28px*var(--k));
  color:var(--ink2);text-decoration:none;font-size:.74rem;font-weight:560;letter-spacing:.01em;transition:color .25s,transform .35s var(--spring)}
.dock a>:not(.pill){position:relative}
.dock a svg{width:24px;height:24px}
.dock a:active{transform:scale(.93)}
.dock a[aria-current]{color:var(--accent)}
.pill{position:absolute;inset:0;border-radius:inherit;background:var(--accent-soft);view-transition-name:pill}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.tile{border-radius:var(--rl);overflow:hidden}
.tile>a,.tile>div{display:grid;gap:16px;align-content:start;height:100%;padding:22px;color:inherit;text-decoration:none;border-radius:inherit;
  transition:transform .4s var(--spring),background .25s,box-shadow .35s var(--ease)}
.tile>a:active{transform:scale(.975)}
@media (hover:hover){
  .tile>a:hover{background:var(--accent-soft);transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--rim),var(--lift)}
  .tile>a:hover .strip img{transform:translateY(-2px) scale(1.04);box-shadow:0 8px 18px rgba(0,0,0,.25)}
}
.tile-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.tile h2{font-size:1.55rem;font-weight:550;letter-spacing:-.02em;line-height:1.15}
.go{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.go svg{width:18px;height:18px}
.nums{display:flex;flex-wrap:wrap;gap:4px 18px;color:var(--ink2);font-size:.9rem;font-variant-numeric:tabular-nums}
.nums b{color:var(--ink);font-weight:600}
.strip{display:flex;gap:8px}
.strip img{width:48px;aspect-ratio:2/3;object-fit:cover;border-radius:calc(11px*var(--k));box-shadow:inset 0 0 0 1px var(--line),0 4px 12px rgba(0,0,0,.18);transition:transform .35s var(--spring),box-shadow .3s}
.tile.soon h2{color:var(--ink2)}
.tag{font-size:.8rem;font-weight:600;color:var(--ink2);padding:4px 12px;border-radius:999px;background:var(--glass2)}
.links{display:grid;gap:3px;margin-top:26px}
.links li{border-radius:var(--rs);overflow:hidden}
.links li:first-child{border-radius:var(--rl) var(--rl) var(--rs) var(--rs)}
.links li:last-child{border-radius:var(--rs) var(--rs) var(--rl) var(--rl)}
.links li:only-child{border-radius:var(--rl)}
.links a{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;text-decoration:none;font-weight:520;transition:background .25s}
@media (hover:hover){.links a:hover{background:var(--accent-soft)}}
.links a:active{background:var(--accent-soft)}
.links svg{width:18px;height:18px;color:var(--ink2)}

.stats{display:grid;grid-template-columns:repeat(5,1fr);border-radius:var(--rl);padding:6px 0}
.stat{padding:12px 8px 12px 22px;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:var(--line)}
.stat b{display:block;font-size:1.65rem;font-weight:500;letter-spacing:-.03em;line-height:1.15;font-variant-numeric:tabular-nums}
.stat span{color:var(--ink2);font-size:.82rem}
.tools{display:flex;align-items:center;gap:8px;margin:14px 0 14px}
.search,.pick,.view{height:48px;border-radius:999px}
.search{position:relative;display:flex!important;align-items:center;gap:8px;padding:0 14px;color:var(--ink2);min-width:0}
.search svg{width:20px;height:20px;flex:none;display:block}
.search:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
input,select{font:inherit;color:var(--ink);background:none;border:0;margin:0}
input{flex:1;min-width:0;height:100%;padding:0 28px 0 0;line-height:normal}
input:focus{outline:0}
input::placeholder{color:var(--ink2)}
.pick{position:relative;display:flex;align-items:center}
.pick select{appearance:none;-webkit-appearance:none;height:100%;padding:0 36px 0 16px;cursor:pointer;border-radius:inherit;font-size:.92rem}
.pick svg{position:absolute;right:14px;width:16px;height:16px;pointer-events:none;color:var(--ink2)}
.view{display:flex;align-items:center;gap:2px;padding:4px}
.view button{width:40px;height:40px;border:0;border-radius:50%;background:none;color:var(--ink2);cursor:pointer;display:grid;place-items:center;
  transition:background .3s var(--ease),color .2s,transform .35s var(--spring)}
.view button:active{transform:scale(.88)}
.view button svg{width:20px;height:20px}
.view button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}
#randomPickBtn{width:48px!important;height:48px!important;border-radius:50%;flex:none}
@media (min-width:540px){
  .tools{flex-wrap:nowrap}
  .search{flex:1 1 140px;min-width:90px}
  .pick{flex:0 0 auto}
  .view{flex:0 0 auto}
  #randomPickBtn{flex:0 0 48px}
  .fw{flex:0 0 48px}
}
@media (max-width:539px){
  .tools{flex-wrap:wrap;gap:8px}
  .search{order:1;flex:1 1 calc(100% - 56px);height:44px}
  .fw{order:2;flex:0 0 44px}
  .fw .btn{width:44px;height:44px}
  .pick{order:3;flex:1 1 auto;min-width:100px;height:44px}
  .view{order:4;flex:0 0 auto;height:44px}
  .view button{width:36px;height:36px}
  #randomPickBtn{order:5;flex:0 0 44px;width:44px!important;height:44px!important}
}
.chips{display:flex;gap:8px;overflow-x:auto;margin:0 -18px 22px;padding:2px 18px 6px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;border:0;border-radius:999px;padding:9px 18px;cursor:pointer;color:var(--ink2);font-weight:520;font-size:.92rem;
  background:var(--glass);box-shadow:inset 0 0 0 1px var(--line),inset 1px 1px 0 var(--rim);transition:background .3s,color .2s,transform .35s var(--spring)}
.chips button:active{transform:scale(.94)}
.chips button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}

#list{display:grid}
#list.grid{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:24px 14px}
#list.list{gap:3px}
#list.grid li{content-visibility:auto;contain-intrinsic-size:auto 250px}
#list li{position:relative}
#list li[hidden]{display:none}
.poster{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--glass2);border-radius:var(--rm);
  box-shadow:inset 0 0 0 1px var(--line),0 10px 24px rgba(0,0,0,.2);
  transition:transform .38s var(--spring),box-shadow .35s var(--ease)}
.poster img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s,transform .45s var(--ease)}
.poster img.in{opacity:1}
@media (hover:hover){
  #list.grid li:hover .poster{
    transform:translateY(-5px);
    box-shadow:inset 0 0 0 1px var(--rim),0 18px 36px rgba(0,0,0,.35);
  }
  #list.grid li:hover .poster img{
    transform:scale(1.045);
  }
}
#list.grid li:active .poster{transform:scale(.96)}
.score{display:flex;align-items:center;gap:4px;padding:4px 10px 4px 8px;border-radius:999px;font-size:.82rem;font-weight:650;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px var(--line),inset 1px 1px 0 var(--rim)}
.score svg{width:13px;height:13px;color:var(--star)}
h3{font-size:.95rem;line-height:1.3;font-weight:600}
h3 a{text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
h3 a::after{content:"";position:absolute;inset:0}
#list li:has(h3 a:focus-visible){outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--rm)}
h3 a:focus-visible{outline:0}
.meta{font-size:.82rem;color:var(--ink2)}
.st{font-size:.78rem;font-weight:620}
.st-watching{color:var(--accent)}.st-paused{color:var(--warn)}.st-dropped{color:var(--bad)}.st-planned{color:var(--ink2)}.st-next{color:var(--accent)}
.grid .t{padding:10px 4px 0;display:grid;gap:2px}
.grid .score{position:absolute;top:8px;left:8px;background:var(--glass-hi)}
.list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:10px 16px 10px 10px;background:var(--glass);
  border-radius:var(--rs);box-shadow:inset 0 0 0 1px var(--line),inset 1px 1px 0 var(--rim)}
.list li.f{border-radius:var(--rl) var(--rl) var(--rs) var(--rs)}
.list li.l{border-radius:var(--rs) var(--rs) var(--rl) var(--rl)}
.list li.f.l{border-radius:var(--rl)}
.list .poster{width:54px;border-radius:calc(14px*var(--k));box-shadow:inset 0 0 0 1px var(--line)}
.list .t{display:grid;gap:1px;min-width:0}
.list .score{background:var(--glass2)}
.note{text-align:center;color:var(--ink2);margin-top:28px}
.foot{margin:40px 6px 0;font-size:.78rem;color:var(--ink2);max-width:46ch}

@media (max-width:520px){
  .stat{padding:10px 2px 10px 10px}
  .stat b{font-size:1.2rem}
  .stat span{font-size:.68rem;white-space:nowrap}
  .search{flex-basis:100%}
  .pick{flex:1}.pick select{width:100%}
}
.sheet{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.sheet-card{position:relative;width:min(100%,600px);max-height:88svh;overflow:auto;overscroll-behavior:contain;border-radius:var(--rl) var(--rl) 0 0;
  background:var(--glass-hi);padding:18px 18px calc(18px + env(safe-area-inset-bottom))}
.sheet-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-bottom:10px}
.sheet-cover{width:56px;aspect-ratio:2/3;object-fit:cover;border-radius:calc(12px*var(--k));box-shadow:inset 0 0 0 1px var(--line);background:var(--glass2, rgba(255,255,255,.05));transition:opacity .18s cubic-bezier(0.16, 1, 0.3, 1)}
.sheet-cover[hidden]{display:none}
.sheet-t{min-width:0}
.sheet-t h2{font-size:1.15rem;line-height:1.25;font-weight:620}
.sh-sub{font-size:.84rem;color:var(--ink2);margin-top:2px}
.parts{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.part{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:11px 4px;border-top:1px solid var(--line)}
.part:first-child{border-top:0}
.pd{width:10px;height:10px;border-radius:50%;background:var(--ink2);opacity:.35}
.part.done .pd{background:var(--accent);opacity:1}
.part.cur .pd{background:var(--accent);opacity:1;box-shadow:0 0 0 4px var(--accent-soft)}
.part.drop .pd{background:var(--bad);opacity:1}
.pt{display:grid;min-width:0}
.pt a{color:inherit;text-decoration:none;font-weight:560;font-size:.95rem;line-height:1.3}
.pt a:hover{text-decoration:underline}
.pm{font-size:.78rem;color:var(--ink2)}
.ps{font-size:.8rem;font-weight:620;color:var(--ink2);text-align:right;white-space:nowrap}
.part.done .ps{color:var(--ink2)}
.part.cur .ps{color:var(--accent)}
.part.drop .ps{color:var(--bad)}
.part.no .pt a{opacity:.8}
.sh-al{display:inline-block;margin-top:12px;font-size:.84rem;color:var(--accent);text-decoration:none}
@media (min-width:640px){.sheet{align-items:center}.sheet-card{border-radius:var(--rl)}}
@media (prefers-reduced-motion:no-preference){
  .sheet:not([hidden]) .sheet-card{animation:sheet-in .28s var(--ease)}
  .sheet:not([hidden]) .sheet-bg{animation:sheet-fade .3s ease}
}
@keyframes sheet-in{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@keyframes sheet-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  *,::before,::after{animation:none!important;transition:none!important}
  @view-transition{navigation:none}
  .hero>*, .page-head>*{transform:none}
}

/* Sürpriz kartı: liquid glass + geri sayım */
:root{--gift:#ff4f9a;--gift-soft:rgba(255,79,154,.45)}
.gift{position:relative;isolation:isolate;overflow:hidden;margin:4px 0 12px;border-radius:var(--rl);
  background:linear-gradient(155deg,var(--glass-hi),var(--glass2) 70%);
  contain:paint;
  transform:translateZ(0);
}
.gift::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  background:radial-gradient(120% 70% at 12% -8%,rgba(255,255,255,.55),transparent 55%),
             linear-gradient(180deg,rgba(255,255,255,.22),transparent 34%);
  opacity:.5;
  transform:translateZ(0);
}
:root[data-theme=dark] .gift::before{opacity:.22}
.gift-bg{position:absolute;inset:-10%;z-index:-1;pointer-events:none;opacity:.8;
  background:radial-gradient(38% 42% at 26% 34%,rgba(255,92,166,.5),transparent 70%),
             radial-gradient(34% 40% at 76% 62%,rgba(176,106,255,.38),transparent 70%),
             radial-gradient(30% 34% at 52% 100%,rgba(255,168,120,.35),transparent 70%);
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.gift-btn{position:relative;z-index:1;display:grid;place-items:center;width:100%;padding:30px 0 20px;border:0;background:none;cursor:pointer;
  border-radius:inherit;transition:transform .4s var(--spring);
  -webkit-tap-highlight-color:transparent;
}
.gift-btn:active{transform:scale(.97)}
.gift-btn:focus-visible{outline-offset:-4px}
.gift-glow{position:absolute;left:50%;top:50%;width:160px;height:140px;transform:translate3d(-50%,-48%,0);pointer-events:none;
  background:radial-gradient(closest-side,var(--gift-soft),transparent);
  will-change:transform,opacity;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.gift-box{position:relative;width:104px;height:auto;overflow:visible;
  transform:translate3d(0,0,0);
  -webkit-transform:translate3d(0,0,0);
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.gift-lid{transform-box:fill-box;transform-origin:20% 100%;transition:transform .6s var(--spring);
  will-change:transform;backface-visibility:hidden;
}
.gift.open .gift-lid{transform:translate(4px,-20px) rotate(-12deg)}
.gift-body{transition:transform .5s var(--spring);transform-box:fill-box;transform-origin:50% 100%;
  will-change:transform;backface-visibility:hidden;
}
.gift.open .gift-body{transform:scale(1.03)}
.gift-panel{position:relative;z-index:1;display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease);
  contain:content;
}
.gift.open .gift-panel{grid-template-rows:1fr}
.gift-in{min-height:0;overflow:hidden}
.gift-body-txt{display:grid;gap:14px;justify-items:center;padding:2px 18px 24px;opacity:0;transform:translate3d(0,10px,0);
  transition:opacity .4s ease,transform .55s var(--ease)}
.gift.open .gift-body-txt{opacity:1;transform:translate3d(0,0,0);transition-delay:.14s}
.gift-lead{font-size:.95rem;font-weight:560;text-align:center}
.cd{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;max-width:420px}
.cd[hidden]{display:none}
.cd>div{border-radius:calc(18px*var(--k));padding:12px 4px 10px;text-align:center;background:var(--glass2);
  box-shadow:inset 0 0 0 1px var(--line),inset 1px 1px 0 var(--rim)}
.cd b{display:block;font-size:1.7rem;font-weight:500;line-height:1.15;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cd span{font-size:.74rem;color:var(--ink2)}
.gift-date{font-size:.84rem;color:var(--ink2)}
@media (prefers-reduced-motion:no-preference){
  .gift.vis:not(.open) .gift-box{animation:gift-bob 3.2s ease-in-out infinite}
  .gift.vis:not(.open) .gift-glow{animation:gift-pulse 3.2s ease-in-out infinite}
  .gift.open .gift-glow{opacity:.35;transform:translate3d(-50%,-48%,0) scale(1);animation:none}
}
@keyframes gift-bob{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-5px,0)}
}
@keyframes gift-pulse{
  0%,100%{opacity:.8;transform:translate3d(-50%,-48%,0) scale3d(1,1,1)}
  50%{opacity:.5;transform:translate3d(-50%,-48%,0) scale3d(1.06,1.06,1)}
}
@media (max-width: 640px){
  .gift-glow{width:130px;height:120px;opacity:.7}
  @keyframes gift-pulse{
    0%,100%{opacity:.7;transform:translate3d(-50%,-48%,0) scale3d(1,1,1)}
    50%{opacity:.45;transform:translate3d(-50%,-48%,0) scale3d(1.04,1.04,1)}
  }
  @keyframes gift-bob{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(0,-4px,0)}
  }
}

/* ---- v2: Rimuru tonları, menü, kutucuklar, liste, istatistik ---- */
.dock{gap:2px;padding:5px}
.dock a{min-width:0;padding:10px 20px;grid-auto-flow:column;align-items:center;gap:8px;font-size:.82rem}
.dock a:not([aria-current]) span{display:none}
.dock a:not([aria-current]){padding:10px 16px}
.nums{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:2px 22px;font-size:.78rem}
.nums span{display:grid}
.nums b{font-size:1.55rem;font-weight:500;line-height:1.1;letter-spacing:-.02em}
.strip{padding-left:12px}
.strip img{width:58px;margin-left:-12px;box-shadow:0 0 0 2px var(--glass-hi),0 4px 10px rgba(0,0,0,.2)}
.stats{display:block;padding:0}
.stats-row{display:grid;grid-template-columns:repeat(5,1fr);padding:6px 0}
.more{display:flex;width:100%;justify-content:center;align-items:center;gap:6px;padding:10px;border:0;border-top:1px solid var(--line);background:none;color:var(--ink2);font-size:.84rem;font-weight:560;cursor:pointer}
.more svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.stats.open .more svg{transform:rotate(180deg)}
.ins,.fp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.stats.open .ins,.fp.open{grid-template-rows:1fr}
.ins-in,.fp-in{min-height:0;overflow:hidden}
.blk{padding:14px 22px 6px}
.blk:last-child{padding-bottom:18px}
.blk h4{margin:0 0 10px;font-size:.78rem;font-weight:620;color:var(--ink2);letter-spacing:.02em;text-transform:uppercase}
.hbs{display:flex;align-items:flex-end;gap:6px;height:96px}
.hb{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;border:0;background:none;padding:0;cursor:pointer;color:var(--ink2);font-size:.7rem}
.hb i{display:block;width:100%;height:var(--h);min-height:3px;border-radius:6px;background:var(--accent);opacity:.75}
.hb:active i{opacity:1}
.hb b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.seg{display:flex;gap:2px;height:12px}
.seg button{border:0;padding:0;cursor:pointer;flex:var(--n) 1 0;min-width:6px;background:var(--c)}
.seg button:first-child{border-radius:99px 0 0 99px}.seg button:last-child{border-radius:0 99px 99px 0}
.leg{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.8rem;color:var(--ink2)}
.leg i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--c)}
.hl{display:grid;gap:8px;font-size:.9rem}
.hl div{display:flex;justify-content:space-between;gap:12px}
.hl span{color:var(--ink2);flex:none}.hl b{font-weight:560;text-align:right}
.fw{position:relative;flex:none}.fw .btn{width:48px;height:48px}
.dotn{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font:600 .68rem/18px system-ui;text-align:center;font-style:normal}
.dotn[hidden]{display:none}
.fp-in>div{margin-bottom:8px;padding:14px 0 4px}
.fg{display:grid;gap:8px;margin:0 0 14px}
.fg>span{font-size:.78rem;font-weight:620;color:var(--ink2);letter-spacing:.02em;text-transform:uppercase;padding-left:2px}
.fp .chips{flex-wrap:wrap;overflow:visible;margin:0;padding:0}
.chips button small{font-size:.76rem;opacity:.65;margin-left:4px;font-variant-numeric:tabular-nums}
.poster .pg{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(0,0,0,.3)}
.pg i{display:block;height:100%;width:var(--w);background:var(--accent)}
.sb{position:absolute;right:8px;top:8px;padding:3px 9px;border-radius:99px;font-size:.7rem;font-weight:650;background:var(--glass-hi);box-shadow:inset 0 0 0 1px var(--line)}
.sb.st-next{color:var(--accent)}
.grid .st{display:none}
.list .sb{display:none}.list .pg{height:3px}
.poster{box-shadow:inset 0 0 0 1px var(--line),0 6px 14px rgba(0,0,0,.16)}
.sh-pg{height:5px;border-radius:9px;background:var(--accent-soft);overflow:hidden;margin:2px 0 8px}.sh-pg[hidden]{display:none}
.sh-pg i{display:block;height:100%;width:var(--w);background:var(--accent);border-radius:9px}

/* Detaylı Puanlama Karnesi (Ön Yüz) */
.sh-rating-breakdown{background:var(--glass2);border:1px solid var(--line);border-radius:var(--rm);padding:10px 12px;margin:8px 0 12px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.sh-rating-breakdown[hidden]{display:none!important}
.sh-rb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}
.sh-rb-title{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2);display:flex;align-items:center;gap:6px}
.sh-rb-title svg{color:#eab308;flex:none}
.sh-rb-score{font-size:.85rem;font-weight:750;color:#eab308;background:rgba(234,179,8,.12);padding:2px 9px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(234,179,8,.25)}
.sh-rb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr));gap:6px}
.sh-rb-item{background:var(--glass);border:1px solid var(--line);border-radius:calc(9px*var(--k));padding:6px 9px;display:flex;flex-direction:column;gap:2px;transition:transform .15s ease,background .15s ease}
.sh-rb-item:hover{background:var(--glass-hi);transform:translateY(-1px)}
.sh-rb-top{display:flex;align-items:center;justify-content:space-between;gap:4px}
.sh-rb-lbl{font-size:.71rem;font-weight:600;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-rb-num{font-size:.68rem;font-weight:700;color:var(--ink);opacity:.85}
.sh-rb-stars{font-size:.72rem;color:#eab308;letter-spacing:.06em}
.sh-rb-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;margin-bottom:8px;border-bottom:1px solid var(--line);scrollbar-width:none}
.sh-rb-tabs::-webkit-scrollbar{display:none}
.sh-rb-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;border:0;font-size:.73rem;font-weight:600;cursor:pointer;background:var(--glass);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);transition:all .2s ease}
.sh-rb-tab:hover{background:var(--accent-soft);color:var(--accent)}
.sh-rb-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.sh-rb-tab.active .sh-rb-tab-score{color:#fff;opacity:.95}
.sh-rb-tab-score{font-size:.69rem;font-weight:750;color:#eab308}

.sheet-cover{width:72px}
@media (max-width:640px){.sheet-card::before{content:"";display:block;width:38px;height:4px;border-radius:9px;background:var(--line);margin:-6px auto 12px}}
@media (max-width:520px){.stats-row{grid-template-columns:repeat(5,1fr)}.nums{gap:2px 16px}}

.ins .chips{flex-wrap:wrap;overflow:visible;margin:0;padding:0}

/* ---- v3: Özel Kutucuklar (Custom Boxes) ve Dinamik Kart Desteği ---- */
.custom-boxes{margin:12px 0}
.custom-boxes[hidden]{display:none}
.tile.span-full{grid-column:1 / -1}
.box-head-left{display:flex;align-items:center;gap:12px;min-width:0}
.box-thumb{width:40px;height:40px;border-radius:calc(11px*var(--k));object-fit:cover;flex:none;box-shadow:inset 0 0 0 1px var(--line)}
.box-ic{width:38px;height:38px;border-radius:calc(11px*var(--k));background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
.box-ic svg{width:20px;height:20px}
.box-txt{color:var(--ink2);font-size:.94rem;line-height:1.45;white-space:pre-line}

/* ---- v4: Alt Menü (#dock) Yatay Hizalama Garantisi, Başyapıt Rozeti ve Adım 13 İstatistik Grafikleri ---- */
.dock{display:flex!important;flex-direction:row!important;align-items:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.dock::-webkit-scrollbar{display:none}
.dock a{display:inline-flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:8px;white-space:nowrap;flex:0 0 auto}

.fav-badge{position:absolute;right:8px;bottom:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.82rem;line-height:1;background:var(--glass-hi);color:#d98b00;box-shadow:inset 0 0 0 1px var(--line),0 3px 10px rgba(0,0,0,.25);z-index:2}
:root[data-theme=dark] .fav-badge{color:#ffc247}
.list .fav-badge{display:none}

.fmt-cmp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.fmt-cmp-card{padding:12px 14px;border-radius:calc(16px*var(--k));background:var(--glass2);box-shadow:inset 0 0 0 1px var(--line);display:grid;gap:3px}
.fmt-cmp-lbl{font-size:.74rem;font-weight:600;color:var(--ink2)}
.fmt-cmp-val{font-size:1.25rem;font-weight:650;color:var(--accent);font-variant-numeric:tabular-nums}
.fmt-cmp-sub{font-size:.73rem;color:var(--ink2)}

.genre-bars{display:grid;gap:8px}
.genre-bar-row{width:100%;border:0;background:var(--glass2);padding:9px 13px;border-radius:calc(14px*var(--k));box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;display:grid;gap:6px;text-align:left;transition:background .2s,transform .2s}
.genre-bar-row:hover,.genre-bar-row[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.gb-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.83rem}
.gb-name{font-weight:620;color:var(--ink)}
.gb-val{font-size:.76rem;color:var(--ink2);font-variant-numeric:tabular-nums}
.gb-track{height:6px;border-radius:999px;background:var(--glass);overflow:hidden}
.gb-track i{display:block;height:100%;width:var(--w);background:var(--accent);border-radius:999px}

/* ---- v5: Adım 15 Technopat Sosyal Rehber Kataloğu Stilleri ---- */
.guide-catalog-grid{margin-top:8px}
.guide-card>a{gap:12px}
.guide-out-badge{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent);font-weight:620}
.guide-out-badge svg{width:15px;height:15px}
.guide-cat-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}

/* ---- v5: Masaüstü (PC) Yatay Kaydırma (Fare Sürükleme & Tekerlek) Desteği ---- */
.chips,.dock{user-select:none;-webkit-user-select:none;-webkit-overflow-scrolling:touch}
@media (hover:hover) and (pointer:fine){
  .chips{cursor:grab;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:transparent transparent}
  .chips:hover{scrollbar-color:var(--line) transparent}
  .chips::-webkit-scrollbar{display:block;height:4px}
  .chips::-webkit-scrollbar-track{background:transparent}
  .chips::-webkit-scrollbar-thumb{background:transparent;border-radius:99px}
  .chips:hover::-webkit-scrollbar-thumb{background:var(--line)}
}
.chips.is-dragging,.chips.is-dragging *,.dock.is-dragging,.dock.is-dragging *{cursor:grabbing!important}

.bar-search-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;margin:0}
.bar-search-btn svg{width:19px;height:19px}

.cmdk-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:start center;padding:clamp(24px,8vh,84px) 16px 24px}
.cmdk-modal[hidden]{display:none!important}
.cmdk-bg{position:fixed;inset:0;background:rgba(8,10,16,.52);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.cmdk-card{position:relative;width:min(640px,100%);max-height:min(76vh,620px);display:flex;flex-direction:column;border-radius:var(--rl);background:var(--glass-hi);-webkit-backdrop-filter:blur(28px) saturate(1.7);backdrop-filter:blur(28px) saturate(1.7);box-shadow:inset 0 0 0 1px var(--line),var(--lift);overflow:hidden}
.cmdk-top{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.cmdk-top svg{width:20px;height:20px;color:var(--accent);flex:none}
.cmdk-inp{flex:1;min-width:0;height:32px;font-size:1rem;font-weight:520;color:var(--ink);background:none;border:0;outline:0}
.cmdk-kbd{font-size:.72rem;font-weight:650;padding:3px 8px;border-radius:8px;background:var(--glass2);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;border:0}
.cmdk-ScopeBar{display:flex;gap:6px;overflow-x:auto;padding:10px 18px;border-bottom:1px solid var(--line);scrollbar-width:none}
.cmdk-ScopeBar::-webkit-scrollbar{display:none}
.cmdk-scope-btn{flex:none;border:0;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600;cursor:pointer;background:var(--glass2);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);transition:background .2s,color .2s}
.cmdk-scope-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}
.cmdk-list{flex:1;overflow-y:auto;padding:10px;display:grid;gap:4px;align-content:start}
.cmdk-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border:0;border-radius:calc(14px*var(--k));background:transparent;color:var(--ink);text-align:left;cursor:pointer;text-decoration:none;transition:background .15s}
.cmdk-item:hover,.cmdk-item.active{background:var(--accent-soft)}
.cmdk-thumb{width:36px;height:50px;border-radius:7px;object-fit:cover;background:var(--glass2);flex:none;box-shadow:inset 0 0 0 1px var(--line)}
.cmdk-ic{width:36px;height:36px;border-radius:10px;background:var(--glass2);color:var(--accent);display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 1px var(--line)}
.cmdk-ic svg{width:18px;height:18px}
.cmdk-info{flex:1;min-width:0;display:grid;gap:2px}
.cmdk-title{font-size:.93rem;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.cmdk-sub{font-size:.76rem;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-badge{font-size:.7rem;font-weight:650;padding:2px 8px;border-radius:999px;background:var(--glass2);color:var(--ink2);flex:none}
.cmdk-badge.fav{color:#d98b00;background:rgba(245,166,35,.16)}
:root[data-theme=dark] .cmdk-badge.fav{color:#ffc247}
.cmdk-foot{display:flex;justify-content:space-between;align-items:center;padding:9px 18px;border-top:1px solid var(--line);font-size:.74rem;color:var(--ink2);background:var(--glass2)}

.tier-board{display:grid;gap:12px;margin-bottom:24px}
.tier-board[hidden]{display:none!important}
.tier-row{display:grid;grid-template-columns:108px 1fr;border-radius:var(--rl);overflow:hidden;background:var(--glass);box-shadow:inset 0 0 0 1px var(--line),var(--lift)}
.tier-head{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:14px 10px;text-align:center;border-right:1px solid var(--line);background:var(--tier-bg,var(--glass2));color:var(--tier-fg,var(--ink))}
.tier-letter{font-size:1.55rem;font-weight:750;line-height:1.05;letter-spacing:-.03em}
.tier-name{font-size:.73rem;font-weight:650;opacity:.88;margin-top:3px}
.tier-cnt{font-size:.68rem;opacity:.7;margin-top:4px;font-variant-numeric:tabular-nums}
.tier-items{display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px;align-content:start}
.tier-card{position:relative;width:86px;border:0;padding:0;background:none;color:var(--ink);cursor:pointer;text-align:left;display:grid;gap:5px;transition:transform .25s var(--spring)}
.tier-card:hover{transform:translateY(-3px) scale(1.03)}
.tier-card-poster{position:relative;width:86px;aspect-ratio:2/3;border-radius:11px;overflow:hidden;background:var(--glass2);box-shadow:inset 0 0 0 1px var(--line),0 4px 10px rgba(0,0,0,.18)}
.tier-card-poster img{width:100%;height:100%;object-fit:cover;display:block}
.tier-card-sc{position:absolute;left:5px;bottom:5px;padding:2px 6px;border-radius:99px;font-size:.68rem;font-weight:700;background:var(--glass-hi);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);font-variant-numeric:tabular-nums}
.tier-card-fav{position:absolute;right:5px;top:5px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.68rem;background:var(--glass-hi);color:#d98b00;box-shadow:inset 0 0 0 1px var(--line)}
:root[data-theme=dark] .tier-card-fav{color:#ffc247}
.tier-card-title{font-size:.74rem;font-weight:580;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:560px){
  .tier-row{grid-template-columns:76px 1fr}
  .tier-card,.tier-card-poster{width:74px}
}
@keyframes random-pulse{0%{box-shadow:0 0 0 0 var(--accent)}50%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.random-highlight{animation:random-pulse 1.2s ease 2;outline:2px solid var(--accent);border-radius:var(--rm)}

/* ---- v7: Adım 20 Detay Kartı Hızlı Gezinme (Önceki/Sonraki) ve Derin Bağlantı Kopyalama Stilleri ---- */
.sheet-foot-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.sheet-nav-grp{display:inline-flex;align-items:center;gap:6px}
.sheet-nav-btn,.sheet-share-btn{border:0;border-radius:999px;padding:7px 13px;font-size:.8rem;font-weight:600;cursor:pointer;background:var(--glass2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s,transform .2s}
.sheet-nav-btn:hover:not(:disabled),.sheet-share-btn:hover{background:var(--accent-soft);color:var(--accent)}
.sheet-nav-btn:disabled{opacity:.38;cursor:default}
.sheet-nav-btn svg,.sheet-share-btn svg{width:15px;height:15px}
.sheet-pos-lbl{font-size:.75rem;font-weight:600;color:var(--ink2);padding:0 4px;font-variant-numeric:tabular-nums}
.sheet-act-grp{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.sheet-card .sh-al{margin-top:0}

/* ---- v8: Adım 21 Zar (Random Pick) Dönme Animasyonu ve Mikro-Görsel Geri Bildirim ---- */
@keyframes dice-spin {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.15); }
  100% { transform: rotate(360deg) scale(1); }
}
#randomPickBtn {
  transition: transform .2s var(--spring), background .2s, color .2s;
}
#randomPickBtn:active {
  transform: scale(0.92);
}
#randomPickBtn.is-rolling svg {
  animation: dice-spin .45s cubic-bezier(.34, 1.56, .64, 1);
}

/* ---- v9: Adım 1 Kategori İstatistikleri Butonu ---- */
.bar-stats-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  margin: 0;
}
.bar-stats-btn svg {
  width: 19px;
  height: 19px;
}


/* ============================================================================
   [AI-MIMARI-NOTU: ADIM 8 — SİNEMATİK GENİŞ SAHNE GÖRSELLERİ (BACKDROP BANNER)]
   Letterboxd / IMDb elit standartlarında geniş açılı sahne görseli (backdrop).
   Sıfır depolama: Görseller repoya indirilmez, AniList/TMDB CDN'den stream edilir.
   ============================================================================ */
.sheet-backdrop {
  position: relative;
  margin: -18px -18px 10px;
  height: 195px;
  overflow: hidden;
  border-radius: var(--rl) var(--rl) 0 0;
  background: linear-gradient(135deg, #0c1017 0%, #151a24 100%);
}
@media (min-width: 640px) {
  .sheet-backdrop {
    height: 230px;
  }
}
.sheet-backdrop[hidden] {
  display: none !important;
}
.sheet-backdrop-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
  transform: scale(1.02);
  transition: transform 0.35s ease, filter 0.35s ease, opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.sheet-backdrop-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10, 13, 20, 0.2) 0%,
    rgba(10, 13, 20, 0.45) 50%,
    var(--glass-hi, #131722) 100%
  );
  pointer-events: none;
}

/* Backdrop aktifken modal başlık ve poster hiyerarşisi (Letterboxd / IMDb tarzı) */
.sheet-card.has-backdrop {
  padding-top: 18px;
}
.sheet-card.has-backdrop [data-close] {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 12;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}
.sheet-card.has-backdrop [data-close]:hover {
  background: rgba(0, 0, 0, 0.85);
  border-color: rgba(255, 255, 255, 0.5);
  transform: scale(1.05);
}
.sheet-card.has-backdrop .sheet-head {
  position: relative;
  z-index: 5;
  margin-top: -56px;
  margin-bottom: 12px;
}
.sheet-card.has-backdrop .sheet-cover {
  width: 78px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.65), 0 0 0 2px rgba(255, 255, 255, 0.16);
  border-radius: 12px;
}
@media (min-width: 640px) {
  .sheet-card.has-backdrop .sheet-cover {
    width: 88px;
  }
}
.sheet-card.has-backdrop .sheet-t h2 {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.85);
}

/* ============================================================================
   [YENİ ÖZELLİK 1 & 2]: YUKARI ÇIK (BACK TO TOP) & ARAMA KISAYOL ROZETİ
   ============================================================================ */
.back-to-top {
  position: fixed;
  right: 20px;
  bottom: 24px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--glass-hi);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25), inset 0 1px 0 var(--rim);
  color: var(--ink);
  cursor: pointer;
  display: grid;
  place-items: center;
  z-index: 50;
  opacity: 0;
  transform: translate3d(0, 16px, 0) scale(0.9);
  pointer-events: none;
  transition: opacity 0.28s var(--ease), transform 0.28s var(--spring), background 0.2s, box-shadow 0.2s, color 0.2s;
}
.back-to-top.visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  pointer-events: auto;
}
.back-to-top:hover {
  background: var(--glass);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), inset 0 1px 0 var(--rim);
  transform: translate3d(0, -3px, 0) scale(1.06);
  color: var(--accent);
}
.back-to-top:active {
  transform: translate3d(0, 0, 0) scale(0.94);
}
.back-to-top svg {
  width: 20px;
  height: 20px;
}
@media (max-width: 640px) {
  .back-to-top {
    right: 14px;
    bottom: 74px;
    width: 40px;
    height: 40px;
  }
}

.search-wrap {
  position: relative;
}
.search-kbd-hint {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  padding: 2px 7px;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ink2);
  background: var(--glass2);
  border: 1px solid var(--line);
  border-radius: 6px;
  pointer-events: none;
  opacity: 0.75;
  transition: opacity 0.2s ease;
  font-family: inherit;
  line-height: 1;
}
.search input:focus ~ .search-kbd-hint,
.search input:not(:placeholder-shown) ~ .search-kbd-hint,
.search-wrap input:focus ~ .search-kbd-hint,
.search-wrap input:not(:placeholder-shown) ~ .search-kbd-hint {
  opacity: 0;
  pointer-events: none;
}
@media (hover: none) and (pointer: coarse) {
  .search-kbd-hint { display: none; }
}

/* ============================================================================
   [YENİ ÖZELLİK 3]: GÖRSEL YÜKLEME İSKELETİ (SKELETON SHIMMER)
   ============================================================================ */
.img-skeleton {
  background: linear-gradient(
    90deg,
    var(--glass2) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    var(--glass2) 100%
  );
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.8s infinite linear;
}
@keyframes skeleton-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ============================================================================
   [YENİ ÖZELLİK]: ARAMA ÇUBUĞU TEMİZLEME (✕) BUTONU VE SAYAC
   ============================================================================ */
.search-clear {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) scale(0.8);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  margin: 0;
  background: var(--line);
  color: var(--ink2);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s var(--ease), transform 0.25s var(--spring), background 0.2s, visibility 0.2s;
}
.search-clear.on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(-50%) scale(1);
}
.search-clear:hover {
  background: var(--accent);
  color: #fff;
}
.search-clear:active {
  transform: translateY(-50%) scale(0.85);
}

/* ============================================================================
   [YENİ ÖZELLİK]: KLAVYE KISAYOLLARI MODAL (KEYBOARD SHORTCUTS SHEET)
   ============================================================================ */
.kbd-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s var(--ease), visibility 0.25s var(--ease);
}
.kbd-overlay.open {
  opacity: 1;
  visibility: visible;
}
.kbd-dialog {
  width: min(100%, 420px);
  padding: 24px 22px;
  border-radius: var(--rl);
  background: var(--glass-hi);
  box-shadow: inset 0 0 0 1px var(--line), inset 1.5px 1.5px 0 var(--rim), 0 24px 48px rgba(0, 0, 0, 0.4);
  transform: scale(0.92) translateY(12px);
  transition: transform 0.3s var(--spring);
}
.kbd-overlay.open .kbd-dialog {
  transform: scale(1) translateY(0);
}
.kbd-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}
.kbd-head h3 {
  font-size: 1.15rem;
  font-weight: 650;
  color: var(--ink);
}
.kbd-head button {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 0;
  background: var(--glass2);
  color: var(--ink2);
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 14px;
  transition: background 0.2s, transform 0.2s;
}
.kbd-head button:hover {
  background: var(--accent-soft);
  color: var(--accent);
}
.kbd-list {
  display: grid;
  gap: 10px;
}
.kbd-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: var(--rs);
  background: var(--glass);
  box-shadow: inset 0 0 0 1px var(--line);
  font-size: 0.88rem;
  color: var(--ink);
}
.kbd-keys {
  display: flex;
  align-items: center;
  gap: 4px;
}
.kbd-keys kbd {
  display: inline-block;
  padding: 3px 8px;
  font-size: 0.76rem;
  font-weight: 700;
  font-family: inherit;
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent);
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}


