/* Ketabika premium 3D book intro */
.ketabika-intro{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 40%,#fff 0%,#fcfbff 35%,#f0eeff 72%,#e7e8ff 100%);opacity:1;visibility:visible;transition:opacity .7s cubic-bezier(.2,.75,.2,1),visibility .7s;perspective:1600px;background-attachment:fixed}
.ketabika-intro:before{content:"";position:absolute;width:min(74vw,720px);aspect-ratio:1;border:1px solid rgba(99,83,199,.13);border-radius:50%;box-shadow:0 0 0 30px rgba(99,83,199,.025),0 0 0 74px rgba(99,83,199,.022),0 0 0 124px rgba(99,83,199,.014);animation:introHalo 5s ease-in-out infinite}
.ketabika-intro:after{content:"";position:absolute;width:min(65vw,520px);height:min(65vw,520px);border-radius:50%;background:radial-gradient(circle,rgba(123,105,235,.16),rgba(125,144,255,.07) 42%,transparent 70%);filter:blur(24px);animation:introGlow 3.6s ease-in-out infinite alternate;z-index:-1}
.ketabika-intro-content{position:relative;z-index:1;width:min(88vw,520px);display:flex;align-items:center;flex-direction:column;animation:introContentIn .95s cubic-bezier(.16,1,.3,1) both}
.ketabika-intro-logo-wrap{position:relative;display:grid;place-items:center;width:min(78vw,420px);height:190px;perspective:1100px;transform-style:preserve-3d;filter:drop-shadow(0 22px 20px rgba(70,58,155,.12))}
.ketabika-intro-logo-wrap:before{content:"";position:absolute;left:19%;right:19%;bottom:13px;height:25px;border-radius:50%;background:rgba(52,44,124,.2);filter:blur(17px);transform:rotateX(70deg) translateZ(-24px);animation:introShadow 2.8s ease-in-out infinite}
.ketabika-intro-logo-wrap:after{content:"";position:absolute;inset:8% 5%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 20%,rgba(112,104,222,.12) 26%,transparent 34% 60%,rgba(82,139,235,.12) 68%,transparent 76%);filter:blur(1px);mask:radial-gradient(ellipse,transparent 53%,#000 54%,#000 55%,transparent 56%);animation:introOrbit 12s linear infinite}
.ketabika-intro-logo{display:block;position:relative;z-index:2;width:min(100%,370px);max-height:155px;object-fit:contain;filter:drop-shadow(1px 1px 0 #d8d5f7) drop-shadow(2px 2px 0 #c4bfef) drop-shadow(3px 3px 0 #aaa3e2) drop-shadow(4px 5px 0 #938ad5) drop-shadow(0 17px 18px rgba(55,48,132,.28));transform-style:preserve-3d;animation:introLogo3D 4.4s cubic-bezier(.45,0,.55,1) infinite;backface-visibility:hidden}
.intro-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(105,91,205,.2);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.intro-orbit-one{width:91%;height:62%;border-color:rgba(105,91,205,.24);animation:introOrbit 9s linear infinite}
.intro-orbit-two{width:73%;height:91%;border-color:rgba(92,135,230,.2);animation:introOrbitReverse 13s linear infinite}
.ketabika-intro-progress{position:relative;height:5px;width:min(58vw,240px);margin-top:19px;border-radius:999px;overflow:hidden;background:rgba(105,91,190,.12);box-shadow:inset 0 1px 2px rgba(50,40,120,.09),0 0 18px rgba(111,97,216,.12)}
.ketabika-intro-progress span{position:relative;display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5277e9 0%,#7660dc 52%,#b19af6 100%);box-shadow:0 0 12px rgba(112,91,222,.48);animation:introProgress 2s cubic-bezier(.4,0,.2,1) forwards}
.ketabika-intro-progress span:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);transform:translateX(-100%);animation:introShimmer 1s ease-in-out infinite}
.ketabika-intro-caption{margin:19px 0 0;color:#77739a;font:600 11px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.22em;text-transform:uppercase;text-align:center;text-shadow:0 1px #fff}
.ketabika-intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.025);filter:blur(4px)}
body.ketabika-intro-active{overflow:hidden}
@keyframes introContentIn{0%{opacity:0;transform:translateY(24px) scale(.91) rotateX(8deg);filter:blur(8px)}70%{filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1) rotateX(0)}}
@keyframes introLogo3D{0%,100%{transform:rotateY(-15deg) rotateX(7deg) translateY(0) translateZ(0) scale(1);filter:drop-shadow(1px 1px 0 #d8d5f7) drop-shadow(2px 2px 0 #c4bfef) drop-shadow(4px 5px 0 #938ad5) drop-shadow(0 17px 18px rgba(55,48,132,.28))}50%{transform:rotateY(15deg) rotateX(-4deg) translateY(-10px) translateZ(28px) scale(1.045);filter:drop-shadow(2px 2px 0 #d8d5f7) drop-shadow(4px 4px 0 #c4bfef) drop-shadow(7px 8px 0 #938ad5) drop-shadow(0 25px 24px rgba(55,48,132,.3))}}
@keyframes introShadow{0%,100%{opacity:.65;transform:rotateX(70deg) scale(.94)}50%{opacity:.3;transform:rotateX(70deg) scale(.76)}}
@keyframes introOrbit{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes introOrbitReverse{from{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}
@keyframes introHalo{0%,100%{transform:scale(.97);opacity:.7}50%{transform:scale(1.025);opacity:1}}
@keyframes introGlow{from{transform:scale(.88);opacity:.65}to{transform:scale(1.08);opacity:1}}
@keyframes introProgress{0%{width:0%;margin-left:0}68%{width:74%;margin-left:8%}100%{width:100%;margin-left:0}}
@keyframes introShimmer{to{transform:translateX(100%)}}
@media(max-width:600px){.ketabika-intro-content{width:90vw}.ketabika-intro-logo-wrap{height:155px;width:88vw}.ketabika-intro-logo{max-width:300px;max-height:125px}.ketabika-intro-progress{margin-top:15px}.ketabika-intro-caption{font-size:10px;letter-spacing:.16em}.ketabika-intro:before{width:88vw}}
@media(prefers-reduced-motion:reduce){.ketabika-intro,.ketabika-intro-content,.ketabika-intro-logo,.intro-orbit,.ketabika-intro-progress span,.ketabika-intro:before,.ketabika-intro:after,.ketabika-intro-logo-wrap:before,.ketabika-intro-logo-wrap:after{animation:none!important;transition:none!important}}

/* Premium depth layers and light sweep */
.ketabika-intro-logo-wrap{transform-style:preserve-3d}
.ketabika-intro-logo-wrap:after{inset:4% 0%;opacity:.95;filter:blur(.4px);transform:translateZ(-12px)}
.ketabika-intro-content:before{content:"";position:absolute;top:9%;left:50%;width:min(58vw,300px);height:100px;transform:translateX(-50%) translateZ(-35px);background:linear-gradient(135deg,rgba(96,118,232,.12),rgba(151,112,232,.1));filter:blur(28px);border-radius:50%;pointer-events:none}
@media(max-width:600px){.ketabika-intro-logo{filter:drop-shadow(1px 1px 0 #d8d5f7) drop-shadow(2px 2px 0 #b6afe9) drop-shadow(3px 4px 0 #938ad5) drop-shadow(0 14px 15px rgba(55,48,132,.24))}}
