/* Ipek Yolu Hikayeleri: mor-altin, sinematik. Konumlar varsayilan arka plan gorseline (941x1672) gore yuzdeyle verilir:
   portal ortasi yukseklikte %19,7, tahtin tabani %81. Katman genisligi --lw, kaydirma payi --py (hikayeler.js). */
:root{--gold:#e9c46a;--gold2:#f6dc94;--ink:#f3e9ff;--muted:#cbbbe2;--glass:rgba(18,10,32,.58);--line:rgba(233,196,106,.45)}
*{box-sizing:border-box}
html,body{margin:0;background:#07040d;color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
body{overflow-x:hidden}
img{max-width:none}
.hk-top{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:linear-gradient(180deg,rgba(7,4,13,.85),transparent)}
.hk-brand{color:var(--gold2);text-decoration:none;font:900 22px "Cinzel Decorative",Georgia,serif;letter-spacing:.04em;text-shadow:0 0 14px rgba(159,71,255,.6)}
.hk-brand small{margin-left:6px;font:700 11px Cinzel,Georgia,serif;color:var(--muted)}
.hk-top nav{display:flex;gap:8px}
.hk-top nav a{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(20,10,38,.7);color:var(--ink);text-decoration:none;font-size:14px}
.hk-top nav a:hover{border-color:var(--gold)}
main{position:relative;z-index:1}
/* Sahne ve akan katman */
.hk-btn{min-height:42px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:rgba(24,12,42,.82);color:var(--ink);font:700 14px Cinzel,Georgia,serif;letter-spacing:.03em;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}
.hk-btn:hover,.hk-btn:focus-visible{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 0 0 3px rgba(233,196,106,.25),0 8px 22px rgba(0,0,0,.45);outline:none}
.hk-btn.gold{background:linear-gradient(180deg,#f2d27e,#c9973a);color:#2a1606;border-color:#f6dc94}
.hk-btn.small{min-height:36px;font-size:13px;padding:0 14px}
.hk-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
/* Kart seridi: sahnenin hemen altinda, koyu zeminde */
/* Sahne: tek ekran; gorsel ekrani kaplar. Ogelerin yeri ve boyutu hikayeler.js'te gorseldeki portal ve tahta gore verilir. */
body{background:#12081f}
.hk-stage{position:relative;overflow:hidden;height:100vh;height:100svh;min-height:480px}
.hk-layer{position:absolute;inset:0;will-change:transform}
.hk-bg{position:absolute;display:block;max-width:none}
/* Hafif koyu katman, kenarlarda karartma ve altta koyu mora yumusak gecis */
.hk-shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 45%,transparent 55%,rgba(10,4,20,.62) 100%),linear-gradient(180deg,rgba(10,4,20,.38) 0%,rgba(10,4,20,.08) 26%,rgba(10,4,20,.06) 62%,rgba(18,8,31,.55) 90%,#12081f 100%)}
/* Baslik grubu: kutunun ortasi basligin ortasidir; logo basligin hemen ustunde (hikayeler.js boyutlandirir) */
.hk-hero{position:absolute;z-index:3;transform:translate(-50%,-50%);text-align:center;animation:hkRise 1.2s ease-out both}
.hk-logo{position:absolute;left:50%;bottom:100%;width:var(--lw,240px);max-width:none;height:auto;margin:0 0 var(--gap,6px);transform:translateX(-50%);filter:drop-shadow(0 0 18px rgba(159,71,255,.85)) drop-shadow(0 4px 10px rgba(0,0,0,.6))}
/* Baslik: acik altin, koyu golge ve hafif parilti (parlak portalin ustunde okunur) */
/* Iki satir, her biri kendi genisliginde ve ortali; esit genislik icin kisa satira harf araligi verilir */
.hk-hero h1 span{display:block;width:max-content;margin:0 auto}
.hk-hero h1{margin:0;white-space:nowrap;font-family:"Cinzel Decorative",Cinzel,Georgia,serif;font-weight:900;line-height:1.06;color:#ffe7a6;letter-spacing:0;
 text-shadow:0 0 2px #2a1240,0 2px 3px rgba(20,6,34,.95),0 0 10px rgba(20,6,34,.9),0 0 22px rgba(42,18,64,.85),0 0 30px rgba(255,214,120,.45)}
.hk-acts{position:absolute;z-index:3;display:flex;flex-wrap:wrap;justify-content:center;gap:calc(10px * var(--k,1));transform:translate(-50%,-50%) scale(var(--k,1));transform-origin:50% 50%;width:max-content;animation:hkFade 1.4s .3s ease-out both}
.hk-char{position:absolute;z-index:2;max-width:none;filter:drop-shadow(0 0 14px rgba(141,62,245,.5)) drop-shadow(0 8px 10px rgba(0,0,0,.6));animation:hkFade 1.4s .2s ease-out both}
/* Kartlar dogrudan zeminde: ayri panel yok; altta golge ve zemine yansima */
.hk-flow{--cw:200px;position:absolute;left:0;right:0;z-index:4;perspective:1400px;outline:none;user-select:none;-webkit-user-select:none}
.hk-flow:focus-visible .hk-card.is-center{outline:2px solid var(--gold2);outline-offset:3px}
.hk-empty{position:absolute;left:50%;z-index:4;transform:translate(-50%,-50%);margin:0;padding:10px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(18,8,31,.72);color:var(--ink);text-align:center}
/* Tum Hikayeler listesi: sahnenin altinda koyu alan */
.hk-list{position:relative;z-index:1;padding:34px 16px 46px;background:#12081f}
.hk-list h2{margin:0 0 6px;text-align:center;font:900 clamp(20px,3vw,30px) "Cinzel Decorative",Cinzel,Georgia,serif;color:var(--gold2);text-shadow:0 0 16px rgba(159,71,255,.6)}
.hk-list[hidden]{display:none}
/* 3B doner vitrin: kartlar ortaya uzakliklarina gore (hikayeler.js) kuculur, arkaya gider ve soluklasir */
.hk-flow:focus-visible{box-shadow:0 0 0 2px rgba(233,196,106,.45);border-radius:20px}
.hk-ring{position:absolute;inset:0;transform-style:preserve-3d;touch-action:pan-y;cursor:grab}
.hk-ring.dragging{cursor:grabbing}
.hk-card{position:absolute;left:50%;top:50%;width:var(--cw);aspect-ratio:3/4;border-radius:18px;overflow:hidden;border:1px solid rgba(233,196,106,.35);background:linear-gradient(160deg,#2a1745,#110a1f);color:var(--ink);box-shadow:0 26px 28px -12px rgba(0,0,0,.75),0 8px 18px rgba(0,0,0,.4);-webkit-box-reflect:below 5px linear-gradient(transparent 72%,rgba(255,255,255,.16));will-change:transform,opacity;transition:box-shadow .35s,border-color .35s}
.hk-card.is-center{border-color:var(--gold);box-shadow:0 0 0 1px rgba(246,220,148,.6),0 0 34px rgba(233,196,106,.45),0 0 70px rgba(159,71,255,.35),0 22px 50px rgba(0,0,0,.6)}
.hk-card .ci{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 32%,rgba(156,107,210,.5),transparent 62%),linear-gradient(160deg,#2a1745,#110a1f)}
.hk-card .ci img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.hk-card .cph{font-size:64px;margin-bottom:34%;filter:drop-shadow(0 0 14px rgba(233,196,106,.45))}
.hk-card .ck{position:absolute;left:12px;top:12px;padding:3px 10px;border-radius:999px;background:rgba(7,4,13,.72);border:1px solid var(--line);color:var(--gold2);font:700 11px Cinzel,Georgia,serif;letter-spacing:.07em;text-transform:uppercase}
.hk-card .ch{position:absolute;right:12px;top:12px;padding:3px 9px;border-radius:999px;background:#6b5a7e;color:#fff;font-size:11px;font-weight:700}
.hk-card .cb{position:absolute;left:0;right:0;bottom:0;padding:40% 10% 9%;background:linear-gradient(180deg,transparent,rgba(7,4,13,.78) 38%,rgba(7,4,13,.96))}
.hk-card h3{margin:0 0 4px;font:700 max(11px,calc(var(--cw) * .085))/1.2 Cinzel,Georgia,serif;color:var(--gold2);text-shadow:0 2px 8px rgba(0,0,0,.8)}
.hk-card p{margin:0;color:var(--muted);font-size:max(11px,calc(var(--cw) * .054));line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hk-card .cgo{display:block;width:100%;margin-top:10px;max-height:0;min-height:0;padding:0;opacity:0;overflow:hidden;border-width:0;transition:max-height .35s,opacity .35s,padding .35s}
.hk-card.is-center .cgo{max-height:44px;min-height:30px;padding:0 4px;opacity:1;border-width:1px}
/* Hikayeyi Oku tek satir: yazi kart genisligine gore kuculur */
.hk-card .cgo{white-space:nowrap;font-size:max(8.5px,min(13px,calc(var(--cw) * .07)));letter-spacing:0}
.hk-arrow{position:absolute;top:50%;z-index:200;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid rgba(233,196,106,.25);background:rgba(20,10,38,.35);color:rgba(246,220,148,.55);font-size:24px;line-height:1;cursor:pointer;transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
.hk-arrow.prev{left:4px}.hk-arrow.next{right:4px}
.hk-arrow:hover,.hk-arrow:focus-visible{background:rgba(32,16,58,.85);color:var(--gold2);border-color:var(--gold);box-shadow:0 0 16px rgba(233,196,106,.35);outline:none}
.hk-flow[hidden],.hk-flownav[hidden],.hk-grid[hidden]{display:none}
/* Tum Hikayeler: duz liste */
.hk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;max-width:1180px;margin:18px auto 0}
.hk-card.flat{position:relative;left:auto;top:auto;width:auto;cursor:pointer;transform:none;--cw:200px;-webkit-box-reflect:none}
.hk-card.flat .cgo{display:none}
.hk-card.flat:hover,.hk-card.flat:focus-visible{border-color:var(--gold);outline:none;box-shadow:0 0 26px rgba(233,196,106,.35),0 16px 34px rgba(0,0,0,.5)}
/* Hikaye sayfasi */
/* Hikaye paneli: sayfanin ustunde acilir; arkada sayfa koyulasir ve bulaniklasir */
.hk-story{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:3vh 3vw;background:rgba(7,4,13,.62);backdrop-filter:blur(7px) saturate(1.05);-webkit-backdrop-filter:blur(7px) saturate(1.05);opacity:0;transition:opacity .4s ease;overscroll-behavior:contain}
.hk-story.show{opacity:1}
.hk-story[hidden]{display:none}
.hs-panel{position:relative;width:min(1320px,100%);height:min(880px,100%);overflow:hidden;border-radius:22px;border:1px solid rgba(233,196,106,.45);background:#07040d;box-shadow:0 30px 90px rgba(0,0,0,.7),0 0 40px rgba(159,71,255,.25);transform:translateY(14px) scale(.97);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.hk-story.show .hs-panel{transform:none}
.hs-close{position:absolute;top:12px;right:14px;z-index:8;width:42px;height:42px;border-radius:50%;border:1px solid rgba(233,196,106,.45);background:rgba(18,8,31,.7);color:var(--gold2);font-size:26px;line-height:1;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}
.hs-close:hover,.hs-close:focus-visible{background:rgba(42,18,64,.95);box-shadow:0 0 16px rgba(233,196,106,.4);transform:rotate(90deg);outline:none}
.hs-bg{position:absolute;inset:0;background:#07040d center/cover no-repeat;filter:brightness(.55) saturate(1.1);transform:scale(1.06);transition:transform 8s ease-out}
.hk-story.show .hs-bg{transform:scale(1)}
.hs-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,transparent 30%,rgba(7,4,13,.75) 85%),linear-gradient(180deg,rgba(7,4,13,.4),transparent 30%,rgba(7,4,13,.7))}
.hs-ribbon{position:absolute;left:-10%;right:-10%;top:42%;height:30vh;transform:translateY(-50%) skewY(-11deg);background:linear-gradient(90deg,transparent,rgba(110,46,170,.55) 18%,rgba(233,196,106,.35) 50%,rgba(110,46,170,.55) 82%,transparent),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 2px,transparent 2px 22px);border-top:2px solid rgba(233,196,106,.55);border-bottom:2px solid rgba(233,196,106,.55);box-shadow:0 0 40px rgba(159,71,255,.4);animation:hsRibbon .9s ease-out both}
.hs-fog{position:absolute;left:-30%;width:160%;height:45%;pointer-events:none;background:radial-gradient(ellipse at 30% 50%,rgba(220,200,255,.14),transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(255,230,190,.1),transparent 60%);filter:blur(10px);animation:hsFog 26s linear infinite alternate}
.hs-fog.f1{bottom:-8%}.hs-fog.f2{bottom:18%;opacity:.7;animation-duration:38s;animation-direction:alternate-reverse}
.hs-birds{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hs-birds i{position:absolute;left:-60px;width:26px;height:10px;opacity:.75;animation:hsBird 16s linear infinite}
.hs-birds i::before,.hs-birds i::after{content:"";position:absolute;top:0;width:14px;height:8px;border-top:2px solid rgba(20,10,30,.85);border-radius:50% 50% 0 0;animation:hsWing .7s ease-in-out infinite alternate}
.hs-birds i::before{left:0;transform-origin:100% 100%}.hs-birds i::after{right:0;transform-origin:0 100%}
.hs-birds i:nth-child(1){top:14%;animation-delay:-2s}.hs-birds i:nth-child(2){top:19%;animation-delay:-5s;transform:scale(.7)}
.hs-birds i:nth-child(3){top:11%;animation-delay:-9s;transform:scale(.85)}.hs-birds i:nth-child(4){top:24%;animation-delay:-12s;transform:scale(.6)}.hs-birds i:nth-child(5){top:16%;animation-delay:-14s}
.hs-wrap{position:relative;z-index:3;height:calc(100% - 84px);padding-top:56px!important;display:grid;grid-template-columns:minmax(200px,1fr) minmax(240px,1.3fr) minmax(200px,1fr);align-items:center;gap:24px;padding:70px 4vw 0;transition:opacity .35s,transform .35s}
.hs-wrap.out{opacity:0;transform:translateY(14px)}
.hs-figure{grid-column:2;grid-row:1;margin:0;height:100%;display:flex;align-items:flex-end;justify-content:center;animation:hsIn .8s ease-out both}
.hs-figure img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 0 26px rgba(159,71,255,.55)) drop-shadow(0 18px 24px rgba(0,0,0,.6))}
.hs-ph{align-self:center;display:grid;place-items:center;width:min(300px,70%);aspect-ratio:1;border-radius:50%;border:2px dashed var(--line);background:radial-gradient(circle,rgba(156,107,210,.25),transparent 70%);color:var(--muted);text-align:center;font-size:14px;padding:20px}
.hs-ph b{display:block;font:900 64px "Cinzel Decorative",Georgia,serif;color:var(--gold2)}
.hs-info{grid-column:1;grid-row:1;max-height:72vh;overflow:auto;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 14px 40px rgba(0,0,0,.45);animation:hsLeft .7s .1s ease-out both}
.hs-kind{display:inline-block;margin-bottom:10px;padding:3px 12px;border-radius:999px;border:1px solid var(--line);color:var(--gold2);font:700 12px Cinzel,Georgia,serif;letter-spacing:.08em;text-transform:uppercase}
.hs-sum{margin:0 0 12px;color:#e6dbf5;line-height:1.65;white-space:pre-line}
.hs-body{max-height:0;overflow:hidden;opacity:0;transition:max-height .6s ease,opacity .5s ease}
.hs-body.open{max-height:4000px;opacity:1}
.hs-body p{margin:0 0 12px;color:#d6c8ea;line-height:1.7}
.hs-title{grid-column:3;grid-row:1;margin:0;text-align:right;font:900 clamp(28px,4.4vw,74px)/1.08 "Cinzel Decorative",Cinzel,Georgia,serif;overflow-wrap:anywhere;hyphens:auto;background:linear-gradient(170deg,#fff6d6,#e9c46a 45%,#b97fff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 18px rgba(0,0,0,.7));word-break:break-word;animation:hsRight .7s .15s ease-out both}
.hs-nav{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;justify-content:center;gap:12px;padding:16px;background:linear-gradient(0deg,rgba(7,4,13,.9),transparent)}
@keyframes hkRise{from{opacity:0;transform:translate(-50%,-44%)}to{opacity:1}}
@keyframes hkFade{from{opacity:0;filter:blur(4px)}}
@keyframes hsRibbon{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes hsFog{from{transform:translateX(-6%)}to{transform:translateX(6%)}}
@keyframes hsBird{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 120px))}}
@keyframes hsWing{from{transform:rotate(-22deg)}to{transform:rotate(14deg)}}
@keyframes hsIn{from{opacity:0;transform:translateY(24px) scale(.97)}}
@keyframes hsLeft{from{opacity:0;transform:translateX(-24px)}}
@keyframes hsRight{from{opacity:0;transform:translateX(24px)}}
/* Telefon: gorsel ustte; isim, ozgecmis ve gecis dugmeleri altta */
@media(max-width:760px){
 .hk-top{padding:8px 12px}.hk-brand{font-size:18px}.hk-top nav a{padding:6px 11px;font-size:13px}
 .hk-btn{min-height:40px;padding:0 14px;font-size:13px}
 .hk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hk-card.flat{--cw:160px}
 .hk-arrow{width:32px;height:32px;font-size:19px}
 /* Telefonda panel tam ekran; icerik panel icinde kayar, dugmeler altta sabit */
 .hk-story{padding:0}
 .hs-panel{width:100%;height:100%;border-radius:0;border:0;overflow-y:auto;transform:translateY(24px)}
 .hs-wrap{display:flex;flex-direction:column;height:auto;min-height:100%;padding:64px 16px 96px;gap:14px}
 .hs-figure{order:1;height:auto;max-height:46vh}.hs-figure img{max-height:46vh}
 .hs-title{order:2;text-align:center;font-size:clamp(30px,9vw,44px)}
 .hs-info{order:3;max-height:none;overflow:visible}
 .hs-ribbon{top:30%;height:22vh}
 .hs-nav{position:sticky;flex-wrap:wrap;gap:8px}
 .hs-bg,.hs-fog,.hs-ribbon,.hs-birds{position:fixed}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hk-layer{transform:none!important}}
