body:has(.reader-shell){background:#f7f7f7;color:#17191c}body:has(.reader-shell) .site-header,body:has(.reader-shell) .site-footer{display:none}body:has(.reader-shell) main{min-height:100vh;min-height:100dvh}
html.reader-fullscreen-active,html.reader-fullscreen-active body{overflow:hidden;overscroll-behavior:none}
.reader-shell{--red:#df092d;position:relative;height:100vh;height:100dvh;min-height:620px;overflow:hidden;background:#f1efeb;color:#15171a}
/* duvar: yumuşak ışık + vinyet */
.reader-shell:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 62% at 50% 40%,#fffefc 0,#f6f4f0 52%,#e6e3dd 100%),repeating-linear-gradient(90deg,#0000 0 3px,#00000004 3px 4px)}
.reader-topbar{position:relative;z-index:20;height:68px;max-width:1540px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;color:#15171a}
.reader-brand{display:flex;align-items:center;gap:5px;white-space:nowrap}.reader-brand strong{font:800 26px/1 Arial,sans-serif;letter-spacing:-.06em}.reader-brand>span{font:300 24px/1 'Segoe UI',sans-serif;letter-spacing:-.055em}.reader-brand>i{height:27px;width:2px;background:var(--red);margin:0 14px}.reader-brand small{max-width:290px;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#70757b}
.reader-actions{display:flex;align-items:center;gap:20px;height:100%}.labeled-action{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#17191c;padding:8px 3px}.labeled-action b{font-size:11px;font-weight:600}.action-divider{height:28px;width:1px;background:#16191c2e}.grid-icon{width:19px;display:grid;grid-template-columns:repeat(2,5px);gap:3px}.grid-icon i{width:5px;height:5px;border:1px solid currentColor;border-radius:1px}.fullscreen-icon{position:relative;display:block;width:19px;height:19px;background:linear-gradient(currentColor,currentColor) left top/7px 1.5px no-repeat,linear-gradient(currentColor,currentColor) left top/1.5px 7px no-repeat,linear-gradient(currentColor,currentColor) right top/7px 1.5px no-repeat,linear-gradient(currentColor,currentColor) right top/1.5px 7px no-repeat,linear-gradient(currentColor,currentColor) left bottom/7px 1.5px no-repeat,linear-gradient(currentColor,currentColor) left bottom/1.5px 7px no-repeat,linear-gradient(currentColor,currentColor) right bottom/7px 1.5px no-repeat,linear-gradient(currentColor,currentColor) right bottom/1.5px 7px no-repeat}.close-reader{position:relative;width:27px;height:27px}.close-reader:before,.close-reader:after{content:'';position:absolute;left:13px;top:0;width:1.5px;height:29px;background:#17191c}.close-reader:before{transform:rotate(45deg)}.close-reader:after{transform:rotate(-45deg)}
.reader-stage{position:relative;height:calc(100vh - 145px);height:calc(100dvh - 145px);min-height:470px;display:flex;align-items:center;justify-content:center;gap:clamp(20px,4.5vw,72px);perspective:1800px}.stage-light{display:none}

/* ================= TAKVİM GÖVDESİ ================= */
.calendar-wrap{position:relative;width:var(--document-book-width,min(70vw,1120px));display:grid;place-items:center;transition:width .58s cubic-bezier(.22,.8,.24,1)}
/* duvara düşen gölge katmanları */
.calendar-shadow{position:absolute;z-index:-8;left:3%;right:-2%;bottom:-72px;height:120px;background:#1a1917;filter:blur(36px);opacity:.3;border-radius:50%;transform:perspective(430px) rotateX(66deg)}
.calendar-wrap:before{content:'';position:absolute;z-index:-7;left:2%;right:0;bottom:-34px;height:30px;background:#000;filter:blur(13px);opacity:.38;border-radius:50%}
.calendar-wrap:after{content:none}
.calendar-book{position:relative;width:100%;aspect-ratio:1.5;touch-action:none;transform-origin:center;transition:transform .3s cubic-bezier(.2,.8,.2,1),aspect-ratio .58s cubic-bezier(.22,.8,.24,1)}.calendar-book.zoomed{z-index:9}

/* arkalık karton: sayfalardan geniş, kalın, çok katmanlı gölgeli */
.calendar-back{position:absolute;z-index:-3;inset:-10px -13px -31px -3px;border-radius:4px 4px 3px 3px;background:linear-gradient(180deg,#fefefd 0,#f3f2ef 35%,#e4e3df 100%);border:1px solid #c8c7c2;box-shadow:inset 0 1px 0 #fff,inset 0 -18px 18px -14px #0000001f,0 1px 0 #fff,0 2px 0 #d5d4d0,0 3px 0 #bfbebb,0 4px 4px #0004,0 14px 22px -6px #0005,0 34px 56px -14px #0006,14px 10px 26px -10px #0003}
.calendar-back:after{content:'';position:absolute;left:-1px;right:-1px;bottom:-1px;height:17px;border-radius:0 0 4px 4px;background:linear-gradient(180deg,#a2a5a7 0,#e1e3e4 14%,#8c8f91 40%,#55585a 78%,#38393b 100%);box-shadow:inset 0 1px 0 #fffb,inset 0 -1px 0 #0008,0 3px 7px #0007}
.calendar-back:before{content:'';position:absolute;left:50%;top:11px;width:48px;height:13px;margin-left:-24px;border-radius:7px;background:radial-gradient(ellipse at 50% 30%,#141414 0 45%,#464646 75%,#999);box-shadow:0 1px 0 #fff,inset 0 2px 3px #000}

/* sayfa destesi: alttan ve sağdan görünen ince kâğıt kenarları */
.calendar-sheets{position:absolute;z-index:-1;inset:0 0 0 0}
.calendar-sheets:after{content:'';position:absolute;left:2px;right:-8px;top:100%;height:16px;margin-top:-1px;clip-path:polygon(0 0,100% 0,calc(100% - 7px) 100%,5px 100%);background:linear-gradient(180deg,#00000047 0,#0000000a 26%,#0000 46%,#00000024 100%),repeating-linear-gradient(180deg,#fcfbf8 0 1.3px,#d9d7d2 1.3px 2.1px,#f3f1ec 2.1px 3.2px,#c6c4bf 3.2px 3.9px,#faf9f6 3.9px 5px,#cfcdc8 5px 5.8px)}
.calendar-sheets:before{content:'';position:absolute;top:5px;bottom:-16px;left:100%;width:10px;margin-left:-1px;clip-path:polygon(0 0,100% 7px,calc(100% - 3px) 100%,0 calc(100% - 16px));background:linear-gradient(90deg,#00000042 0,#0000000a 30%,#0000 55%,#0000002e 100%),repeating-linear-gradient(90deg,#fcfbf8 0 1.3px,#d6d4cf 1.3px 2.1px,#f2f0eb 2.1px 3.1px,#c3c1bc 3.1px 3.8px)}

/* canvas + üzerindeki ışık/gölge katmanları */
.calendar-book canvas{position:relative;display:block;width:100%;height:100%;background:#fff;cursor:grab;touch-action:none;user-select:none;box-shadow:inset 0 0 0 1px #00000014,inset 0 -1px 0 #0000001f}.calendar-book.dragging canvas{cursor:grabbing}
.calendar-book:before,.calendar-book:after{content:'';position:absolute;left:0;right:0;pointer-events:none;z-index:4}
/* tellerin altında kâğıdın üst kenarına inen ambiyans gölgesi */
.calendar-book:before{top:0;height:58px;background:linear-gradient(180deg,#0000002e 0,#00000012 38%,#0000 100%);transition:opacity .16s ease}
/* hafif yüzey parlaması */
.calendar-book:after{top:0;bottom:0;background:linear-gradient(112deg,#ffffff2e 0,#ffffff00 26%,#ffffff00 66%,#00000010 100%)}


/* ================= DİKEY KİTAP / DERGİ ================= */
.reader-shell.portrait-document .calendar-wrap{--document-book-width:min(44vw,610px);width:var(--document-book-width)}
.reader-shell.portrait-document.book-spread .calendar-wrap{--document-book-width:min(78vw,1120px)}
.reader-shell.portrait-document .binding{display:none}
.reader-shell.portrait-document .calendar-shadow{left:-6%;right:-7%;bottom:-58px;height:96px;filter:blur(30px);opacity:.36}
.reader-shell.portrait-document .calendar-wrap:before{left:-4%;right:-4%;bottom:-27px;height:24px;filter:blur(11px)}
.reader-shell.portrait-document .calendar-back{inset:-3px -9px -16px -5px;border-radius:2px 5px 5px 2px;background:linear-gradient(90deg,#f8f7f3 0,#deddd8 2%,#faf9f5 5%,#eceae4 100%);border:1px solid #c9c7c1;box-shadow:inset 1px 0 0 #fff,inset -1px 0 0 #aaa8,0 2px 0 #d8d6d0,0 5px 9px #0003,10px 20px 42px -14px #0007}
.reader-shell.portrait-document .calendar-back:before{display:none}
.reader-shell.portrait-document .calendar-back:after{left:3px;right:-1px;bottom:-1px;height:11px;border-radius:0 0 5px 2px;background:repeating-linear-gradient(180deg,#fff 0 1px,#c9c7c1 1px 2px,#eeeae4 2px 3px);box-shadow:inset 0 -1px 0 #7776,0 2px 4px #0004}
.reader-shell.portrait-document .calendar-sheets:after{left:1px;right:-7px;height:13px;background:repeating-linear-gradient(180deg,#fff 0 1px,#c9c7c1 1px 2px,#f0eee8 2px 3px)}
.reader-shell.portrait-document .calendar-sheets:before{top:2px;bottom:-13px;width:8px;background:repeating-linear-gradient(90deg,#fff 0 1px,#c9c7c1 1px 2px,#eeeae4 2px 3px)}
.reader-shell.portrait-document .calendar-book canvas{border-radius:2px 4px 4px 1px;box-shadow:inset 1px 0 0 #0002,inset -1px 0 0 #fff8}
.reader-shell.portrait-document .calendar-book:before{left:0;right:auto;top:0;bottom:0;width:25px;height:auto;background:linear-gradient(90deg,#00000026 0,#00000010 25%,#00000005 55%,#0000 100%)}
.reader-shell.portrait-document .calendar-book:after{background:linear-gradient(105deg,#ffffff20 0,#fff0 32%,#fff0 70%,#0000000c 100%)}
/* kitabın orta cilt gölgesi artık JS tarafından tuval içinde çiziliyor (çevrilen sayfanın altında kalır) */
.reader-shell.portrait-document.book-spread .calendar-book:before{display:none}

.reader-shell.portrait-document.book-spread .calendar-book:after{background:linear-gradient(90deg,#00000008 0,#fff0 12%,#fff0 88%,#0000000b 100%)}
.reader-shell.portrait-document.book-spread .calendar-back{inset:-4px -9px -16px;border-radius:5px;background:linear-gradient(90deg,#eceae4 0,#faf9f5 3%,#e3e1dc 49.5%,#d4d2cd 50%,#f9f8f4 51%,#eceae4 100%);box-shadow:inset 1px 0 #fff,inset -1px 0 #aaa8,0 2px #d8d6d0,0 6px 12px #0003,0 24px 48px -17px #0007}
.reader-shell.portrait-document.book-spread .calendar-shadow{left:-4%;right:-4%;bottom:-52px}
.reader-shell.portrait-document .corner-cue{top:50%;bottom:auto;right:7px;transform:translateY(-50%);animation:none}
@media(min-width:901px){.reader-shell:not(.portrait-document) .calendar-wrap{width:min(60vw,960px,calc((100dvh - 235px)*1.42))}}

/* ================= SPİRAL TEL CİLT ================= */
/* --s: ölçek, --e: kâğıt üst kenarının bağlama şeridi içindeki yüksekliği */
.binding{--s:1;--e:calc(38px*var(--s));position:absolute;z-index:12;left:.4%;right:.4%;top:calc(var(--e)*-1);height:calc(var(--e) + 30px*var(--s));display:flex;justify-content:space-around;align-items:flex-start;pointer-events:none}
.coil{position:relative;width:calc(24px*var(--s));height:100%;filter:drop-shadow(calc(2px*var(--s)) calc(3.5px*var(--s)) calc(1.8px*var(--s)) #0000006e)}
/* tel kıvrımı (kemer) */
.coil i{position:absolute;z-index:3;top:calc(3px*var(--s));left:calc(1.6px*var(--s));right:calc(1.6px*var(--s));height:calc(18px*var(--s));border:calc(3.8px*var(--s)) solid;border-bottom:0;border-color:#fdfdfd #6f7377 transparent #b4b8ba;border-radius:calc(12px*var(--s)) calc(12px*var(--s)) 0 0;box-shadow:inset 0 calc(1px*var(--s)) 0 #fff9}
/* tel bacakları: silindirik metal degrade; deliğe girerken kararır */
.coil:before,.coil:after{content:'';position:absolute;z-index:2;top:calc(14px*var(--s));width:calc(3.8px*var(--s));height:calc(var(--e) + 0px*var(--s));border-radius:calc(2px*var(--s));background:linear-gradient(90deg,#4b4f52 0,#9da1a4 14%,#fff 38%,#a4a8ab 64%,#dcdfe0 82%,#53575a 100%);-webkit-mask-image:linear-gradient(#000 calc(100% - 8px*var(--s)),#0000);mask-image:linear-gradient(#000 calc(100% - 8px*var(--s)),#0000)}
.coil:before{left:calc(1.6px*var(--s))}.coil:after{right:calc(1.6px*var(--s))}
/* kâğıttaki delikler */
.coil b{position:absolute;z-index:1;top:calc(var(--e) + 11px*var(--s));width:calc(9.8px*var(--s));height:calc(6.6px*var(--s));border-radius:50%;background:radial-gradient(ellipse at 50% 30%,#101010 0 42%,#363636 70%,#8d8d8d 100%);box-shadow:0 calc(1px*var(--s)) 0 #fffe,0 0 0 calc(1.2px*var(--s)) #0000000d,inset 0 calc(2px*var(--s)) calc(2.5px*var(--s)) #000}
.coil b:nth-of-type(1){left:calc(-1.4px*var(--s))}.coil b:nth-of-type(2){right:calc(-1.4px*var(--s))}

.corner-cue{position:absolute;right:12px;bottom:11px;z-index:6;display:flex;align-items:center;gap:7px;border:1px solid #fff8;border-radius:22px;background:#14171bd9;color:#fff;padding:7px 10px;font-size:8px;letter-spacing:.05em;pointer-events:none;animation:cue 2.5s ease-in-out infinite}.corner-cue span{font-size:14px}.calendar-book.dragging .corner-cue{opacity:0}
.page-arrow{z-index:3;flex:none;width:62px;height:62px;border-radius:50%;border:1px solid #1118;background:#ffffffc7;display:grid;place-items:center;transition:.25s;box-shadow:0 8px 20px #0002}.page-arrow span,.mini-chevron{display:block;width:15px;height:15px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:-5px}.page-arrow-left span,.mini-chevron.left{transform:rotate(-135deg);margin-left:5px}.page-arrow:hover:not(:disabled){background:#171a1e;color:#fff;border-color:#171a1e;transform:scale(1.05)}.page-arrow:disabled{opacity:.16;cursor:default}
.control-dock{position:absolute;z-index:15;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;gap:15px}.reader-controls{height:56px;width:min(640px,70vw);display:grid;grid-template-columns:145px minmax(185px,1fr) 145px;align-items:center;border-radius:31px;background:#171b1fe8;color:#fff;box-shadow:0 12px 30px #0004;backdrop-filter:blur(14px);overflow:hidden}.dock-page-button{align-self:stretch;border:0;background:#ffffff05;color:#fff;display:flex;align-items:center;justify-content:center;gap:18px}.dock-page-button b{font-size:12px}.dock-page-button.next{margin:5px;border-radius:27px;background:linear-gradient(135deg,#c90025,#ec1238)}.dock-page-button:disabled{opacity:.25}.mini-chevron{width:9px;height:9px;border-width:1.5px;margin:0}.page-progress{height:100%;display:grid;grid-template-rows:1fr 1fr;align-items:end;padding:9px 15px 11px}.page-progress>span{text-align:center;font:500 12px Arial}.page-progress input{align-self:end;appearance:none;width:100%;height:3px;margin:0;background:linear-gradient(to right,var(--red) 0 var(--range,0%),#555a60 var(--range,0%) 100%);border-radius:3px;outline:0}.page-progress input::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border-radius:50%;background:var(--red);cursor:pointer}.view-controls{height:56px;display:flex;align-items:center;padding:4px 9px;border-radius:31px;background:#171b1fe8;color:#fff;box-shadow:0 12px 30px #0004;backdrop-filter:blur(14px)}.view-controls button{width:40px;height:40px;border:0;background:transparent;color:#fff;font-size:23px;display:grid;place-items:center}.view-controls button:hover{color:var(--red)}.view-controls .fullscreen-icon{width:17px;height:17px}.lens-icon{width:18px;height:18px;border:2px solid currentColor;border-radius:50%;position:relative}.lens-icon:after{content:'';position:absolute;width:7px;height:2px;background:currentColor;right:-5px;bottom:-2px;transform:rotate(45deg)}
.page-drawer{position:absolute;z-index:31;top:0;right:0;width:min(420px,92vw);height:100%;padding:28px;background:#fffef6f2;color:#15171a;backdrop-filter:blur(22px);box-shadow:-25px 0 70px #0003;transform:translateX(105%);transition:transform .38s cubic-bezier(.2,.8,.2,1)}.reader-shell.drawer-open .page-drawer{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid #1112}.drawer-head small{font-size:8px;letter-spacing:.2em;color:var(--red)}.drawer-head h2{font-size:24px;margin:4px 0}.drawer-head button{border:0;background:transparent;color:#111;font-size:30px}.thumbnail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;height:calc(100% - 85px);overflow:auto;padding:22px 5px 40px 0}.thumb{align-self:start;border:1px solid #1112;background:#eee;padding:5px;color:#111;text-align:left}.thumb img{display:block;width:100%;height:auto;object-fit:contain;background:#ddd}.thumb span{display:block;padding:7px 3px 2px;font-size:9px}.thumb.active{border-color:var(--red)}.reader-shell.portrait-document .thumbnail-grid{gap:20px 14px}.reader-shell.portrait-document .thumb{padding:6px;background:#e8e6e0;box-shadow:0 8px 16px #0002}.drawer-scrim{position:absolute;z-index:30;inset:0;border:0;background:#0005;opacity:0;pointer-events:none;transition:opacity .3s}.reader-shell.drawer-open .drawer-scrim{opacity:1;pointer-events:auto}
.reader-shell.is-fullscreen{position:fixed;z-index:9999;inset:0;width:100vw;height:100vh;height:100dvh;min-height:0;background:#f1efeb}
.reader-shell.is-fullscreen .reader-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;box-sizing:border-box;padding:64px 0 74px;background:#f1efeb}
.reader-shell.is-fullscreen .calendar-wrap{width:var(--fullscreen-book-width,min(88vw,1420px))}
.reader-shell.is-fullscreen:not(.portrait-document) .calendar-wrap{width:var(--fullscreen-book-width,min(80vw,1180px))}
.reader-shell.is-fullscreen .control-dock{bottom:max(9px,env(safe-area-inset-bottom))}
@keyframes cue{50%{transform:translate(-5px,-4px)}}@media(prefers-reduced-motion:reduce){.corner-cue{animation:none}}
@media(prefers-reduced-motion:reduce){.calendar-wrap{transition-duration:.01ms}}
@media(max-width:900px){.reader-shell{min-height:520px}.reader-topbar{height:58px;padding:0 14px}.reader-brand>span{font-size:19px}.reader-brand strong{font-size:21px}.reader-brand small,.reader-brand>i{display:none}.labeled-action b,.action-divider{display:none}.reader-actions{gap:14px}.reader-stage{height:calc(100vh - 120px);height:calc(100dvh - 120px);min-height:400px;gap:1px}.calendar-wrap{width:83vw}.binding{--s:.68}.calendar-book:before{height:40px}.control-dock{bottom:max(8px,env(safe-area-inset-bottom));gap:7px}.reader-controls{width:min(555px,89vw);height:49px;grid-template-columns:78px minmax(100px,1fr) 78px}.dock-page-button{gap:7px}.dock-page-button b{font-size:10px}.view-controls{height:49px}.view-controls button{width:35px}.corner-cue{right:6px;bottom:6px}.calendar-back:before{display:none}.reader-shell.is-fullscreen .reader-topbar{display:none}.reader-shell.is-fullscreen .reader-stage{padding:max(24px,env(safe-area-inset-top)) 0 max(58px,calc(52px + env(safe-area-inset-bottom)))}.reader-shell.is-fullscreen .calendar-wrap{width:var(--fullscreen-book-width,min(96vw,141dvh))}.reader-shell.is-fullscreen:not(.portrait-document) .calendar-wrap{width:var(--fullscreen-book-width,min(91vw,124dvh))}.reader-shell.is-fullscreen .reader-controls{width:min(620px,96vw)}}
@media(max-width:520px){.reader-shell{min-height:440px}.reader-brand>span{font-size:16px}.reader-brand strong{font-size:18px}.reader-stage{height:calc(100vh - 110px);height:calc(100dvh - 110px)}.calendar-wrap{width:85vw}.binding{--s:.56}.reader-controls{width:92vw;grid-template-columns:54px 1fr 54px}.dock-page-button b{display:none}.corner-cue b{display:none}.reader-shell.is-fullscreen{min-height:0}.reader-shell.is-fullscreen .calendar-wrap{width:var(--fullscreen-book-width,min(98vw,142.5dvh))}.reader-shell.is-fullscreen .reader-controls{width:96vw}}


@media(max-width:900px){.reader-shell.portrait-document.book-spread .calendar-wrap{--document-book-width:96vw}.reader-shell.portrait-document.book-spread .calendar-book:before{left:calc(50% - 10px);width:20px}}

/* ================= KAPAK ↔ ÇİFT SAYFA GEÇİŞİ (book-morph) =================
   Geçiş sırasında kitap çift sayfa yerleşimindedir; kapalı görünüm sağ yarıdır ve JS tarafından
   transform ile kaydırılıp ölçeklenir. Değişkenler (kabuk üzerinde, JS günceller):
   --cl  sayfanın sol ucunun cilde oranı (1 = kapalı, 0 = açık)   --cs  kapalı kitap cilt gölgesi/parlaması
   --ms  kitap ölçeği   --bl-back / --bl-sheets  arka karton ve kâğıt kenarlarının sol kenar konumu */
.reader-shell.book-morph .calendar-wrap,.reader-shell.book-morph .calendar-book{transition:none!important}
.reader-shell.book-morph .calendar-wrap{will-change:transform}
.reader-shell.portrait-document.book-morph .calendar-book canvas{background:transparent;box-shadow:inset -1px 0 0 #fff8}
.reader-shell.portrait-document.book-morph.book-spread .calendar-back{left:var(--bl-back,-9px)}
.reader-shell.portrait-document.book-morph.book-spread .calendar-sheets{left:var(--bl-sheets,0px)}
.corner-cue[hidden]{display:none}
.reader-shell.portrait-document.book-morph.book-spread .calendar-shadow{left:calc(-4% + 51%*var(--cl,0));right:calc(-4% + .5%*var(--cl,0));bottom:calc(-52px - 6px*var(--cl,0))}
.reader-shell.portrait-document.book-morph.book-spread .calendar-wrap:before{left:calc(-4% + 51%*var(--cl,0));right:calc(-4% + .5%*var(--cl,0))}
.reader-shell.portrait-document.book-morph.book-spread .calendar-book:before{display:block;transition:none;left:50%;right:auto;top:0;bottom:0;width:calc(25px/var(--ms,1));height:auto;opacity:var(--cs,0);background:linear-gradient(90deg,#00000026 0,#00000010 25%,#00000005 55%,#0000 100%)}
.reader-shell.portrait-document.book-morph.book-spread .calendar-book:after{left:var(--bl-sheets,0px);background:linear-gradient(105deg,rgba(255,255,255,calc(.125*var(--cs,0))) 0,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 70%,rgba(0,0,0,calc(.047*var(--cs,0))) 100%) right top/var(--hw,50%) 100% no-repeat,linear-gradient(90deg,rgba(0,0,0,calc(.031*(1 - var(--cs,0)))) 0,rgba(0,0,0,0) 12%,rgba(0,0,0,0) 88%,rgba(0,0,0,calc(.043*(1 - var(--cs,0)))) 100%)}

/* Açık / koyu okuyucu teması */
.reader-shell,.reader-shell:before,.reader-topbar,.reader-stage,.page-drawer,.labeled-action,.reader-brand small,.close-reader:before,.close-reader:after{transition:background .5s ease,color .4s ease,border-color .4s ease,box-shadow .5s ease,opacity .4s ease}
.reader-shell.dark-theme{background:#090b0f;color:#f5f5f4}.reader-shell.dark-theme:before{background:radial-gradient(ellipse 70% 62% at 50% 40%,#242830 0,#12151a 55%,#07090c 100%),repeating-linear-gradient(90deg,#0000 0 3px,#ffffff04 3px 4px)}body:has(.reader-shell.dark-theme){background:#07090c;color:#f5f5f4}.reader-shell.dark-theme .reader-topbar{color:#f5f5f4}.reader-shell.dark-theme .reader-brand small{color:#aeb3ba}.reader-shell.dark-theme .reader-brand>i{background:#f0193e}.reader-shell.dark-theme .labeled-action{color:#f5f5f4}.reader-shell.dark-theme .action-divider{background:#ffffff2c}.reader-shell.dark-theme .close-reader:before,.reader-shell.dark-theme .close-reader:after{background:#f5f5f4}.reader-shell.dark-theme.is-fullscreen,.reader-shell.dark-theme.is-fullscreen .reader-stage{background:#090b0f}.reader-shell.dark-theme .page-drawer{background:#101319f2;color:#f5f5f4;box-shadow:-25px 0 70px #0009}.reader-shell.dark-theme .drawer-head{border-color:#fff2}.reader-shell.dark-theme .drawer-head button{color:#fff}.reader-shell.dark-theme .thumb{border-color:#ffffff20;background:#252930;color:#fff}.reader-shell.dark-theme .thumb.active{border-color:var(--red)}


/* ================= v13: tema düğmesi (ikonlu) ================= */
.theme-toggle{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;padding:3px 4px 3px 3px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.theme-icon{position:relative;display:block;flex:none;width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid #16191c26;box-shadow:0 2px 8px #0000001a;color:#17191c;overflow:hidden;transition:background .4s,border-color .4s,color .4s,box-shadow .4s,transform .3s}
.theme-icon svg{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .55s cubic-bezier(.22,.9,.25,1.1),opacity .3s}
.ti-moon{opacity:1}.ti-sun{opacity:0;transform:rotate(-90deg) scale(.4)}
.theme-label{font-size:11px;font-weight:600}
.reader-shell.dark-theme .theme-icon{background:#262a31;border-color:#ffffff2b;color:#ffd166;box-shadow:0 3px 10px #0006}
.reader-shell.dark-theme .ti-sun{opacity:1;transform:none}.reader-shell.dark-theme .ti-moon{opacity:0;transform:rotate(90deg) scale(.4)}
.theme-toggle:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:24px}
@media(hover:hover){.theme-toggle:hover .theme-icon{border-color:var(--red);transform:rotate(14deg)}}
.theme-toggle:active .theme-icon{transform:scale(.92)}

/* ================= v13: yakınlaştırma / mobil okuyucu ================= */
body:has(.reader-shell){overscroll-behavior:none}
.reader-stage{touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.calendar-book.zooming{transition:none!important}
.reader-shell.is-zoomed .reader-stage{overflow:hidden}
.reader-shell.is-zoomed .page-arrow{opacity:0;pointer-events:none}
.reader-shell.is-zoomed .corner-cue{display:none}
.reader-shell.is-zoomed .calendar-book canvas{cursor:move}
.view-controls button:disabled{opacity:.3}
.reader-shell.mobile-page-focus .reader-stage{overflow:hidden}
.reader-shell.mobile-page-focus .calendar-book{z-index:9;transition:transform .42s cubic-bezier(.22,.8,.25,1)}
.reader-shell.mobile-page-focus .calendar-book.focus-jump{transition:none!important}
.reader-shell.mobile-page-focus .corner-cue{opacity:0}

@media(max-width:900px){
  .theme-label{display:none}.theme-icon{width:36px;height:36px}
  .reader-topbar{padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}
  .reader-stage{height:calc(100vh - 58px - 64px);height:calc(100dvh - 58px - 64px);min-height:300px;gap:0}
  .reader-shell:not(.portrait-document) .calendar-wrap{width:min(calc(100vw - 64px),calc((100dvh - 200px)*1.45))}
  .view-controls{height:49px;padding:4px 6px}.view-controls button{width:36px;height:40px}
  /* yan oklar: gerçek daire, ortalanmış ok işareti, dergiyi kapatmaz (kitap iki yandan 31px boşluk bırakır) */
  .page-arrow{position:absolute;z-index:14;top:50%;width:30px;height:48px;margin:-24px 0 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;transform:none;color:#15171a;-webkit-tap-highlight-color:transparent}
  .page-arrow-left{left:1px}.page-arrow-right{right:1px}
  .page-arrow:before{content:'';position:absolute;left:1px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:#ffffffe6;border:1px solid #16191c26;box-shadow:0 3px 9px #0002;transition:background .3s,border-color .3s}
  .page-arrow span{position:relative;width:8px;height:8px;margin:0;border-width:2px;transform:translateX(-1.5px) rotate(45deg)}
  .page-arrow-left span{margin:0;transform:translateX(1.5px) rotate(-135deg)}
  .page-arrow:hover:not(:disabled){background:none;color:#15171a;border-color:transparent;transform:none}
  .page-arrow:active:not(:disabled):before{background:#fff;border-color:var(--red)}
  .reader-shell.dark-theme .page-arrow,.reader-shell.dark-theme .page-arrow:hover:not(:disabled){color:#f5f5f4}
  .reader-shell.dark-theme .page-arrow:before{background:#262a31e6;border-color:#ffffff2b}
  .reader-shell.portrait-document.book-spread.mobile-page-focus .calendar-wrap{width:96vw}
}
@media(max-width:720px){
  .reader-stage{height:calc(100vh - 58px - 112px - env(safe-area-inset-bottom,0px));height:calc(100dvh - 58px - 112px - env(safe-area-inset-bottom,0px))}
  .control-dock{width:100%;flex-direction:column-reverse;align-items:center;gap:8px}
  .reader-controls{width:min(555px,94vw)}
  .view-controls{position:static;width:auto;height:44px;padding:2px 8px}.view-controls button{width:44px;height:40px}
  .reader-shell.is-fullscreen .reader-stage{padding:max(24px,env(safe-area-inset-top)) 0 calc(112px + env(safe-area-inset-bottom,0px))}
  .reader-shell.portrait-document .calendar-shadow,.reader-shell .calendar-shadow{filter:blur(16px)}
}
