.library-page { --lib-ink:#f4f1e8; --lib-muted:#babac0; --lib-panel:rgba(48,48,52,.55); --lib-line:#ffffff18; --lib-gold:#ffdb70; --lib-green:#d6c180; }
.light-mode .library-page { --lib-ink:#303033; --lib-muted:#626268; --lib-panel:rgba(250,250,252,.7); --lib-line:#44444a25; --lib-gold:#876a20; --lib-green:#8b712c; }
.library { color:var(--lib-ink); padding:4px 0 110px; }
.library button,.library input,.library select { font:inherit; }
.library button:focus-visible,.library a:focus-visible,.library input:focus-visible,.library select:focus-visible,.lib-reader button:focus-visible { outline:2px solid var(--lib-gold); outline-offset:5px; }
.library [hidden],.lib-reader [hidden] { display:none!important; }
.lib-eyebrow { font-size:10px; letter-spacing:2px; color:var(--lib-gold); font-weight:600; text-transform:uppercase; }
.lib-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:24px; border:1px solid #d9bb7d32; border-radius:18px; padding:44px 38px; background:radial-gradient(ellipse at 85% 40%,#d9b64e20,transparent 65%),linear-gradient(115deg,#333337,#202024); color:#f4f1e8; }
.lib-hero:before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(45deg,transparent 0 39px,#ddc69206 40px 41px),repeating-linear-gradient(-45deg,transparent 0 39px,#ddc69206 40px 41px); pointer-events:none; }
.lib-hero-copy { position:relative; z-index:1; }
.lib-hero .lib-eyebrow { color:#ffdb70; }
.lib-hero h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(32px,4.5vw,52px); font-weight:400; line-height:1.13; margin:18px 0; letter-spacing:-1px; }
.lib-hero h2 em { color:#ffdb70; font-weight:400; }
.lib-intro { color:#cbcad0; font-size:12px; line-height:1.9; max-width:350px; }
.lib-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; align-items:center; }
.lib-primary,.lib-secondary { padding:11px 17px; border-radius:7px; font-size:12px!important; display:inline-flex; align-items:center; justify-content:center; gap:9px; transition:transform .2s,background .2s; }
.lib-primary { background:#ffdb70!important; color:#302c22!important; font-weight:600!important; }
.lib-secondary { color:var(--lib-ink); border:1px solid var(--lib-line)!important; }
.lib-hero .lib-secondary { color:#f4f1e8; border-color:#ffffff38!important; }
.lib-primary:hover,.lib-secondary:hover { transform:translateY(-2px); }
.lib-art { position:relative; height:270px; display:grid; place-items:center; perspective:900px; }
.lib-arch { position:absolute; height:265px; width:230px; border-radius:120px 120px 8px 8px; border:1px solid #d4b78345; box-shadow:inset 0 0 0 10px #29292d,inset 0 0 0 11px #d4b78325; background:radial-gradient(ellipse at 50% 20%,#c9b47116,transparent 75%); }
.lib-arch:after { content:'\f005'; font-family:'Font Awesome 6 Free'; font-weight:900; position:absolute; top:30px; left:calc(50% - 7px); color:#ffdb70; animation:lib-glow 5s ease-in-out infinite; }
.lib-art-book { width:112px; height:157px; position:absolute; border-radius:3px 9px 9px 3px; border:1px solid #d6b97970; border-left:9px solid #202024; background:linear-gradient(110deg,#55545a,#303035); box-shadow:8px 10px 0 -3px #ddd2b6,12px 18px 25px #0007; transform:rotate(-13deg) translate(-35px,24px); animation:lib-float 7s ease-in-out infinite; }
.lib-art-book:before { content:''; position:absolute; inset:12px 10px; border:1px solid #d8ba7855; border-radius:40px 40px 3px 3px; }
.lib-art-book:after { content:'\f518'; font-family:'Font Awesome 6 Free'; font-weight:900; color:#e1c88c; font-size:48px; position:absolute; inset:40px 0; text-align:center; }
.lib-art-book.lib-art-back { background:linear-gradient(110deg,#846942,#4b3b2a); border-left-color:#403024; transform:rotate(13deg) translate(49px,23px); animation-delay:-3s; }
.lib-art-floor { position:absolute; width:270px; height:9px; bottom:16px; background:linear-gradient(#a18a6033,#0000); border-top:1px solid #d6b87a50; border-radius:50%; }
.lib-summary { display:flex; justify-content:space-between; gap:16px; align-items:center; margin:20px 0 35px; font-size:11px; color:var(--lib-muted); }
.lib-summary strong { color:var(--lib-gold); font-weight:500; }
.lib-section-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:0 0 20px; }
.lib-section-head h2 { font-size:21px; font-weight:500; color:var(--lib-ink); margin-top:5px; }
.lib-section-head p { font-size:11px; color:var(--lib-muted); }
.lib-shelves { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; padding:3px 7px 27px; position:relative; }
.lib-shelves:after { content:''; position:absolute; bottom:5px; height:10px; left:0; right:0; background:linear-gradient(#96806780,#4d423640); box-shadow:0 10px 16px #0004; border-radius:2px; }
.lib-cover { width:100%; min-height:216px; padding:21px 16px 16px 24px; border-radius:3px 9px 9px 3px; border:1px solid #ffffff20!important; color:#f3ead7; background:linear-gradient(110deg,#55545c,#303036); box-shadow:inset 7px 0 0 #0002,inset 9px 0 0 #ffffff12,5px 5px 0 -1px #b9ad92,7px 7px 0 -1px #645f51,12px 15px 20px #0003; transform-origin:left center; transition:transform .35s,box-shadow .35s; display:flex; flex-direction:column; position:relative; text-align:center!important; align-items:center; }
.lib-cover:before { content:''; pointer-events:none; position:absolute; inset:11px 9px 11px 17px; border:1px solid #ffdb7045; border-radius:1px 6px 6px 1px; }
.lib-cover:hover,.lib-cover[aria-pressed=true] { transform:translateY(-9px) rotate(-2deg); box-shadow:inset 7px 0 0 #0002,5px 5px 0 -1px #b9ad92,13px 20px 25px #0005; }
.lib-cover[data-collection=hadis] { background:linear-gradient(110deg,#695338,#403422); }
.lib-cover[data-collection=dua] { background:linear-gradient(110deg,#38576a,#243c4b); }
.lib-cover[data-collection=rivayet] { background:linear-gradient(110deg,#63434b,#3d2932); }
.lib-cover .lib-book-mark { font-size:27px; color:#ffdb70; margin:6px 0 15px; }
.lib-cover strong { font-family:Georgia,serif; font-size:23px; font-weight:400; line-height:1.2; margin-bottom:9px; }
.lib-cover small { font-size:9px; letter-spacing:.5px; color:#ded5c3; }
.lib-cover .lib-book-count { margin-top:auto; padding-top:17px; font-size:10px; color:#ffdb70; }
.lib-explore { scroll-margin-top:25px; margin-top:40px; }
.lib-toolbar { display:grid; grid-template-columns:1fr 210px; gap:12px; margin:20px 0 14px; }
.lib-search,.lib-topic { display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid var(--lib-line); border-radius:9px; background:var(--lib-panel); color:var(--lib-muted); font-size:12px; }
.lib-search input { border:0; outline:0; color:var(--lib-ink); min-width:0; }
.lib-search:focus-within { outline:2px solid var(--lib-gold); }
.lib-topic select { min-width:0; width:100%; background:var(--lib-panel); color:var(--lib-ink); border:0; }
.lib-filters { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }
.lib-filter { border:1px solid var(--lib-line)!important; padding:7px 12px; border-radius:30px; font-size:11px!important; color:var(--lib-muted); }
.lib-filter[aria-pressed=true] { color:var(--lib-ink); background:var(--lib-panel); border-color:var(--lib-gold)!important; }
.lib-result-line { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:11px; color:var(--lib-muted); margin:0 0 15px; }
.lib-result-line button { color:var(--lib-gold); font-size:11px; text-decoration:underline; }
.lib-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.lib-entry { border:1px solid var(--lib-line); border-radius:10px; background:var(--lib-panel); padding:20px; display:flex; flex-direction:column; min-height:225px; animation:lib-enter .35s both; }
.lib-entry-top { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.lib-tag { color:var(--lib-gold); font-size:9px; text-transform:uppercase; letter-spacing:1px; }
.lib-save { color:var(--lib-muted); font-size:20px!important; min-width:32px; min-height:32px; text-align:center!important; }
.lib-save[aria-pressed=true] { color:var(--lib-gold); }
.lib-entry h3 { font:500 13px var(--ff-poppins); color:var(--lib-ink); margin:9px 0; }
.lib-preview { color:var(--lib-muted); font-family:Georgia,serif; font-size:15px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.lib-entry-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; padding-top:18px; font-size:10px; color:var(--lib-muted); }
.lib-entry-bottom button { color:var(--lib-gold); white-space:nowrap; font-size:11px; padding:5px 0; }
.lib-empty { padding:35px; text-align:center; color:var(--lib-muted); border:1px dashed var(--lib-line); border-radius:12px; line-height:1.8; font-size:13px; }
.lib-pagination { display:flex; align-items:center; justify-content:center; gap:22px; margin:25px 0 0; color:var(--lib-muted); font-size:11px; }
.library button:disabled,.lib-reader button:disabled { opacity:.35; cursor:default; }
.lib-future { margin-top:45px; border:1px solid var(--lib-line); border-radius:12px; padding:25px 28px; background:var(--lib-panel); display:flex; align-items:center; gap:28px; }
.lib-future h2 { font:400 25px Georgia,serif; color:var(--lib-ink); margin:6px 0 8px; }
.lib-future p { color:var(--lib-muted); font-size:11px; line-height:1.9; }
.lib-spines { display:flex; align-items:end; gap:5px; min-width:86px; border-bottom:4px solid #9d82585c; height:95px; }
.lib-spines i { display:block; width:20px; height:74px; border:1px solid #b99e6560; background:linear-gradient(90deg,#39503d55,#91734722); border-radius:3px 3px 0 0; }
.lib-spines i:nth-child(2) { height:89px; }
.lib-spines i:last-child { transform:rotate(-12deg); margin-left:8px; height:67px; }
.lib-note { color:var(--lib-muted); font-size:10px; line-height:1.8; margin-top:20px; text-align:center; }
.lib-books { margin-top:18px; display:grid; gap:10px; }
.lib-books a { color:var(--lib-ink); padding:16px; border:1px solid var(--lib-line); border-radius:8px; font-size:13px; }
.lib-reader { --reader-size:20px; --reader-bg:rgba(31,31,35,.94); --reader-ink:#f1f0eb; --reader-muted:#b9b9c2; --reader-accent:#ffdb70; --reader-border:#d7d7df28; --reader-control:rgba(100,100,110,.2); color-scheme:dark; border:1px solid #bd9f6a80; border-radius:14px; padding:0; margin:auto; width:min(760px,calc(100% - 28px)); max-height:90dvh; background:var(--reader-bg); color:var(--reader-ink); box-shadow:0 35px 120px #0009; }
.light-mode .lib-reader { --reader-bg:rgba(250,249,245,.96); --reader-ink:#303036; --reader-muted:#64646d; --reader-accent:#8a6a18; --reader-border:#40404724; --reader-control:rgba(140,140,150,.12); color-scheme:light; }
.lib-reader::backdrop { background:#0e0e12d9; backdrop-filter:blur(7px); }
.lib-reader[open] { animation:lib-open .35s ease-out; }
.lib-reader-header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 25px; border-bottom:1px solid var(--reader-border); }
.lib-reader-header p { font-size:10px; letter-spacing:1.5px; color:var(--reader-muted); }
.lib-reader button { color:var(--reader-ink); font:inherit; padding:8px 12px; border-radius:5px; }
.lib-reader-tools { display:flex; align-items:center; gap:3px; }
.lib-reader-body { padding:35px 48px 40px; min-height:300px; background:linear-gradient(90deg,#726c4510,transparent 5%); }
.lib-reader-body h2 { font:400 28px Georgia,serif; margin:13px 0 25px; line-height:1.3; }
.lib-reader-body .lib-eyebrow { color:var(--reader-accent); }
.lib-reader-text { font:var(--reader-size)/1.9 Georgia,'Times New Roman',serif; white-space:pre-wrap; overflow-wrap:anywhere; }
.lib-reader-source { color:var(--reader-muted); font-size:12px; margin-top:26px; line-height:1.7; }
.lib-reader-footer { border-top:1px solid var(--reader-border); display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; padding:13px 12px; gap:6px; font-size:12px; }
.lib-reader-footer > button { min-width:0; max-width:100%; min-height:44px; padding:10px 16px; white-space:nowrap; justify-content:center; border:1px solid var(--reader-border); border-radius:12px; background:linear-gradient(135deg,#ffdb7014,#ffffff06); color:var(--reader-ink); box-shadow:inset 0 1px #ffffff14,0 4px 12px #00000012; font-size:12px; font-weight:600; cursor:pointer; transition:transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.lib-reader-footer > button:not(:disabled):hover { transform:translateY(-2px); border-color:var(--reader-accent); background:linear-gradient(135deg,#ffdb702b,#ffffff09); box-shadow:0 6px 18px #00000020; }
.lib-reader-footer > button:not(:disabled):active { transform:translateY(0) scale(.97); }
.lib-reader-footer > button:focus-visible { outline:2px solid var(--reader-accent); outline-offset:3px; }
.lib-reader-footer > button i { color:var(--reader-accent); transition:transform .2s; }
.lib-reader-footer > button:first-child:not(:disabled):hover i { transform:translateX(-3px); }
.lib-reader-footer > button:last-child:not(:disabled):hover i { transform:translateX(3px); }
.lib-reader-footer > button:disabled { opacity:.38; cursor:default; box-shadow:none; }
.lib-reader-footer > span { padding:7px 8px; border-radius:8px; background:var(--reader-control); font-variant-numeric:tabular-nums; }
@media(max-width:380px) { .lib-reader-footer > button { padding:9px 8px; font-size:11px; gap:5px; } .lib-reader-footer > span { padding:6px 3px; } }
#lib-reader-prev { justify-self:start; }
#lib-reader-next { justify-self:end; }
#lib-reader-position { white-space:nowrap; font-variant-numeric:tabular-nums; }
.lib-reader-footer span { color:var(--reader-muted); font-size:10px; text-align:center; }
.lib-reader-notice { min-height:18px; color:var(--reader-muted); font-size:11px; text-align:center; padding:5px 20px; }
.lib-reader-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding:0 20px 20px; }
.lib-reader-actions button,.lib-share-panel button { background:var(--reader-control); border:1px solid var(--reader-border); font-size:12px; }
.lib-reader-actions button[aria-pressed=true],.lib-reader-actions button[aria-expanded=true] { color:var(--reader-accent); border-color:var(--reader-accent); }
.lib-share-panel { margin:0 22px 20px; padding:20px; border:1px solid var(--reader-border); border-radius:10px; }
.lib-share-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.lib-share-heading h3 { font:400 22px Georgia,serif; }
.lib-share-panel p { font-size:11px; line-height:1.8; color:var(--reader-muted); margin:12px 0; }
.lib-share-settings { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:end; }
.lib-share-settings label { color:var(--reader-muted); font-size:11px; min-width:0; }
.lib-share-settings select { display:block; width:100%; margin-top:6px; padding:10px; border:1px solid var(--reader-border); border-radius:6px; background:var(--reader-control); color:var(--reader-ink); font:inherit; }
.lib-share-settings button { grid-column:1/-1; text-align:center; color:var(--reader-accent); }
.lib-share-preview img { max-width:100%; width:auto; max-height:430px; margin:18px auto; border-radius:6px; }
.lib-image-pages,.lib-image-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px; margin-top:12px; font-size:12px; }
.lib-reader select:focus-visible { outline:2px solid var(--reader-accent); outline-offset:3px; }
@media(max-width:480px) { .lib-share-panel { margin:0 12px 15px; padding:14px; } .lib-share-settings { grid-template-columns:1fr; } }
.lib-turn { animation:lib-turn .3s ease-out; }
.lib-toast { position:fixed; bottom:95px; left:50%; transform:translateX(-50%); padding:12px 22px; border-radius:8px; color:#2b2922; background:#ffdb70; z-index:10001; font-size:12px; box-shadow:0 5px 20px #0004; }
@keyframes lib-float { 50% { translate:0 -9px; } }
@keyframes lib-glow { 50% { opacity:.4; } }
@keyframes lib-enter { from { opacity:0; transform:translateY(10px); } }
@keyframes lib-open { from { opacity:0; transform:perspective(1000px) rotateX(5deg) translateY(15px); } }
@keyframes lib-turn { from { opacity:.3; transform:translateX(14px); } }
@media(min-width:1000px) { .library-page .main-content { min-width:0; } }
@media(max-width:650px) { .lib-hero { grid-template-columns:1fr; padding:29px 24px; } .lib-art { position:absolute; right:-65px; top:7px; opacity:.18; width:250px; pointer-events:none; } .lib-hero-copy { max-width:340px; } .lib-intro { max-width:280px; } .lib-shelves { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 20px; } .lib-cover { min-height:210px; } .lib-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .lib-toolbar { grid-template-columns:1fr; } .lib-summary { align-items:start; flex-direction:column; gap:7px; } .lib-section-head { align-items:start; } .lib-section-head p { max-width:120px; text-align:right; } .lib-entry { padding:15px; } .lib-reader-body { padding:25px; } .lib-reader-header { padding:13px; } .lib-reader-tools { gap:0; } .lib-reader-tools button { padding:8px; } .lib-future { padding:22px; gap:18px; } }
@media(max-width:380px) { .lib-grid { grid-template-columns:1fr; } .lib-cover strong { font-size:20px; } .lib-cover { padding-left:19px; } .lib-reader-footer { padding:12px 8px; gap:3px; } }
@media(prefers-reduced-motion:reduce) { .library *, .lib-reader, .lib-reader * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Kütüphaneye özel sarı-gri cam yüzeyler. */
.lib-entry,.lib-future,.lib-search,.lib-topic,.lib-reader,.lib-share-panel { backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); }
.lib-entry { background:linear-gradient(135deg,#ffffff08,transparent),var(--lib-panel); box-shadow:inset 0 1px #ffffff0c,0 8px 25px #00000012; transition:transform .25s,border-color .25s; }
.lib-entry:hover { transform:translateY(-4px); border-color:#ffdb7055; }
.lib-cover[data-collection=hadis] { background:linear-gradient(115deg,#686052,#373536); }
.lib-cover[data-collection=dua] { background:linear-gradient(115deg,#555963,#2c2d33); }
.lib-cover[data-collection=rivayet] { background:linear-gradient(115deg,#615b60,#343036); }
.lib-spines i { background:linear-gradient(90deg,#77777a66,#d4b55322); }
.lib-reader-actions button,.lib-share-heading button,.lib-image-actions button,#lib-share-prepare { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; border-radius:12px; background:linear-gradient(135deg,#ffdb7012,#ffffff07); box-shadow:inset 0 1px #ffffff15,0 5px 15px #00000010; transition:transform .2s,box-shadow .2s,border-color .2s; }
.lib-reader-actions button:before,.lib-image-actions button:before,#lib-share-prepare:before { content:''; position:absolute; inset:-70% -150%; background:linear-gradient(110deg,transparent 45%,#ffffff20 50%,transparent 55%); transform:translateX(-30%); transition:transform .7s; pointer-events:none; }
.lib-reader-actions button:hover:before,.lib-image-actions button:hover:before,#lib-share-prepare:hover:before { transform:translateX(30%); }
.lib-reader-actions button:hover,.lib-share-heading button:hover,.lib-image-actions button:hover,#lib-share-prepare:hover { transform:translateY(-3px); border-color:var(--reader-accent); box-shadow:0 6px 20px #ffdb7012; }
#lib-listen[data-state=playing] { animation:lib-audio-glow 1.8s ease-in-out infinite; }
#lib-listen[data-state=playing]:after { content:'\f028'; font-family:'Font Awesome 6 Free'; font-weight:900; font-size:14px; letter-spacing:2px; animation:lib-equalizer .7s alternate infinite; color:var(--reader-accent); }
.lib-bg-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; max-height:330px; overflow:auto; padding:8px; overscroll-behavior:contain; }
.lib-share-panel .lib-bg-tile { grid-column:auto; display:flex; flex-direction:column; padding:4px; min-width:0; border:1px solid var(--reader-border); background:linear-gradient(135deg,#66666b,#242427); border-radius:10px; overflow:hidden; transition:transform .2s,border-color .2s; }
.lib-bg-tile img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; }
.lib-bg-tile span { font-size:9px; line-height:1.5; padding:6px 2px; color:#f3f1e9; }
.lib-bg-tile:not(:has(img)):before { content:'\f518'; font-family:'Font Awesome 6 Free'; font-weight:900; display:grid; place-items:center; aspect-ratio:1; width:100%; font-size:36px; color:#ffdb70; }
.lib-share-panel .lib-bg-tile[aria-pressed=true] { border:2px solid var(--reader-accent); box-shadow:0 0 16px #ffdb7020; }
.lib-bg-tile:hover { transform:translateY(-3px); }
.lib-content-link { text-align:center; color:var(--reader-accent); font-size:12px; padding:10px; text-decoration:underline; }
.lib-reader,.lib-bg-grid,.library-page .modal__content { scrollbar-width:thin; scrollbar-color:#c7ac5b88 transparent; scrollbar-gutter:stable; }
@supports selector(::-webkit-scrollbar) {
 .lib-reader,.lib-bg-grid,.library-page .modal__content { scrollbar-width:auto; }
 .lib-reader::-webkit-scrollbar,.lib-bg-grid::-webkit-scrollbar,.library-page .modal__content::-webkit-scrollbar { width:7px; height:7px; }
 .lib-reader::-webkit-scrollbar-track,.lib-bg-grid::-webkit-scrollbar-track,.library-page .modal__content::-webkit-scrollbar-track { background:transparent; margin:22px 0; }
 .lib-reader::-webkit-scrollbar-thumb,.lib-bg-grid::-webkit-scrollbar-thumb,.library-page .modal__content::-webkit-scrollbar-thumb { border-radius:100% / 18px; border:1px solid transparent; background:linear-gradient(transparent,#e6c36588 18%,#e6c365bb 50%,#e6c36588 82%,transparent); background-clip:padding-box; }
 .lib-reader::-webkit-scrollbar-button,.lib-bg-grid::-webkit-scrollbar-button { display:none; }
}
@keyframes lib-audio-glow { 50% { box-shadow:0 0 0 5px #ffdb7009,0 0 22px #ffdb701a; } }
@keyframes lib-equalizer { to { transform:scaleY(.45); opacity:.65; } }
@media(max-width:480px) { .lib-bg-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-height:280px; } }
@media(prefers-reduced-motion:reduce) { .library *, .library *:before,.lib-reader *,.lib-reader *:before,.lib-reader *:after { animation:none!important; transition:none!important; } }

/* Native açılır listelerde saydam yüzey kullanma: işletim sistemi menüsü de okunmalı. */
.library-page select { color-scheme:dark; background-color:#303034; color:#f4f1e8; }
.library-page select option,.library-page select optgroup { background-color:#303034; color:#f4f1e8; }
.light-mode .library-page select { color-scheme:light; background-color:#f4f3ef; color:#303033; }
.light-mode .library-page select option,.light-mode .library-page select optgroup { background-color:#f4f3ef; color:#303033; }
.library-page select option:checked { background-color:#78652f; color:#fff; }

.lib-reader i,.library button i,.library a i { display:inline-block; flex-shrink:0; }
.lib-reader-footer button,.lib-filter,.lib-entry-bottom button { display:inline-flex; align-items:center; gap:7px; }

/* Kapakların altında derinlikli, ışık alan kitap rafı. */
.lib-books-section { margin:38px 0 44px; }
.lib-real-shelf { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:35px; padding:30px 28px 36px; border:1px solid var(--lib-line); border-radius:18px; background:radial-gradient(ellipse at 40% 0,#ffdb7015,transparent 70%),linear-gradient(135deg,#ffffff09,#ffffff02); backdrop-filter:blur(18px); }
.lib-real-book { position:relative; display:flex; align-items:center; gap:26px; padding:0 8px 24px; min-width:0; perspective:1000px; }
.lib-real-book:after { content:''; position:absolute; bottom:0; left:-12px; right:-12px; height:14px; border-radius:3px; background:linear-gradient(#ded2a566,#8d826a 22%,#484440 24%,#29292e 85%,#111116); box-shadow:0 15px 18px #0005,inset 0 1px #fff5; }
.lib-book-cover { position:relative; flex:0 0 140px; width:140px; aspect-ratio:148/210; padding:0!important; border-radius:2px 6px 6px 2px; background:#343438!important; color:#ffdb70; transform:rotateY(-14deg) rotateZ(-2deg); transform-style:preserve-3d; box-shadow:12px 12px 18px #0005; transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s; }
.lib-book-cover:before { content:''; position:absolute; inset:3px -8px 3px auto; width:9px; background:repeating-linear-gradient(0deg,#e5dfcc 0 1px,#bcb5a2 1px 2px); transform:rotateY(35deg); transform-origin:left; border-radius:0 3px 3px 0; z-index:-1; }
.lib-book-cover:after { content:''; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(90deg,#0008,transparent 5%,#fff2 8%,#0003 11%,transparent 16%,transparent 90%,#fff1); pointer-events:none; }
.lib-book-cover img { width:100%; height:100%; display:block; object-fit:cover; border-radius:inherit; }
.lib-book-cover span { display:block; padding:20px; font-family:Georgia,serif; }
.lib-book-cover:hover,.lib-book-cover:focus-visible { transform:translateY(-12px) rotateY(-24deg) rotateZ(0); box-shadow:20px 24px 24px #0005; }
.lib-book-info { max-width:350px; min-width:0; }
.lib-book-info h3 { font-family:Georgia,serif; font-size:22px; line-height:1.3; color:var(--lib-ink); }
.lib-book-info p { color:var(--lib-muted); font-size:12px; line-height:1.8; margin:9px 0; }
.book-reader { width:min(920px,94vw); }
.book-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:12px 18px; border-bottom:1px solid var(--reader-border); }
.book-toolbar label { display:flex; align-items:center; gap:8px; font-size:12px; }
.book-toolbar button,.book-toolbar a,.book-toolbar select,#book-retry { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:8px 12px; border:1px solid var(--reader-border); border-radius:10px; font:inherit; font-size:12px; color:var(--reader-ink); background:var(--reader-control); transition:transform .2s,border-color .2s; }
.book-toolbar button:hover,.book-toolbar a:hover { transform:translateY(-2px); border-color:var(--reader-accent); }
.book-stage { overflow:auto; padding:12px; min-height:200px; background:#00000012; scrollbar-width:thin; scrollbar-color:#c7ac5b88 transparent; }
#book-canvas { display:block; margin:0 auto; box-shadow:0 4px 20px #0003; }
#book-epub { width:100%; min-width:0; }
#book-prev { justify-self:start; } #book-next { justify-self:end; }
#book-position { text-align:center; white-space:nowrap; font-size:12px; }
#book-retry { margin:10px 20px; }
.book-reader button:disabled { opacity:.4; cursor:default; }
@media(max-width:550px) { .lib-real-shelf { padding:24px 20px 30px; grid-template-columns:1fr; } .lib-real-book { gap:18px; padding-left:0; padding-right:0; } .lib-book-cover { flex-basis:110px; width:110px; } .lib-book-info h3 { font-size:18px; } .lib-book-info .lib-book-description { font-size:11px; } .book-toolbar { padding:10px; gap:6px; } .book-toolbar button,.book-toolbar a,.book-toolbar select { padding:8px; } .book-reader .lib-reader-footer { padding:12px 8px; gap:4px; } }
@media(prefers-reduced-motion:reduce) { .lib-book-cover,.book-toolbar * { transition:none!important; } }

/* Eşit ölçülü vitrin: uzun açıklamalar kartları büyütmez. */
.lib-real-shelf { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:22px; padding:0; border:0; background:none; backdrop-filter:none; }
.lib-real-book { display:grid; grid-template-rows:248px 1fr; align-items:stretch; gap:0; padding:0; overflow:hidden; border:1px solid var(--lib-line); border-radius:18px; background:linear-gradient(145deg,#ffffff0a,transparent),var(--lib-panel); box-shadow:0 14px 36px #00000016,inset 0 1px #ffffff10; transition:border-color .3s,box-shadow .3s; }
.lib-real-book:hover { border-color:#c6aa5c70; box-shadow:0 18px 45px #00000026; }
.lib-real-book:before { content:''; position:absolute; top:0; left:0; right:0; height:248px; background:radial-gradient(ellipse at 50% 30%,#e6c56920,transparent 70%),linear-gradient(0deg,#00000018,transparent); pointer-events:none; }
.lib-real-book:after { top:233px; bottom:auto; left:22px; right:22px; height:10px; box-shadow:0 10px 15px #0003,inset 0 1px #fff4; }
.lib-book-cover { align-self:center; justify-self:center; flex-basis:auto; width:136px; height:193px; margin-bottom:6px; }
.lib-book-cover img { object-fit:contain; }
.lib-book-info { display:grid; grid-template-rows:60px 22px 44px minmax(44px,auto); gap:10px; max-width:none; padding:24px; min-width:0; }
.lib-book-info h3 { margin:0; font-size:21px; line-height:28px; align-self:start; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; }
.lib-book-info p { margin:0; line-height:1.8; }
.lib-book-info > p:not(.lib-book-description) { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lib-book-info .lib-book-description { font-size:12px; line-height:22px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; }
.lib-book-info .lib-secondary { width:100%; border-radius:10px; background:linear-gradient(115deg,#d4b45920,#ffffff05); border-color:#cfb25f45!important; font-weight:600; }
.lib-book-info .lib-secondary:hover { background:#cfb25f25; transform:translateY(-2px); }
.book-about { padding:12px 20px; border-bottom:1px solid var(--reader-border); font-size:12px; line-height:1.8; }
.book-about summary { cursor:pointer; color:var(--reader-accent); }
.book-about p { margin:10px 0; color:var(--reader-muted); }
.lib-book-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:8px; min-width:0; }
.lib-book-actions > :only-child { grid-column:1/-1; }
.lib-book-actions .lib-secondary,.lib-book-diyanet { display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:44px; padding:6px 8px; font-size:11px!important; line-height:1.3; text-align:center; border-radius:10px; text-decoration:none; }
.lib-book-actions span { min-width:0; }
.lib-book-actions i { flex-shrink:0; font-size:12px; }
.lib-book-diyanet { color:var(--lib-ink); background:linear-gradient(135deg,#ffffff12,#ffffff04); border:1px solid var(--lib-line); box-shadow:inset 0 1px #ffffff12; transition:transform .2s,border-color .2s,background .2s; }
.lib-book-diyanet:hover { transform:translateY(-2px); border-color:var(--lib-gold); background:#ffffff18; }
.lib-books-toolbar { margin-top:22px; }
.lib-collection-dialog { width:min(1040px,calc(100% - 32px)); height:88vh; height:min(860px,88dvh); max-height:88dvh; padding:0; overflow:hidden; color:var(--lib-ink); }
.lib-collection-dialog[open] { display:flex; flex-direction:column; }
.lib-collection-dialog > .lib-collection-header { flex:0 0 auto; }
.lib-collection-header { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 26px; border-bottom:1px solid var(--reader-border); background:var(--reader-bg); backdrop-filter:blur(24px); }
.lib-collection-header h2 { margin:7px 0 0; font-family:Georgia,serif; font-size:clamp(22px,3vw,30px); font-weight:400; color:var(--reader-ink); }
.lib-collection-header .lib-eyebrow { margin:0; }
.lib-collection-header button { flex-shrink:0; display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--reader-border); background:var(--reader-control); border-radius:12px; }
.lib-collection-dialog .lib-explore { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c7ac5b88 transparent; margin:0; padding:24px 26px 30px; }
.lib-collection-dialog .lib-section-head { margin-top:0; }
.lib-collection-dialog .lib-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.lib-collection-dialog .lib-pagination { flex:0 0 auto; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:12px; margin:0; padding:8px 16px; background:linear-gradient(110deg,#ffdb7008,transparent),var(--reader-bg); border-top:1px solid var(--reader-border); box-shadow:0 -4px 16px #0000000a; }
.lib-collection-dialog .lib-pagination button { min-width:0; min-height:40px; padding:7px 13px; font-size:11px!important; border-radius:10px; background:linear-gradient(135deg,#ffdb7018,#ffffff05); border:1px solid var(--reader-border)!important; color:var(--reader-ink); transition:transform .2s,border-color .2s; }
.lib-collection-dialog #lib-prev { justify-self:start; }
.lib-collection-dialog #lib-next { justify-self:end; }
.lib-collection-dialog .lib-pagination button:not(:disabled):hover { transform:translateY(-2px); border-color:var(--reader-accent)!important; }
.lib-collection-dialog .lib-pagination button:disabled { opacity:.35; cursor:default; }
.lib-collection-dialog .lib-pagination i { color:var(--reader-accent); }
.lib-collection-dialog #lib-page { padding:6px 10px; border:1px solid var(--reader-border); border-radius:9px; background:var(--reader-control); color:var(--reader-muted); font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.lib-cover[aria-haspopup=dialog]:hover .lib-book-count { color:#ffdb70; }
@media(max-width:700px) { .lib-collection-dialog .lib-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .lib-collection-header { padding:16px; } .lib-collection-dialog .lib-explore { padding:18px 16px 24px; } }
@media(max-width:400px) { .lib-collection-dialog .lib-grid { grid-template-columns:1fr; } .lib-collection-dialog .lib-pagination { gap:10px; } }
.lib-books-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:12px; }
.lib-books-pagination button { min-width:0; min-height:44px; }
.lib-books-pagination button:first-child { justify-self:start; }
.lib-books-pagination button:last-child { justify-self:end; }
.lib-books-pagination button:disabled { opacity:.4; cursor:default; }
#lib-books-count { scroll-margin-top:25px; }

/* Normal okuyucu ortalanır; odak ve tam ekran görünümü ekranı doldurur. */
dialog.book-reader { position:fixed; inset:0; box-sizing:border-box; width:min(920px,calc(100% - 40px)); max-width:none; height:88vh; height:min(860px,88dvh); max-height:none; margin:auto; padding:0; border:1px solid var(--reader-border); border-radius:20px; overflow:hidden; scrollbar-gutter:auto; }
dialog.book-reader[open] { display:flex; flex-direction:column; animation:none; }
.book-reader > .lib-reader-header,.book-reader > .book-toolbar,.book-reader > .lib-reader-footer { flex:0 0 auto; }
.book-reader .lib-reader-header { padding:10px 18px; min-height:44px; }
#book-title { min-width:0; margin:0; font-size:clamp(14px,2vw,20px); line-height:1.4; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#book-close { flex-shrink:0; min-width:44px; min-height:44px; }
.book-reader .book-toolbar { padding:6px 12px; gap:6px; }
.book-reader .book-stage { flex:1 1 0; min-height:0; min-width:0; width:100%; box-sizing:border-box; padding:12px; overscroll-behavior:contain; }
.book-reader #book-epub { min-height:0; }
.book-reader #book-status { flex:0 0 auto; margin:0; padding:3px 12px; }
.book-reader #book-status:empty { display:none; }
.book-reader .book-about { flex:0 0 auto; min-height:0; max-height:22dvh; overflow:auto; padding:5px 16px; scrollbar-width:thin; scrollbar-color:#c7ac5b88 transparent; }
.book-reader .lib-reader-footer { padding:7px 12px; }
@media(max-height:500px) { .book-reader .lib-reader-header { padding:2px 12px; } .book-reader .book-toolbar { padding:2px 12px; } .book-reader .lib-reader-footer { padding:3px 10px; } .book-reader .book-about { padding:2px 12px; } }
@media(max-width:550px) { .lib-real-shelf { grid-template-columns:1fr; padding:0; gap:20px; } .lib-real-book { padding:0; gap:0; } .lib-book-cover { width:136px; flex-basis:auto; } .lib-book-info { padding:22px; } .lib-book-info h3 { font-size:21px; } .lib-book-info .lib-book-description { font-size:12px; } }

/* Okuma araçları gizlendiğinde kitap, ekranın tamamını kullanır. */
.book-chrome { flex:0 0 auto; background:var(--reader-bg); }
.book-reader #book-title { padding-right:46px; }
.book-reader .book-stage { touch-action:none; outline-offset:-3px; background:radial-gradient(ellipse at center,#ffffff06,transparent 75%),var(--reader-bg); }
#book-epub { margin:0 auto; position:relative; }
#book-epub-content { transform-origin:0 0; }
.book-reader .book-view-toggle { position:absolute; z-index:5; top:calc(10px + env(safe-area-inset-top)); right:calc(72px + env(safe-area-inset-right)); width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid var(--reader-border); border-radius:12px; color:var(--reader-accent); background:var(--reader-bg); backdrop-filter:blur(16px); box-shadow:0 4px 18px #0002; transition:background .2s,box-shadow .2s; }
.book-reader .book-view-toggle:hover,.book-reader .book-view-toggle:focus-visible { border-color:var(--reader-accent); box-shadow:0 4px 20px #0004; }
.book-reader .book-zoom { color:var(--reader-muted); font-size:11px; min-width:38px; text-align:center; font-variant-numeric:tabular-nums; }
dialog.book-reader.book-focus,dialog.book-reader:fullscreen { width:100%; height:100vh; height:100dvh; margin:0; padding:0; border:0; border-radius:0; }
.book-reader.book-focus .book-stage { padding:0; }
.book-reader.book-focus .book-view-toggle { top:calc(12px + env(safe-area-inset-top)); right:calc(12px + env(safe-area-inset-right)); opacity:.65; }
.book-reader.book-focus .book-view-toggle:hover,.book-reader.book-focus .book-view-toggle:focus-visible { opacity:1; }
.book-reader:fullscreen { background:var(--reader-bg); }
@media(max-width:600px) { dialog.book-reader:not(.book-focus):not(:fullscreen) { width:calc(100% - 20px); height:90vh; height:90dvh; border-radius:16px; } }
.book-reader .book-overlay-nav { position:absolute; z-index:4; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:56px; padding:0; border:1px solid var(--reader-border); border-radius:14px; background:var(--reader-bg); color:var(--reader-accent); backdrop-filter:blur(12px); box-shadow:0 4px 18px #0003; opacity:.45; cursor:pointer; transition:opacity .2s,background .2s; }
.book-reader .book-overlay-prev { left:calc(10px + env(safe-area-inset-left)); }
.book-reader .book-overlay-next { right:calc(10px + env(safe-area-inset-right)); }
.book-reader .book-overlay-nav:not(:disabled):hover,.book-reader .book-overlay-nav:focus-visible { opacity:1; border-color:var(--reader-accent); }
.book-reader .book-overlay-nav:disabled { opacity:.15; cursor:default; }
.book-reader .book-touch-hint { position:absolute; z-index:6; bottom:calc(18px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); display:flex; align-items:flex-start; gap:12px; width:min(350px,calc(100% - 32px)); padding:15px 17px; border:1px solid #c7ac5b77; border-radius:16px; background:var(--reader-bg); color:var(--reader-ink); backdrop-filter:blur(18px); box-shadow:0 8px 30px #0004; font-size:12px; line-height:1.7; text-align:left; cursor:pointer; }
.book-touch-hint i { color:var(--reader-accent); margin-top:4px; font-size:19px; }
.book-touch-hint small { display:block; margin-top:6px; font-size:10px; color:var(--reader-muted); }
@media(pointer:coarse),(max-width:600px) { .book-reader .book-overlay-nav { display:none!important; } }

/* Koleksiyon ve metin okuyucusunda ortak, kompakt kontrol dili. */
:is(#lib-reader,#lib-collection-dialog) button:not(.lib-bg-tile) { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; border:1px solid var(--reader-border); border-radius:11px; color:var(--reader-ink); background:linear-gradient(135deg,#ffdb7010,#ffffff05),var(--reader-control); box-shadow:inset 0 1px #ffffff12,0 3px 10px #0000000b; font-size:12px; line-height:1.3; transition:transform .2s,border-color .2s,box-shadow .2s; }
:is(#lib-reader,#lib-collection-dialog) button:not(.lib-bg-tile):not(:disabled):hover { transform:translateY(-2px); border-color:var(--reader-accent); box-shadow:0 5px 16px #00000020; }
:is(#lib-reader,#lib-collection-dialog) button:not(:disabled):active { transform:scale(.97); }
:is(#lib-reader,#lib-collection-dialog) button:focus-visible { outline:2px solid var(--reader-accent); outline-offset:3px; }
:is(#lib-reader,#lib-collection-dialog) button:disabled { opacity:.35; cursor:default; box-shadow:none; }
:is(#lib-reader,#lib-collection-dialog) button i { color:var(--reader-accent); }
#lib-collection-dialog .lib-filter { padding:7px 12px; }
#lib-collection-dialog button[aria-pressed=true],#lib-reader button[aria-pressed=true],#lib-reader button[aria-expanded=true] { background:linear-gradient(135deg,#ffdb702a,#ffdb700b); border-color:var(--reader-accent); color:var(--reader-accent); }
#lib-collection-dialog .lib-save { width:36px; min-height:36px; padding:0; border-radius:10px; }
#lib-collection-dialog .lib-entry-bottom button,#lib-collection-dialog #lib-reset { padding:7px 12px; }
#lib-collection-dialog .lib-collection-header { padding:12px 18px; }
#lib-reader { height:88vh; height:min(800px,88dvh); overflow:hidden; scrollbar-gutter:auto; }
#lib-reader[open] { display:flex; flex-direction:column; }
#lib-reader > .lib-reader-header,#lib-reader > .lib-reader-bottom { flex:0 0 auto; background:var(--reader-bg); }
#lib-reader > .lib-reader-header { padding:8px 14px; gap:8px; }
#lib-reader .lib-reader-header p { margin:0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; letter-spacing:.7px; }
#lib-reader .lib-reader-tools { flex-shrink:0; gap:5px; }
#lib-reader .lib-reader-tools button { width:36px; padding:0; }
#lib-reader .lib-reader-scroll { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; outline-offset:-3px; }
#lib-reader .lib-reader-body { min-height:0; padding:28px 34px; }
#lib-reader .lib-reader-bottom { border-top:1px solid var(--reader-border); box-shadow:0 -5px 18px #0000000d; }
#lib-reader .lib-reader-actions { flex-wrap:nowrap; padding:7px 12px; gap:6px; }
#lib-reader .lib-reader-actions button { padding:7px 12px; min-height:36px; font-size:11px; white-space:nowrap; }
#lib-reader .lib-reader-footer { padding:6px 12px; }
#lib-reader .lib-reader-footer button { min-height:36px; padding:7px 12px; font-size:11px; }
#lib-reader .lib-reader-notice:empty { display:none; }
#lib-reader .lib-share-panel { scroll-margin-top:12px; }
#lib-reader .lib-bg-grid { max-height:280px; max-height:min(280px,35dvh); min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; align-content:start; border:1px solid var(--reader-border); border-radius:12px; background:var(--reader-control); }
:is(#lib-reader-scroll,#lib-explore) { scrollbar-width:thin; scrollbar-color:#c7ac5b88 transparent; scrollbar-gutter:stable; }
@supports selector(::-webkit-scrollbar) {
 :is(#lib-reader-scroll,#lib-explore) { scrollbar-width:auto; }
 :is(#lib-reader-scroll,#lib-explore)::-webkit-scrollbar { width:7px; height:7px; }
 :is(#lib-reader-scroll,#lib-explore)::-webkit-scrollbar-track { background:transparent; margin:18px 0; }
 :is(#lib-reader-scroll,#lib-explore)::-webkit-scrollbar-thumb { border-radius:100% / 20px; border:1px solid transparent; background:linear-gradient(transparent,#d7b65a99 20%,#d7b65abb 50%,#d7b65a99 80%,transparent); background-clip:padding-box; }
 :is(#lib-reader-scroll,#lib-explore)::-webkit-scrollbar-button { display:none; }
}
@media(max-width:480px) { #lib-reader .lib-reader-body { padding:22px 20px; } #lib-reader .lib-reader-actions button { padding:7px 8px; gap:5px; } #lib-reader .lib-reader-tools { gap:4px; } #lib-reader > .lib-reader-header { padding:7px 10px; } }
@media(max-height:500px) { .book-reader .book-view-toggle { top:calc(2px + env(safe-area-inset-top)); } }
.book-reader .book-toolbar { flex-wrap:nowrap; justify-content:center; gap:10px; padding:10px 14px; background:linear-gradient(110deg,#ffdb7008,transparent); }
.book-reader .book-toolbar > * { flex:0 0 auto; min-width:0; }
.book-reader .book-toolbar button,.book-reader .book-toolbar select { min-height:42px; justify-content:center; border-radius:12px; background:linear-gradient(145deg,#ffffff0d,var(--reader-control)); box-shadow:inset 0 1px #ffffff12,0 3px 9px #0000000d; }
.book-reader .book-toolbar button:not(:disabled):hover { border-color:var(--reader-accent); box-shadow:0 4px 14px #0002; }
.book-reader .book-toolbar button:not(:disabled):active { transform:scale(.96); }
.book-reader .book-toolbar button i { color:var(--reader-accent); }
.book-zoom-controls { display:flex; align-items:center; border:1px solid var(--reader-border); border-radius:12px; overflow:hidden; background:var(--reader-control); }
.book-reader .book-zoom-controls button { width:38px; min-height:40px; padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
.book-reader .book-toolbar #book-share { background:linear-gradient(135deg,#ffdb7022,#ffdb700a); border-color:#c7ac5b66; }
@media(max-width:480px) {
 .book-reader .book-toolbar { gap:6px; padding:8px; }
 .book-reader .book-tool-label { display:none; }
 .book-reader .book-toolbar > button { width:40px; min-height:42px; padding:0; }
 .book-reader .book-toolbar select { width:70px; padding:6px; font-size:11px; }
 .book-reader .book-zoom-controls button { width:32px; }
 .book-reader .book-zoom { min-width:36px; font-size:10px; }
}

.lib-source-card { display:flex; align-items:flex-start; gap:12px; margin-top:26px; padding:16px 18px; border:1px solid var(--reader-border); border-left:3px solid var(--reader-accent); border-radius:12px; background:linear-gradient(125deg,#ffdb700d,transparent),var(--reader-control); }
.lib-source-card > i { flex-shrink:0; color:var(--reader-accent); font-size:18px; margin-top:3px; }
.lib-source-card > div { min-width:0; }
.lib-source-card span { display:block; color:var(--reader-accent); font-size:10px; font-weight:600; letter-spacing:1px; }
.lib-source-card .lib-reader-source { margin:6px 0 0; color:var(--reader-ink); font-size:13px; line-height:1.8; overflow-wrap:anywhere; }

/* Kitap rafının arama, kategori ve sayfa kontrolleri. */
.lib-books-toolbar { grid-template-columns:minmax(0,1fr) minmax(180px,240px); gap:10px; padding:10px; border:1px solid var(--lib-line); border-radius:20px; background:linear-gradient(120deg,#ffdb7009,transparent),var(--lib-panel); backdrop-filter:blur(16px); }
.lib-books-toolbar :is(.lib-search,.lib-topic) { min-width:0; min-height:46px; box-sizing:border-box; padding:10px 14px; border-radius:13px; background:linear-gradient(135deg,#ffffff09,#ffffff02); box-shadow:inset 0 1px #ffffff0a; transition:border-color .2s,box-shadow .2s; }
.lib-books-toolbar :is(.lib-search,.lib-topic):focus-within { outline:0; border-color:var(--lib-gold); box-shadow:0 0 0 3px #c7ac5b22; }
.lib-books-toolbar i { flex-shrink:0; color:var(--lib-gold); font-size:14px; }
.lib-books-toolbar .lib-search input { width:100%; background:transparent; font-size:12px; }
.lib-books-toolbar input::placeholder { color:var(--lib-muted); opacity:1; }
.lib-books-toolbar .lib-topic select { flex:1; appearance:none; background:transparent; outline:none; cursor:pointer; font-size:12px; }
.lib-books-toolbar .lib-topic > i:last-child { font-size:10px; pointer-events:none; }
.lib-books-section .lib-result-line { flex-wrap:wrap; padding:0 5px; }
#lib-books-reset,.lib-books-pagination button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 15px; border:1px solid var(--lib-line)!important; border-radius:13px; background:linear-gradient(135deg,#ffdb7015,#ffffff04); color:var(--lib-ink); text-decoration:none; box-shadow:inset 0 1px #ffffff0c,0 3px 10px #0000000c; transition:transform .2s,border-color .2s,box-shadow .2s; }
#lib-books-reset { font-size:11px; }
.lib-books-pagination { width:min(100%,460px); box-sizing:border-box; margin:24px auto 0; padding:9px; gap:8px; border:1px solid var(--lib-line); border-radius:20px; background:var(--lib-panel); backdrop-filter:blur(16px); }
.lib-books-pagination button { width:100%; white-space:nowrap; font-size:12px!important; }
.lib-books-pagination i,#lib-books-reset i { color:var(--lib-gold); }
#lib-books-page { display:grid; place-items:center; min-width:52px; min-height:40px; padding:0 8px; border:1px solid var(--lib-line); border-radius:12px; background:#c7ac5b12; color:var(--lib-gold); font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
@media(hover:hover) { #lib-books-reset:hover,.lib-books-pagination button:not(:disabled):hover { transform:translateY(-2px); border-color:var(--lib-gold)!important; box-shadow:0 5px 14px #0002; } }
#lib-books-reset:active,.lib-books-pagination button:not(:disabled):active { transform:scale(.97); }
.lib-books-pagination button:disabled { transform:none; box-shadow:none; opacity:.35; }
@media(max-width:600px) { .lib-books-toolbar { grid-template-columns:minmax(0,1fr); } }
@media(max-width:360px) { .lib-books-pagination { padding:6px; gap:5px; } .lib-books-pagination button { gap:5px; padding:9px 7px; font-size:11px!important; } #lib-books-page { min-width:40px; padding:0 5px; } }
@media(prefers-reduced-motion:reduce) { .lib-books-toolbar :is(.lib-search,.lib-topic),#lib-books-reset,.lib-books-pagination button { transition:none; transform:none!important; } }
/* Theme-aware entrance and quick navigation. */
.lib-hero h2 { color:#f4f1e8; }
.lib-hero-actions { gap:9px; }
.lib-hero-actions button { min-height:42px; border-radius:13px; padding:11px 14px; backdrop-filter:blur(14px); box-shadow:0 5px 15px #0002,inset 0 1px #ffffff15; transition:transform .2s,box-shadow .2s,background .2s; }
.lib-hero-actions .lib-secondary { background:#ffffff08; }
.lib-hero-actions button:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 8px 22px #0003; }
.lib-hero-actions button:disabled { opacity:.5; cursor:wait; }
.lib-section-nav { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:10px; margin-top:16px; }
.lib-section-nav a { display:flex; align-items:center; gap:10px; min-width:0; padding:14px 15px; border:1px solid var(--lib-line); border-radius:14px; background:linear-gradient(120deg,#d9b64e12,transparent),var(--lib-panel); backdrop-filter:blur(18px); color:var(--lib-ink); font-size:12px; text-decoration:none; box-shadow:0 5px 18px #0001,inset 0 1px #ffffff0c; transition:transform .2s,border-color .2s; }
.lib-section-nav a>i:first-child { color:var(--lib-gold); font-size:16px; }
.lib-section-nav a>i:last-child { margin-left:auto; color:var(--lib-muted); font-size:10px; }
.lib-section-nav a:hover { transform:translateY(-2px); border-color:var(--lib-gold); }
#lib-collections,#lib-book-section,#lib-audio { scroll-margin-top:24px; }
.light-mode .lib-hero { color:#303033; border-color:#b99b4b40; background:radial-gradient(ellipse at 85% 40%,#e8cc7770,transparent 65%),linear-gradient(115deg,#fcfbf7e8,#eeece7e8); box-shadow:0 12px 32px #76664112,inset 0 1px #fff; backdrop-filter:blur(20px); }
.light-mode .lib-hero h2 { color:#303033; }
.light-mode .lib-hero h2 em,.light-mode .lib-hero .lib-eyebrow { color:#876a20; }
.light-mode .lib-hero .lib-intro { color:#626268; }
.light-mode .lib-hero .lib-secondary { color:#393730; border-color:#89764c40!important; background:#ffffff70; }
.light-mode .lib-arch { box-shadow:inset 0 0 0 10px #efe9dc,inset 0 0 0 11px #b99b4b40; }
.light-mode .lib-arch:after { color:#987624; }
@media(max-width:650px) {
 .lib-section-nav { gap:6px; grid-template-columns:1.4fr 1fr 1fr; }
 .lib-section-nav a { padding:12px 7px; gap:5px; font-size:10px; justify-content:center; border-radius:11px; }
 .lib-section-nav a>i:first-child { font-size:13px; }
 .lib-section-nav a>i:last-child { display:none; }
 .lib-hero-actions button { font-size:11px!important; padding:10px 12px; }
 .lib-hero h2 { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:no-preference) { html:has(.library-page) { scroll-behavior:smooth; } }
.lib-page-share { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin:28px 0 18px; padding:18px; border:1px solid var(--lib-line); border-radius:18px; background:var(--lib-panel); backdrop-filter:blur(18px); }
.lib-page-share>span { font-size:12px; color:var(--lib-muted); margin-right:8px; }
.lib-page-share a,.lib-page-share button { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid var(--lib-line); border-radius:13px; background:linear-gradient(135deg,#d7b65f25,#ffffff05); color:var(--lib-gold); cursor:pointer; transition:transform .2s,box-shadow .2s; }
.lib-page-share a:hover,.lib-page-share button:hover { transform:translateY(-3px); box-shadow:0 5px 18px #0002; }
#lib-share-status { flex-basis:100%; text-align:center; color:var(--lib-muted); font-size:11px; }
#lib-share-status:empty { display:none; }
#lib-share-status input { width:100%; box-sizing:border-box; color:var(--lib-ink); background:var(--lib-panel); padding:8px; }
.la-pages { display:flex; align-items:center; justify-content:center; gap:12px; margin:20px 0 4px; }
.la-pages button { min-height:40px; padding:10px 15px; border-radius:13px; border:1px solid var(--lib-line); background:linear-gradient(135deg,#d7b65f20,#ffffff06); color:var(--lib-ink); }
.la-pages button:disabled { opacity:.35; cursor:default; transform:none; }
.la-pages>span { min-width:54px; text-align:center; font-size:12px; color:var(--lib-gold); font-variant-numeric:tabular-nums; }

#lib-books-description:empty { display:none; }

/* The sharing bar supplies the spacing before the footer waves. */
.library-page .library:not(dialog) { padding-bottom:0; }
