:root{
  --bg:#1c1310;
  --bg2:#2a1c16;
  --bg-deep:#120c0a;
  --panel:#2b1d17;
  --ink:#efe6da;
  --muted:#b49a82;
  --gold:#c8a96a;
  --gold-soft:#e0c690;
  --line:rgba(200,169,106,.25);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;height:100%;}
body{
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(120% 120% at 50% 0%,var(--bg2) 0%,var(--bg) 60%,var(--bg-deep) 100%);
  color:var(--ink);overflow:hidden;user-select:none;
}
#app{display:flex;flex-direction:column;height:100vh;height:100dvh;}

/* ---- üst başlık ---- */
#topbar{display:flex;align-items:center;justify-content:space-between;
  padding:14px 22px;flex:0 0 auto;}
.brand{font-weight:700;letter-spacing:3px;font-size:18px;color:var(--ink);
  display:flex;align-items:baseline;gap:8px;}
.brand span{font-size:10px;letter-spacing:4px;color:var(--gold);font-weight:600;}
.cat-title{font-size:13px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;}

/* ---- sahne ---- */
#stage{flex:1 1 auto;position:relative;display:flex;align-items:center;
  justify-content:center;min-height:0;padding:6px 10px;overflow:hidden;}
/* Kitap sahneyi birebir doldurur -> yüksekliği sınırlı, asla araç çubuğuna taşmaz */
/* Kapak ortalaması transform yerine left/right (yerleşim) ile yapılır; transform StPageFlip flip'ini bozar.
   left+right birlikte değişince genişlik sabit kalır -> #flipbook yeniden boyutlanmaz. */
#flipShift{position:absolute;top:10px;left:14px;right:14px;bottom:10px;}
#flipbook{position:absolute;inset:0;margin:0;touch-action:pan-y;}
#flipbook .page{background:#0c0c0c;}
#flipbook .page .page-content{width:100%;height:100%;}
#flipbook .pimg{width:100%;height:100%;display:block;object-fit:contain;background:#0c0c0c;}

/* yan oklar */
.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);
  background:rgba(20,14,11,.55);color:var(--gold-soft);font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);
  transition:.2s;}
.nav-arrow:hover{background:rgba(200,169,106,.18);color:#fff;}
.nav-arrow.left{left:14px;} .nav-arrow.right{right:14px;}

/* ---- alt araç çubuğu ---- */
#toolbar{position:relative;z-index:20;flex:0 0 auto;display:flex;align-items:center;
  justify-content:center;gap:6px;padding:9px 10px;background:var(--bg-deep);
  border-top:1px solid var(--line);}
#toolbar button{width:40px;height:40px;border-radius:9px;border:1px solid var(--line);
  background:rgba(0,0,0,.25);color:var(--ink);font-size:17px;cursor:pointer;transition:.18s;
  display:flex;align-items:center;justify-content:center;}
#toolbar button:hover{background:var(--gold);color:var(--bg-deep);border-color:var(--gold);}
#toolbar .sep{width:1px;height:26px;background:var(--line);margin:0 6px;}
#pageInfo{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;
  padding:0 8px;min-width:96px;justify-content:center;}
#pageInput{width:46px;text-align:center;background:rgba(0,0,0,.3);border:1px solid var(--line);
  color:var(--ink);border-radius:6px;padding:6px 2px;font-size:14px;}
#pageInput:focus{outline:none;border-color:var(--gold);}

/* ---- yükleyici ---- */
#loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:14px;color:var(--muted);z-index:20;background:var(--bg);}
#loader.hidden{display:none;}
.spin{width:42px;height:42px;border-radius:50%;border:3px solid var(--line);
  border-top-color:var(--gold);animation:sp 1s linear infinite;}
@keyframes sp{to{transform:rotate(360deg);}}

/* ---- küçük resim paneli ---- */
#thumbsPanel{position:fixed;top:0;right:0;width:300px;max-width:84vw;height:100%;
  background:var(--panel);border-left:1px solid var(--line);z-index:40;
  display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.5);
  transform:translateX(0);transition:transform .3s ease;}
#thumbsPanel.hidden{transform:translateX(100%);}
.thumbs-head{display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:2px;
  text-transform:uppercase;color:var(--gold);}
.thumbs-head button{background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;}
#thumbsGrid{flex:1;overflow-y:auto;padding:14px;display:grid;
  grid-template-columns:1fr 1fr;gap:10px;}
.thumb{cursor:pointer;border:2px solid transparent;border-radius:6px;overflow:hidden;
  background:#0c0c0c;position:relative;aspect-ratio:1;transition:.18s;}
.thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.thumb:hover{border-color:var(--gold-soft);}
.thumb.active{border-color:var(--gold);}
.thumb .n{position:absolute;bottom:0;left:0;right:0;font-size:10px;text-align:center;
  background:rgba(0,0,0,.55);color:var(--gold-soft);padding:2px;}

/* ---- yakınlaştırma ---- */
#lightbox{position:fixed;inset:0;z-index:60;background:rgba(8,6,5,.96);
  display:flex;align-items:center;justify-content:center;}
#lightbox.hidden{display:none;}
#lbStage{width:100%;height:100%;overflow:hidden;display:flex;align-items:center;
  justify-content:center;cursor:grab;}
#lbStage.grabbing{cursor:grabbing;}
#lbImg{max-width:96%;max-height:92%;transform-origin:center center;
  will-change:transform;transition:transform .05s linear;}
#lbClose{position:absolute;top:16px;right:20px;z-index:2;background:none;border:none;
  color:var(--ink);font-size:38px;cursor:pointer;line-height:1;}
#lbHint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
  font-size:12px;color:var(--muted);background:rgba(0,0,0,.4);padding:6px 14px;border-radius:20px;}

@media (max-width:640px){
  .nav-arrow{display:none;}
  .brand{font-size:15px;} .cat-title{display:none;}
  #toolbar button{width:38px;height:38px;}
}
