@font-face{font-family:NotoBengali;src:url('/assets/NotoSerifBengali-Regular.ttf') format('truetype');font-display:swap}
:root{--ink:#061425;--navy:#071a33;--blue:#0b2c55;--teal:#0b5771;--gold:#e8c56d;--paper:#f5f0e5;--white:#f5f8fc;--muted:#9ab0c8;--line:rgba(232,197,109,.24);--danger:#ff7185}
*{box-sizing:border-box}html{min-height:100%;background:var(--navy)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,#0b577155,transparent 38%),linear-gradient(135deg,#061425,#071a33 48%,#082542);color:var(--white);font-family:Inter,Segoe UI,NotoBengali,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,90px);border-bottom:1px solid rgba(255,255,255,.08);background:rgba(6,20,37,.72);backdrop-filter:blur(18px);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-size:18px}.brand b{color:var(--gold)}.brand-mark{width:38px;height:38px;border:1px solid var(--gold);border-radius:12px;display:grid;place-items:center;color:var(--gold);font-weight:800;font-size:13px}.site-header nav{display:flex;align-items:center;gap:24px;color:#c7d5e6;font-size:14px}.nav-cta{border:1px solid var(--gold);color:var(--gold);padding:9px 16px;border-radius:999px}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(24px,6vw,90px);border-top:1px solid rgba(255,255,255,.08);color:#728aa4;font-size:12px}.flash{max-width:760px;margin:18px auto -4px;padding:12px 18px;border-radius:12px;border:1px solid}.flash.success{background:#0c604b55;border-color:#48d6a0;color:#bff7df}.flash.error{background:#6e213655;border-color:#ff7185;color:#ffd7dd}.flash.info{background:#174b7055;border-color:#69b8ed;color:#d9f0ff}.eyebrow{display:inline-block;color:var(--gold);font-size:11px;letter-spacing:.19em;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 22px;font-weight:700;cursor:pointer}.btn.primary{color:var(--ink);background:linear-gradient(135deg,#f1d78e,var(--gold));box-shadow:0 12px 32px #e8c56d20}.btn.secondary{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:var(--white)}.btn.danger{border:1px solid #ff718577;background:#ff718515;color:#ff9aaa}.btn.small{padding:8px 13px;border-radius:8px;font-size:12px}.btn.wide{width:100%}
.hero{min-height:690px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;max-width:1240px;margin:auto;padding:70px 42px}.hero-copy h1{font-family:Georgia,NotoBengali,serif;font-size:clamp(54px,6vw,88px);line-height:1.01;letter-spacing:-.04em;margin:20px 0 25px}.hero-copy h1 em{font-style:normal;color:var(--gold)}.hero-copy>p{max-width:650px;color:#adc0d5;font-size:18px}.hero-actions{display:flex;gap:12px;margin:34px 0}.trust-row{display:flex;gap:22px;flex-wrap:wrap;color:#8099b3;font-size:12px}.hero-book{position:relative;max-width:380px;justify-self:center}.hero-book img{display:block;width:100%;border-radius:7px;box-shadow:28px 36px 80px #0009;transform:perspective(900px) rotateY(-8deg);position:relative;z-index:2;user-select:none}.book-glow{position:absolute;inset:15%;background:#0f91be;filter:blur(80px);opacity:.55}.book-meta{position:relative;z-index:3;display:flex;justify-content:space-between;margin-top:22px;color:#8fa7c0;font-size:11px;letter-spacing:.12em}.book-meta strong{color:var(--gold)}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:1240px;margin:0 auto 80px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#06142588}.feature-strip article{padding:32px;border-right:1px solid var(--line)}.feature-strip article:last-child{border:0}.feature-strip b{color:var(--gold);font-family:Georgia,serif}.feature-strip h3{margin:12px 0 5px}.feature-strip p{margin:0;color:#89a0b9;font-size:14px}
.auth-shell{min-height:calc(100vh - 160px);display:grid;grid-template-columns:minmax(420px,620px) 370px;justify-content:center;align-items:center;gap:70px;padding:60px 30px}.auth-shell.compact{grid-template-columns:minmax(380px,540px)}.auth-panel{padding:44px;background:#081d37dd;border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 70px #0005}.auth-panel h1{font-family:Georgia,NotoBengali,serif;font-size:42px;margin:12px 0}.auth-panel>p{color:#9db2c9}.auth-form{display:grid;gap:17px;margin-top:30px}.auth-form label{display:grid;gap:7px;color:#cdd9e6;font-size:13px}.auth-form input{width:100%;border:1px solid #325171;background:#061425;color:white;border-radius:11px;padding:13px 14px;outline:none}.auth-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e8c56d18}.auth-form small{color:#728aa4}.form-error{background:#6e213655;border:1px solid #ff718577;color:#ffd7dd;padding:11px 14px;border-radius:10px;margin-top:20px}.auth-switch{text-align:center;font-size:13px!important}.auth-switch a,.resend-form button{color:var(--gold)}.auth-aside{display:grid;grid-template-columns:145px 1fr;align-items:end;gap:25px}.auth-aside img{width:145px;border-radius:5px;box-shadow:15px 22px 45px #0008}.auth-aside span{color:var(--gold);font-size:10px;letter-spacing:.15em}.auth-aside h2{font-family:NotoBengali,serif;font-size:27px;line-height:1.25;margin:10px 0}.auth-aside p{color:#8fa7c0}.otp-input{text-align:center;font-size:32px;letter-spacing:.45em;padding-left:1em!important}.resend-form{text-align:center;margin-top:20px}.resend-form button{border:0;background:none;cursor:pointer}
.status-card{max-width:680px;margin:100px auto;min-height:470px;text-align:center;padding:55px;background:#081d37dd;border:1px solid var(--line);border-radius:26px}.status-icon{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;margin:0 auto 25px;background:#e8c56d18;border:1px solid var(--gold);color:var(--gold);font-size:30px}.status-icon.rejected{border-color:var(--danger);color:var(--danger)}.status-card h1{font-family:Georgia,NotoBengali,serif;font-size:40px}.status-card p{color:#9db2c9}.status-steps{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:35px 0}.status-steps span{padding:8px 12px;border-radius:999px;font-size:12px}.status-steps .done{background:#0c604b44;color:#8fe3c0}.status-steps .current{background:#e8c56d18;color:var(--gold)}
.library-shell,.admin-shell{max-width:1180px;margin:auto;padding:60px 30px 90px}.library-head,.admin-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.library-head h1,.admin-head h1{font-family:Georgia,NotoBengali,serif;font-size:52px;margin:10px 0 0}.library-head p,.admin-head p{color:#8fa7c0}.approval-badge{border:1px solid #52d9a355;color:#a9edcf;background:#0c604b33;padding:9px 14px;border-radius:999px;font-size:12px}.approval-badge span{color:#52d9a3}.book-grid{display:grid;gap:28px}.library-book{display:grid;grid-template-columns:255px 1fr;gap:42px;background:#081d37d9;border:1px solid var(--line);border-radius:24px;padding:30px}.library-cover{position:relative}.library-cover img{width:100%;display:block;border-radius:6px;box-shadow:15px 20px 40px #0007;user-select:none}.protected-chip{position:absolute;top:12px;left:12px;background:#061425dd;color:var(--gold);border:1px solid #e8c56d66;border-radius:999px;padding:5px 9px;font-size:9px;letter-spacing:.12em}.library-info{align-self:center}.book-type{font-size:10px;color:var(--gold);letter-spacing:.15em}.library-info h2{font-family:NotoBengali,Georgia,serif;font-size:39px;line-height:1.25;margin:14px 0 4px}.library-info .author{color:#d7e2ed}.library-info>p{color:#93aac2;max-width:650px}.progress-line{height:5px;border-radius:5px;background:#193b5a;margin-top:25px;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--gold)}.progress-meta{display:flex;justify-content:space-between;color:#7f97b0;font-size:11px;margin:8px 0 24px}.progress-meta b{color:var(--gold)}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.stat-grid article,.admin-card{background:#081d37d9;border:1px solid var(--line);border-radius:18px}.stat-grid article{padding:24px}.stat-grid span{color:#8fa7c0;font-size:13px}.stat-grid b{display:block;color:var(--gold);font-family:Georgia,serif;font-size:38px;margin-top:8px}.admin-card{padding:28px;margin-top:22px}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.card-title h2{margin:0}.card-title span{color:#8fa7c0;font-size:12px}.empty-state{padding:40px;text-align:center;color:#8099b3;border:1px dashed #35526f;border-radius:13px}.request-list{display:grid;gap:10px}.request-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#06142599;border:1px solid #1d4161;padding:14px;border-radius:13px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e8c56d18;color:var(--gold);font-weight:800}.request-list article>div:nth-child(2){display:grid}.request-list article span{font-size:12px;color:#8099b3}.request-list form{display:flex;gap:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px;border-bottom:1px solid #183956}th{color:#718ba5;font-weight:500}.status-pill{padding:5px 9px;border-radius:99px;font-size:10px}.status-pill.approved{background:#0c604b44;color:#8fe3c0}.status-pill.pending{background:#e8c56d18;color:var(--gold)}.status-pill.rejected{background:#6e213655;color:#ff9aaa}
.reader-page{overflow-x:hidden}.reader-page .site-header,.reader-page>.site-footer{display:none}.reader-shell{min-height:100vh;background:#030a13;user-select:none;-webkit-user-select:none}.reader-toolbar{height:68px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:0 25px;background:#061425;border-bottom:1px solid #153551;position:sticky;top:0;z-index:30}.reader-back{width:38px;height:38px;border:1px solid #294862;border-radius:10px;display:grid;place-items:center}.reader-title{display:grid}.reader-title strong{font-family:NotoBengali,serif}.reader-title span{color:#718ba5;font-size:11px}.reader-security{font-size:11px;color:#8fa7c0}.security-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#45d19b;box-shadow:0 0 10px #45d19b;margin-right:7px}.reader-stage{min-height:calc(100vh - 152px);display:grid;grid-template-columns:60px minmax(280px,760px) 60px;justify-content:center;align-items:center;gap:18px;padding:30px;background:radial-gradient(circle at 50% 35%,#15324b,#030a13 62%)}.page-frame{position:relative;max-height:calc(100vh - 210px);height:calc(100vh - 210px);aspect-ratio:2/3;background:#111;box-shadow:0 26px 70px #000c;overflow:hidden}.page-frame canvas{width:100%;height:100%;display:block;object-fit:contain;background:#eee}.live-watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-28deg);width:130%;text-align:center;color:#b0801970;font-size:clamp(10px,1.5vw,17px);letter-spacing:.06em;font-weight:800;pointer-events:none;text-shadow:0 0 1px #fff}.page-loading{position:absolute;inset:0;display:grid;place-items:center;background:#071a33;color:#8fa7c0;font-size:13px}.page-loading.hidden{display:none}.page-arrow,.icon-btn{border:1px solid #28465f;background:#071a33;color:#dce6ef;border-radius:50%;cursor:pointer}.page-arrow{width:48px;height:48px;font-size:34px}.reader-controls{height:84px;display:grid;grid-template-columns:48px minmax(250px,680px) 48px;justify-content:center;align-items:center;gap:16px;padding:0 24px;background:#061425;border-top:1px solid #153551;position:sticky;bottom:0;z-index:30}.icon-btn{width:42px;height:42px}.page-slider input{width:100%;accent-color:var(--gold)}.page-slider>div{display:flex;justify-content:space-between;color:#7690aa;font-size:10px}.capture-shield{display:none;position:fixed;inset:0;z-index:100;background:#030a13;place-items:center;text-align:center;color:#9db2c9}.capture-shield.active{display:grid}.capture-toast{position:fixed;left:50%;bottom:105px;transform:translate(-50%,20px);opacity:0;background:#061425;border:1px solid var(--gold);color:var(--gold);padding:10px 15px;border-radius:10px;font-size:12px;transition:.2s;z-index:80}.capture-toast.show{opacity:1;transform:translate(-50%,0)}
.public-preview{max-width:1240px;margin:0 auto 72px;padding:0 30px}.preview-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:28px}.preview-heading h2{font-family:Georgia,NotoBengali,serif;font-size:clamp(36px,4vw,54px);line-height:1.1;margin:10px 0 0}.preview-heading p{max-width:460px;color:#8fa7c0;margin:0}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.preview-card{position:relative;display:grid;grid-template-columns:150px 1fr;align-items:center;gap:22px;text-align:left;background:#081d37d9;border:1px solid var(--line);border-radius:20px;padding:18px;color:var(--white);cursor:pointer;overflow:hidden;transition:transform .2s,border-color .2s}.preview-card:hover{transform:translateY(-4px);border-color:#e8c56d88}.preview-number{position:absolute;right:13px;top:9px;color:#e8c56d22;font-family:Georgia,serif;font-size:50px}.preview-image{height:210px;display:flex;align-items:center;justify-content:center}.preview-image>img{height:100%;max-width:100%;object-fit:contain;box-shadow:7px 10px 25px #0008;user-select:none}.toc-spread{gap:5px}.toc-spread img{width:50%;height:auto;max-height:100%}.preview-card>div:last-child{display:grid;position:relative;z-index:2}.preview-card>div:last-child span{color:var(--gold);font-size:9px;letter-spacing:.16em}.preview-card strong{font-family:Georgia,NotoBengali,serif;font-size:24px;margin:8px 0}.preview-card small{color:#829ab3}.preview-modal{position:fixed;inset:0;z-index:100;display:none;grid-template-columns:60px minmax(260px,760px) 60px;align-items:center;justify-content:center;gap:20px;padding:45px;background:#020812ef;backdrop-filter:blur(16px)}.preview-modal.open{display:grid}.preview-modal figure{margin:0;max-height:90vh;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center}.preview-modal figure img{max-width:100%;max-height:82vh;object-fit:contain;box-shadow:0 30px 80px #000;border:1px solid #e8c56d55;user-select:none}.preview-modal figcaption{width:100%;display:flex;justify-content:space-between;padding-top:12px;color:#8fa7c0;font-size:12px}.preview-modal figcaption b{color:var(--gold)}.preview-close,.preview-arrow{border:1px solid #35516d;background:#071a33;color:white;border-radius:50%;cursor:pointer}.preview-close{position:absolute;right:25px;top:22px;width:44px;height:44px;font-size:25px}.preview-arrow{width:52px;height:52px;font-size:34px}
@media(max-width:850px){.site-header{padding:0 20px}.site-header nav{gap:12px}.hero{grid-template-columns:1fr;padding:60px 24px}.hero-book{max-width:300px}.preview-heading{display:block}.preview-heading p{margin-top:15px}.preview-grid{grid-template-columns:1fr}.preview-card{grid-template-columns:130px 1fr}.feature-strip{grid-template-columns:1fr;margin:0 20px 60px}.feature-strip article{border-right:0;border-bottom:1px solid var(--line)}.auth-shell{grid-template-columns:1fr;padding:35px 18px}.auth-aside{display:none}.library-book{grid-template-columns:140px 1fr;gap:22px}.library-info h2{font-size:27px}.stat-grid{grid-template-columns:1fr}.reader-security{display:none}.reader-stage{grid-template-columns:1fr;padding:14px}.reader-stage>.page-arrow{display:none}.page-frame{max-height:calc(100vh - 190px);height:auto;width:min(100%,calc((100vh - 190px)*.667))}.request-list article{grid-template-columns:auto 1fr}.request-list form{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:560px){.brand>span:last-child{display:none}.site-header nav a:not(.nav-cta){display:none}.hero-copy h1{font-size:48px}.trust-row{display:grid;gap:6px}.public-preview{padding:0 18px}.preview-card{grid-template-columns:105px 1fr}.preview-image{height:160px}.preview-card strong{font-size:20px}.preview-modal{grid-template-columns:1fr;padding:60px 16px 75px}.preview-arrow{position:absolute;bottom:16px}.preview-prev{left:calc(50% - 65px)}.preview-next{right:calc(50% - 65px)}.library-head{align-items:start;gap:16px}.library-head h1{font-size:40px}.approval-badge{display:none}.library-book{grid-template-columns:1fr;padding:20px}.library-cover{max-width:190px;margin:auto}.auth-panel{padding:28px 20px}.reader-toolbar{padding:0 12px}.reader-title strong{font-size:13px}.reader-controls{padding:0 12px}.site-footer{display:grid}}
