@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
:root{--ink:#10231c;--green:#12372a;--lime:#d9ed92;--cream:#f7f4eb;--paper:#fffdf7;--muted:#69766f;--line:#dfe4dc;--orange:#f2a65a;--shadow:0 18px 60px #0c2b1e18}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);position:relative;z-index:5;background:#fffdf7e8;backdrop-filter:blur(14px);border-bottom:1px solid #163b2b10}.brand{font-size:25px;font-weight:800;letter-spacing:4px}.brand span{color:#7ca54a}.desktop-nav{display:flex;gap:28px;align-items:center}.desktop-nav a,.link-button{font-weight:600;color:#3e5048}.inline{display:inline}.link-button{border:0;background:none}.pill{background:var(--green);color:white!important;padding:9px 18px;border-radius:50px}.hero{min-height:650px;background:var(--cream);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.hero-copy{padding:105px max(7vw,40px)}.eyebrow{display:block;color:#759448;font-size:12px;font-weight:800;letter-spacing:2px;margin-bottom:14px}.hero h1,.page-head h1,.pricing-head h1,.auth h1,.reader h1{font:700 clamp(44px,6vw,78px)/.98 'Playfair Display',serif;letter-spacing:-2px;margin:0 0 26px}.hero h1 em{color:#76964c}.hero-copy>p{font-size:19px;max-width:560px;color:#56665f}.hero-actions{display:flex;gap:12px;margin:32px 0}.btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--green);border-radius:8px;padding:12px 20px;font-weight:700;background:transparent;color:var(--green)}.btn.primary{background:var(--green);color:white}.btn.ghost{border-color:#afbab4}.btn.danger{color:#a53030;border-color:#e2b3b3}.btn.wide{width:100%}.trust{margin-top:50px;display:flex;gap:12px;align-items:center}.trust b{font:700 26px 'Playfair Display'}.trust span{color:var(--muted);max-width:130px;line-height:1.25}.hero-art{background:var(--green);display:grid;place-items:center;position:relative}.orb{position:absolute;width:460px;height:460px;border-radius:50%;background:var(--lime);filter:blur(1px);opacity:.88}.phone{width:310px;min-height:490px;background:var(--paper);border:10px solid #0a2118;border-radius:38px;padding:28px;position:relative;box-shadow:0 30px 80px #0005;transform:rotate(4deg)}.phone-head{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.mini-cover{width:110px;height:145px;background:linear-gradient(135deg,#e69f52,#9b3d2e);margin:30px auto 20px;display:grid;place-items:center;color:white;font:700 48px 'Playfair Display';box-shadow:8px 8px 0 #d9ed92}.phone small{font-weight:800;color:#7f994d}.phone h3{font:700 23px/1.15 'Playfair Display'}.player{display:flex;gap:12px;align-items:center;background:#eef1e9;padding:12px;border-radius:12px}.player button{border:0;background:var(--green);color:white;border-radius:50%;width:38px;height:38px}.player div{display:flex;flex-direction:column;font-size:12px}.player span{color:var(--muted)}.wave{margin-top:20px;height:35px;background:repeating-linear-gradient(90deg,var(--green) 0 2px,transparent 2px 7px);mask:linear-gradient(0deg,transparent,#000 40%,transparent)}.section{padding:90px max(5vw,24px)}.section.compact{padding-top:32px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-head h2,.promise h2{font:700 38px 'Playfair Display';margin:0}.section-head>a{font-weight:700}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.book-card>a{display:block}.cover,.book-cover{aspect-ratio:3/4;background:#eee center/cover no-repeat;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:.25s}.book-card:hover .cover{transform:translateY(-7px)}.cover.generated,.book-cover.generated{background:linear-gradient(145deg,#284b3c,#10271e)}.cover.generated:before,.book-cover.generated:before{content:'';position:absolute;inset:12%;border:1px solid #d9ed9277}.cover>span,.book-cover>span{display:none}.cover.generated>span,.book-cover.generated>span{display:grid;place-items:center;height:100%;font:700 80px 'Playfair Display';color:var(--lime)}.cover i{position:absolute;right:12px;top:12px;background:var(--lime);padding:5px 9px;border-radius:50%;font-style:normal}.book-meta{padding-top:16px}.book-meta small{font-size:10px;font-weight:800;letter-spacing:1.3px;color:#7a9456}.book-meta h3{font:700 22px/1.15 'Playfair Display';margin:5px 0}.book-meta p{color:var(--muted);margin:0}.promise{padding:90px max(6vw,30px);background:var(--green);color:white;text-align:center}.promise>span{color:var(--lime);letter-spacing:2px;font-size:11px}.promise h2{margin:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff2b;max-width:1100px;margin:55px auto 0}.steps article{background:var(--green);padding:35px;text-align:left}.steps b{color:var(--lime)}.steps h3{font:700 24px 'Playfair Display';margin:18px 0 8px}.steps p{color:#c4d0ca}.page-head,.pricing-head{padding:80px max(6vw,30px) 45px;background:var(--cream);text-align:center}.page-head h1,.pricing-head h1{font-size:56px;margin-bottom:18px}.search{display:flex;max-width:650px;margin:30px auto 20px}.search input{flex:1;border:1px solid var(--line);padding:15px;border-radius:8px 0 0 8px}.search button{border:0;background:var(--green);color:white;padding:0 22px;border-radius:0 8px 8px 0}.chips{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.chips a{padding:7px 14px;border:1px solid var(--line);border-radius:30px;background:white}.chips a.active{background:var(--green);color:white}.reader{max-width:1180px;margin:0 auto;padding:45px 24px 100px}.back{font-weight:700;color:var(--muted)}.reader-head{display:grid;grid-template-columns:240px 1fr;gap:50px;align-items:center;margin:40px 0 55px}.reader h1{font-size:58px}.reader-head p{font-size:18px;color:var(--muted)}.audio{width:100%;margin-bottom:40px}.reader-body{display:grid;grid-template-columns:220px 1fr;gap:60px}.toc{position:sticky;top:30px;align-self:start;display:flex;flex-direction:column;gap:10px;border-left:2px solid var(--line);padding-left:20px}.toc a{color:var(--muted)}.content{max-width:720px}.content section{padding:15px 0 35px}.content h2{font:700 35px 'Playfair Display'}.lead{font:500 23px/1.55 'Playfair Display'}.prose{font-size:18px;white-space:normal}.idea{display:grid;grid-template-columns:55px 1fr;gap:20px;border-top:1px solid var(--line);padding:22px 0}.idea b{color:#7b9b4d;font:700 24px 'Playfair Display'}.idea p{font-size:17px;margin:0}.check-list{list-style:none;padding:0}.check-list li{margin:12px 0;padding-left:35px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;background:var(--lime);border-radius:50%;width:24px;height:24px;text-align:center}.local-box{background:var(--cream);border-left:4px solid var(--orange);padding:28px}.local-box span{font-size:11px;font-weight:800;letter-spacing:1.5px}.paywall{text-align:center;background:var(--cream);padding:55px;border-radius:16px}.auth{min-height:calc(100vh - 76px);display:grid;place-items:center;background:radial-gradient(circle at 80% 20%,#d9ed9288,transparent 25%),var(--cream);padding:35px}.auth>div{width:min(480px,100%);background:white;padding:45px;box-shadow:var(--shadow)}.auth .brand{display:block;margin-bottom:40px}.auth h1{font-size:43px}.stack{display:grid;gap:18px}.stack label,.editor label,.form-grid label{font-weight:700;font-size:13px}.stack input,.stack select,.editor input,.editor textarea,.editor select,.form-grid input{width:100%;margin-top:6px;padding:12px;border:1px solid #cad2cd;border-radius:7px;background:white}.switch{text-align:center}.switch a{font-weight:700}.muted{color:var(--muted)}.plans{max-width:850px;margin:50px auto 100px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:0 24px}.plan{padding:38px;border:1px solid var(--line);border-radius:15px;position:relative}.plan.featured{background:var(--green);color:white}.best{position:absolute;top:-13px;right:20px;background:var(--lime);color:var(--green);padding:5px 12px;border-radius:20px;font-size:10px;font-weight:800}.price{font-size:45px;font-weight:800}.price sup{font-size:20px}.price small{font-size:14px;font-weight:400}.plan ul{padding-left:20px;line-height:2.2}.plan.featured .btn{background:var(--lime);color:var(--green)}dialog{border:0;border-radius:14px;padding:35px;width:min(480px,90%);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#07140dbb}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:25px}.payment-numbers{display:flex;gap:10px;margin:20px 0}.payment-numbers span{flex:1;background:var(--cream);padding:10px;border-radius:7px;display:flex;flex-direction:column}.account{max-width:1000px;margin:auto;padding:80px 24px}.account h1{font:700 50px 'Playfair Display'}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:white;border:1px solid var(--line);padding:28px;border-radius:12px}.status{display:inline-block;padding:4px 9px;border-radius:20px;background:#eee;font-size:11px;font-weight:800;text-transform:uppercase}.status.active,.status.approved,.status.published{background:#dcefc8;color:#315421}.status.pending{background:#fff0c5;color:#75570c}.status.rejected{background:#f8d4d4;color:#862828}.request{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.empty,.notfound{grid-column:1/-1;padding:70px;text-align:center;background:var(--cream)}footer{background:#0b251a;color:white;text-align:center;padding:50px}footer p,footer small{color:#aebeb7;display:block}.mobile-nav{display:none}.toast,.notice{max-width:700px;margin:18px auto;padding:12px 16px;border-radius:8px;background:#e4f2db}.toast.error,.notice.error{background:#fae0e0}.install{min-height:100vh;background:var(--cream);display:grid;place-items:center;padding:30px}.install-card{background:white;width:min(720px,100%);padding:40px;box-shadow:var(--shadow)}.install-card h1{font:700 38px 'Playfair Display'}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .wide{grid-column:1/-1;margin-top:10px}
/* admin */.admin{display:grid;grid-template-columns:230px 1fr;min-height:100vh;background:#f5f6f2}.admin>aside{background:var(--green);color:white;padding:30px;position:sticky;top:0;height:100vh}.admin>aside small{display:block;color:#a9c093;margin:25px 0}.admin>aside nav{display:grid;gap:7px}.admin>aside nav a{padding:10px 12px;border-radius:6px;color:#c8d3ce}.admin>aside nav a.active,.admin>aside nav a:hover{background:#ffffff15;color:white}.admin-main{padding:38px;min-width:0}.admin-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-main h1{font:700 40px 'Playfair Display';margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.stats article{background:white;border:1px solid var(--line);padding:25px}.stats span{color:var(--muted)}.stats b{display:block;font:700 36px 'Playfair Display'}.table-wrap{overflow:auto;background:white;border:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:11px;letter-spacing:1px;color:var(--muted)}td small{display:block;color:var(--muted)}td a{color:#547536;font-weight:700}.admin-actions{margin-bottom:18px}.editor{display:grid;grid-template-columns:1fr 280px;gap:24px}.editor-main,.editor-side{background:white;border:1px solid var(--line);padding:25px;display:grid;gap:18px;align-self:start}.editor .two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.editor textarea{resize:vertical}.editor-side{position:sticky;top:20px}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto;margin:0}.payment-actions{display:flex;gap:5px}.payment-actions button{border:0;padding:6px 9px;border-radius:5px}.approve{background:#dcefc8}.reject{background:#f8d4d4}
@media(max-width:850px){body{padding-bottom:70px}.desktop-nav{display:none}.topbar{height:62px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:65px 25px}.hero h1{font-size:53px}.hero-art{min-height:520px}.book-grid{grid-template-columns:repeat(2,1fr);gap:25px 15px}.steps{grid-template-columns:1fr}.reader-head{grid-template-columns:120px 1fr;gap:22px}.reader h1{font-size:36px}.reader-body{grid-template-columns:1fr}.toc{display:none}.plans,.account-grid{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);height:68px;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--muted);font-size:11px;min-width:70px}.mobile-nav b{font-size:22px;line-height:1}.mobile-nav a.active{color:var(--green)}.admin{grid-template-columns:1fr}.admin>aside{position:relative;height:auto}.admin>aside nav{grid-template-columns:repeat(2,1fr)}.admin-main{padding:22px}.stats{grid-template-columns:1fr 1fr}.editor{grid-template-columns:1fr}.editor-side{position:static}.form-grid{grid-template-columns:1fr}}
@media(max-width:480px){.book-grid{grid-template-columns:1fr 1fr}.section{padding:55px 18px}.section-head h2{font-size:30px}.hero-actions{flex-direction:column}.phone{width:280px}.reader-head{grid-template-columns:90px 1fr}.page-head h1,.pricing-head h1{font-size:42px}.auth{padding:16px}.auth>div{padding:28px}.paywall{padding:30px 18px}.stats{grid-template-columns:1fr 1fr}.editor .two{grid-template-columns:1fr}.admin-main>header>span{display:none}}
