*{box-sizing:border-box}body{margin:0;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#172033;background:#f7f5ef}a{color:inherit;text-decoration:none}.hidden{display:none!important}.topbar{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e8e3d8;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.logo{width:42px;height:42px;border-radius:12px;background:#1f4f3d;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:700}.brand strong{display:block;font-size:18px}.brand span{display:block;font-size:10px;letter-spacing:1.5px;color:#8b8a83;margin-top:2px}.topbar nav{display:flex;align-items:center;gap:20px}.topbar nav a{font-size:14px;color:#4d554f}.topbar nav a.active{font-weight:700;color:#1f4f3d}.ghost,.primary,.secondary{border:0;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer}.ghost{background:#f1efe8}.primary{background:#1f4f3d;color:#fff}.secondary{background:#d8a84e;color:#172033}.hero{min-height:560px;padding:84px 8vw 70px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;background:linear-gradient(130deg,#f7f5ef 20%,#efe8d7 100%)}.hero h1{font-size:50px;line-height:1.18;margin:16px 0 18px;letter-spacing:-1px}.hero p{font-size:18px;line-height:1.8;color:#62685f;max-width:760px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#9c7530}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.mini-note{margin-top:14px;font-size:13px;color:#74786f}.book-stack{height:360px;position:relative}.book{position:absolute;width:220px;height:310px;border-radius:8px 18px 18px 8px;box-shadow:0 22px 45px #5f584633;padding:32px 25px;display:flex;flex-direction:column;justify-content:center}.book small{letter-spacing:4px;opacity:.7}.book strong{font-size:30px;line-height:1.2;margin:12px 0}.book span{font-size:13px;opacity:.75}.b1{background:#214f3e;color:white;right:155px;top:15px;transform:rotate(-8deg)}.b2{background:#d6ab55;right:42px;top:42px;transform:rotate(7deg)}.b3{background:#f7f1e5;right:0;top:70px;transform:rotate(15deg)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:48px 8vw;background:#fff}.features article{padding:24px;border-left:3px solid #d8a84e}.features b{color:#b08638}.features p{color:#74786f;line-height:1.6}.preview-section,.library-page{padding:62px 8vw 90px}.section-head,.library-banner{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-head h2,.library-banner h1{font-size:34px;margin:8px 0}.section-head a{color:#1f4f3d;font-weight:700}.shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.shelf.big{grid-template-columns:repeat(4,minmax(0,1fr))}.book-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 28px #503f1712;transition:.2s;cursor:pointer}.book-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px #503f1722}.cover{aspect-ratio:3/4;border-radius:12px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(155deg,#234f3f,#16392d);color:white;position:relative;overflow:hidden}.cover.gold{background:linear-gradient(155deg,#d9b464,#9b7129)}.cover.cream{background:linear-gradient(155deg,#efe8d7,#d8cfbc);color:#243128}.cover::after{content:"";position:absolute;left:12px;top:0;bottom:0;width:3px;background:#ffffff35}.cover small{letter-spacing:3px}.cover strong{font-size:26px;line-height:1.15}.book-meta{padding:15px 2px 0}.book-meta h3{margin:0 0 8px;font-size:18px}.book-meta p{margin:0;color:#777d74;font-size:13px}.price-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.price{font-weight:800;color:#9a742f}.badge{display:inline-block;background:#ebe4d5;color:#715c32;padding:7px 10px;border-radius:99px;font-size:12px;font-weight:700}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.chip{border:1px solid #dcd5c7;background:#fff;border-radius:99px;padding:10px 16px;cursor:pointer}.chip.active{background:#1f4f3d;color:white;border-color:#1f4f3d}footer{padding:30px 8vw;background:#1e2a25;color:#9fa9a2;font-size:12px}.modal{position:fixed;inset:0;background:#0007;display:grid;place-items:center;z-index:99;padding:20px}.modal-card{width:min(440px,100%);background:#fff;border-radius:20px;padding:28px;position:relative}.modal-card h2{font-size:30px}.modal-card label,.admin-card label{display:block;font-size:13px;font-weight:700;margin:15px 0}.modal-card input,.admin-card input,.admin-card textarea{width:100%;margin-top:7px;border:1px solid #d9d4c9;border-radius:10px;padding:13px;font:inherit}.modal-actions{display:flex;gap:10px;margin-top:20px}.close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;cursor:pointer}.message{font-size:13px;color:#696e68}.reader-body{background:#ece8df}.reader-top{height:68px;background:#1f2d27;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:10}.reader-top>div{text-align:center}.reader-top span{display:block;font-size:11px;color:#bcc7c0}.reader-wrap{min-height:calc(100vh - 130px);display:grid;grid-template-columns:60px minmax(0,820px) 60px;justify-content:center;align-items:center;gap:24px;padding:35px}.paper{min-height:78vh;background:#fffdf8;border-radius:3px;box-shadow:0 15px 50px #49402d25;padding:64px 70px;font-family:"Noto Serif SC","Songti SC",serif}.paper h1{font-size:34px;margin-top:0}.paper p{font-size:19px;line-height:2;text-align:justify}.paper .lesson-tag{color:#a87b2e;font:700 12px Inter,sans-serif;letter-spacing:2px}.turn-btn{border:0;background:#fff8;width:54px;height:54px;border-radius:50%;font-size:34px;cursor:pointer}.reader-bottom{display:flex;justify-content:center;align-items:center;gap:18px;padding:14px;background:white}.paywall{position:fixed;inset:0;background:#0b1611db;display:grid;place-items:center;z-index:30;padding:20px}.paywall>div{background:#fff;border-radius:22px;padding:38px;text-align:center;max-width:470px}.paywall a{display:block;margin-top:18px;color:#647067}.admin-page{min-height:100vh;display:grid;place-items:center;padding:40px}.admin-card{width:min(760px,100%);background:#fff;padding:36px;border-radius:22px}.admin-card textarea{font-family:monospace;line-height:1.5}.loading{text-align:center;color:#888;padding:100px 0}@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:55px}.hero h1{font-size:38px}.book-stack{display:none}.features{grid-template-columns:1fr}.shelf,.shelf.big{grid-template-columns:repeat(2,1fr)}.reader-wrap{grid-template-columns:1fr;padding:15px}.turn-btn{display:none}.paper{padding:38px 25px;min-height:75vh}.section-head,.library-banner{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.topbar{padding:0 18px}.brand span,.topbar nav>a{display:none}.hero{padding-left:22px;padding-right:22px}.hero h1{font-size:34px}.preview-section,.library-page{padding-left:20px;padding-right:20px}.shelf,.shelf.big{grid-template-columns:1fr 1fr;gap:13px}.book-card{padding:9px}.cover{padding:16px}.cover strong{font-size:19px}.book-meta h3{font-size:15px}.library-banner h1{font-size:30px}}
@keyframes pageFlip{0%{opacity:.35;transform:perspective(1200px) rotateY(-7deg) translateX(14px)}100%{opacity:1;transform:perspective(1200px) rotateY(0) translateX(0)}}.paper.page-flip{transform-origin:left center;animation:pageFlip .28s ease-out}

/* Bilingual refinements */
.bilingual-eyebrow{line-height:1.65}.bilingual-eyebrow em{display:block;font-style:normal;font-size:11px;letter-spacing:.7px;color:#a6874d;font-weight:600;margin-top:3px}.hero-en-title{font-size:17px;line-height:1.6;color:#a27c34;margin:-4px 0 12px;font-weight:600}.en-copy{font-size:14px;line-height:1.65;color:#7c7f78}.library-en-title{display:block;font-size:19px;line-height:1.4;color:#a27c34;font-weight:600;margin-top:7px}.library-banner p{font-size:16px;line-height:1.7;color:#62685f}.brand strong{white-space:nowrap}.brand span{letter-spacing:1.2px}.book strong{font-size:28px}.book span{font-size:12px;letter-spacing:.2px}.b2 strong{font-size:27px}.b3 strong{font-size:29px}@media(max-width:900px){.hero-en-title{font-size:15px}.library-en-title{font-size:16px}}@media(max-width:560px){.brand strong{font-size:15px}.brand span{display:block;font-size:8px}.hero-en-title{font-size:14px}.library-en-title{font-size:14px}.en-copy{font-size:12px}}


/* V4 hero typography cleanup */
.hero-copy{min-width:0;max-width:760px}
.hero .promo-title{font-size:38px;line-height:1.28;letter-spacing:-.5px;margin:18px 0 14px;max-width:760px}
.hero .promo-title span{display:block;white-space:nowrap}
.hero-en-title{font-size:16px;line-height:1.55;margin:0 0 20px;max-width:720px}
.hero-en-title span{display:block}
.hero-copy>p{font-size:17px;line-height:1.75;margin-top:18px;max-width:740px}
.book-stack .b1{z-index:1}.book-stack .b2{z-index:2}.book-stack .b3{z-index:3}
@media(max-width:1150px){
  .hero{grid-template-columns:1.08fr .92fr;gap:42px;padding-left:6vw;padding-right:6vw}
  .hero .promo-title{font-size:34px}
  .hero .promo-title span{white-space:normal}
}
@media(max-width:900px){
  .hero .promo-title{font-size:34px;line-height:1.3}
  .hero .promo-title span{white-space:normal}
}
@media(max-width:560px){
  .hero .promo-title{font-size:28px;line-height:1.32;letter-spacing:0}
  .hero-en-title{font-size:13px}
  .hero-copy>p{font-size:15px}
}
/* V5: calligraphic Hua logo + bilingual authentication */
.calligraphy-logo{font-family:"STKaiti","KaiTi","Kaiti SC","FZKai-Z03",serif;font-style:italic;font-weight:700;font-size:28px;line-height:1;transform:rotate(-5deg);text-shadow:1px 1px 0 rgba(255,255,255,.18)}
.btn-en{display:block;font-size:9px;font-weight:600;letter-spacing:.3px;opacity:.72;margin-top:1px}.heading-en{display:block;font-size:14px;font-weight:500;color:#8a8f88;margin-top:4px}.label-en{font-size:11px;font-weight:500;color:#92978f;margin-left:5px}.inline-en{font-size:.78em;font-weight:600;opacity:.78}

/* V6: dual book upload + PDF page reader */
.admin-wide{width:min(980px,100%)}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.admin-head h1{margin:8px 0}.admin-head p{color:#6f756f;line-height:1.7}.admin-tabs{display:flex;gap:10px;margin:26px 0 18px;border-bottom:1px solid #e5dfd2;padding-bottom:12px}.admin-tab{border:1px solid #ded7c9;background:#f7f5ef;padding:12px 16px;border-radius:12px;cursor:pointer;font-weight:800;color:#465047}.admin-tab span{display:block;font-size:10px;font-weight:600;opacity:.65;margin-top:2px}.admin-tab.active{background:#1f4f3d;color:#fff;border-color:#1f4f3d}.admin-panel{padding:8px 0}.upload-note{background:#f4efe4;border-left:3px solid #d8a84e;padding:14px 16px;border-radius:8px;color:#5f635e;line-height:1.65;font-size:14px}.admin-grid{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr;gap:14px}.file-drop{border:1px dashed #cbbfA8;border-radius:14px;padding:16px!important;background:#fcfaf5}.file-drop input{border:0!important;padding:8px 0!important}.file-drop small{display:block;color:#81857e;font-weight:500;margin-top:4px}.progress-wrap{height:10px;background:#e9e5dc;border-radius:99px;overflow:hidden;margin-top:18px}.progress-bar{height:100%;width:0;background:#1f4f3d;transition:width .2s}.admin-tip{margin-top:28px;padding:16px 18px;background:#eef3ef;border-radius:12px;color:#526058;font-size:13px;line-height:1.65}.pdf-paper{padding:0;background:#e9e5db;display:flex;align-items:center;justify-content:center;overflow:hidden}.pdf-page-wrap{width:100%;display:flex;justify-content:center;align-items:center}.pdf-page-image{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;box-shadow:0 5px 25px #0002}.paper.pdf-paper{min-height:78vh}
@media(max-width:760px){.admin-head{flex-direction:column}.admin-grid{grid-template-columns:1fr 1fr}.admin-tabs{flex-direction:column}.pdf-page-image{max-height:73vh}}
@media(max-width:480px){.admin-grid{grid-template-columns:1fr}}

.admin-nav{font-weight:800!important;color:#1f4f3d!important}.admin-dashboard{padding:42px 6vw 80px;max-width:1400px;margin:auto}.admin-gate{min-height:65vh;display:grid;place-items:center}.admin-gate .admin-card{text-align:center;max-width:520px}.dash-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.dash-head h1{font-size:38px;margin:7px 0}.dash-head p{margin:0;color:#737a73}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 24px}.stats-grid article{background:#fff;border-radius:18px;padding:22px;box-shadow:0 8px 25px #503f1710}.stats-grid span{display:block;color:#7a807a;font-size:13px}.stats-grid strong{display:block;font-size:34px;color:#1f4f3d;margin-top:6px}.dash-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.dash-tab{border:1px solid #ddd5c7;background:#fff;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.dash-tab.active{background:#1f4f3d;color:#fff;border-color:#1f4f3d}.dash-panel .admin-card{margin:0 auto}.table-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.table-head h2{margin:0 0 5px}.table-head p{margin:0;color:#7b817a}.manage-list{display:grid;gap:10px}.manage-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #ebe5da;border-radius:14px;padding:15px 16px;background:#fffdf9}.manage-main strong{display:block;font-size:15px}.manage-main span{display:block;font-size:12px;color:#7b817a;margin-top:5px}.manage-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.mini-btn{border:0;border-radius:9px;padding:8px 11px;background:#eeeae1;cursor:pointer;font-weight:700;font-size:12px}.mini-btn.ok{background:#e5f1e9;color:#21613f}.mini-btn.warn{background:#fff1d9;color:#8b641a}.mini-btn.danger{background:#f9e4e2;color:#9b3029}.loading-small{color:#8a8f89;padding:22px 0;text-align:center}
@media(max-width:800px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dash-head,.table-head,.manage-row{align-items:flex-start;flex-direction:column}.manage-actions{justify-content:flex-start}.admin-dashboard{padding-left:18px;padding-right:18px}}

/* V10 account + preview controls */
.password-wrap{position:relative;display:flex;align-items:center}.password-wrap input{width:100%;padding-right:52px}.password-eye{position:absolute;right:10px;border:0;background:transparent;cursor:pointer;font-size:20px;line-height:1;padding:8px;border-radius:8px}.password-eye:hover{background:rgba(0,0,0,.05)}.password-hint{display:block;margin-top:7px;color:#7b7b72;font-size:12px;line-height:1.45}.admin-grid select{width:100%;min-height:52px;border:1px solid #d8d1c4;border-radius:14px;background:#fff;padding:0 16px;font:inherit;font-weight:700;color:#122039}
