:root{--paper:#f7f6f0;--ink:#223b30;--muted:#788177;--green:#345b43;--line:#dfe2d8;--cream:#efeee4;--accent:#a6b68a;--red:#a33d35}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #b2c59a;outline-offset:4px}input:focus,select:focus{outline:2px solid #a6b68a;outline-offset:2px}[hidden]{display:none!important}.shell{width:min(1200px,calc(100% - 96px));margin:0 auto}.header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:27px;font-weight:750;letter-spacing:-1.2px;display:inline-flex;align-items:center}.brand-mark{display:inline-grid;place-items:center;margin-right:12px;width:36px;height:36px;background:var(--green);border-radius:8px;color:var(--paper);font-family:Georgia,serif;font-size:34px;font-style:italic;line-height:1}.muted{color:var(--muted)}.header nav{display:flex;align-items:center;gap:28px;font-size:14px}.nav-signup{border:1px solid var(--line);padding:9px 16px;border-radius:6px}.nav-signup span{margin-left:15px}.user-email{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{border:0;background:none;color:var(--muted);padding:0}.hero{position:relative;padding:82px 0 65px;min-height:560px}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:650;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:#789363}.hero h1{font-size:clamp(40px,5vw,66px);line-height:1.28;letter-spacing:-2px;font-weight:500;margin:24px 0 20px}.serif{font-family:Georgia,"Noto Serif SC",STSong,serif}.accent{color:#758b57}.hero-description{font-size:15px;color:#798174;line-height:1.9}.search-bar{position:relative;z-index:1;display:flex;align-items:center;width:min(830px,100%);margin-top:34px;background:#fff;border:1px solid #d7ddcf;border-radius:10px;padding:8px;box-shadow:0 8px 30px #223b3007}.search-icon{font-size:30px;padding:0 15px;line-height:1}.search-bar input{border:0;min-width:0;flex:1;padding:12px 0;background:none}.search-bar select{max-width:120px;border:0;border-left:1px solid var(--line);margin-right:15px;padding:4px 10px;background:none;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--green);border:1px solid var(--green);color:white;border-radius:6px;padding:12px 21px;font-size:14px;font-weight:550;white-space:nowrap}.button:hover{background:#24432f}.button.secondary{background:transparent;border-color:#d3dbce;color:var(--ink)}.button.secondary:hover{background:#e9eddf}.button.full{width:100%}.quick-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;font-size:12px;color:var(--muted)}.quick-search button{border:1px solid #e3e5db;background:transparent;color:#747f6d;border-radius:24px;padding:3px 13px}.hero-decoration{position:absolute;right:20px;top:58px;width:290px;height:250px;pointer-events:none}.drawn-book{position:absolute;width:127px;height:178px;border-radius:2px 8px 8px 2px;border-left:9px solid #ffffff25;box-shadow:10px 14px 20px #26352114;display:flex;flex-direction:column;justify-content:space-between;padding:20px 13px;font-family:Georgia,serif;font-size:19px;line-height:1.15;letter-spacing:1px}.drawn-book i{font-size:12px;font-style:normal}.b1{background:#50684e;color:#f3edd7;transform:rotate(-14deg);left:25px;top:29px}.b2{background:#d8c59e;color:#405644;transform:rotate(12deg);right:5px;top:52px}.b2 i{font-size:45px}.orbit{position:absolute;right:7px;top:-5px;color:#8a9e6b;font-size:52px}.how-it-works{border-top:1px solid var(--line);padding:45px 0 72px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px;gap:16px}.section-heading h2{font-size:26px;letter-spacing:-.7px;font-weight:500;margin:8px 0 0}.section-heading p{font-size:13px;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps article{border-top:1px solid var(--line);padding-top:19px}.step-number{font-family:Georgia,serif;color:#9da78e;font-size:15px}.steps h3{font-size:16px;font-weight:550;margin:13px 0 6px}.steps p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}.footer{border-top:1px solid var(--line);padding:25px 0 35px;display:flex;align-items:center;gap:24px;font-size:12px;color:var(--muted)}.footer .small{font-size:18px;color:var(--ink)}.footer>a:last-child:not(:first-child){margin-left:auto}.results-section{padding-bottom:55px}.book-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.book-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:26px;padding:24px 8px;border-bottom:1px solid var(--line);transition:background .15s ease}
.book-row:hover{background:#eff1e8}
.book-cover{position:relative;width:80px;height:112px;background:#e4e9d8;border-left:5px solid #a9b68e;border-radius:2px 5px 5px 2px;display:grid;place-items:center;overflow:hidden;font-family:Georgia,STSong,serif;font-size:32px;color:#697d55}
.book-row:nth-child(3n+2) .book-cover{background:#eadfca;border-color:#c8ac7a;color:#97784e}
.book-row:nth-child(3n+3) .book-cover{background:#dae4e3;border-color:#92aaa6;color:#537771}
.book-cover.has-cover{border-left:0;border-radius:3px;background:transparent}
.book-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--paper)}
.book-cover-placeholder{line-height:1}
.book-copy{min-width:0}
.book-copy h3{font-size:17px;line-height:1.65;margin:0;font-weight:600;overflow-wrap:anywhere}
.book-copy .book-author{font-size:13px;line-height:1.8;color:var(--muted);margin:7px 0 5px;overflow-wrap:anywhere}
.book-copy .book-meta{font-size:12px;line-height:1.7;color:var(--muted);margin:0}
.book-row-action{min-height:44px;padding:10px 18px}.badge{display:inline-block;border:1px solid #d8dfcf;background:#edf1e6;padding:3px 10px;border-radius:30px;font-size:11px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding-top:24px}.notice{border:1px solid var(--line);border-radius:8px;padding:24px;color:var(--muted);background:#f0f1e9}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field{width:100%;border:1px solid #d8ddcf;border-radius:6px;padding:12px 14px;background:#fff;color:var(--ink);min-width:0}.field::placeholder{color:#a3aa9d}label{display:block;font-size:13px;margin:17px 0 7px}.help{color:var(--muted);font-size:12px;line-height:1.8}.form-message{font-size:13px;color:var(--red);overflow-wrap:anywhere;min-height:20px}.form-message.success{color:var(--green)}.auth-layout{display:grid;grid-template-columns:1fr 440px;gap:70px;align-items:start;padding:65px 0 85px}.auth-intro{padding-top:30px}.auth-intro h1{font-size:43px;font-weight:500;line-height:1.45;letter-spacing:-1px}.auth-intro p{line-height:2;font-size:14px}.auth-intro p a{display:inline-block;border-bottom:1px solid var(--line)}.quote-mark{font-family:Georgia,serif;font-size:100px;color:#b3be9f;line-height:.8;margin-top:55px}.quote{font-family:Georgia,STSong,serif;color:#728267}.auth-card{border:1px solid var(--line);border-radius:14px;padding:34px;background:#fcfcf7;box-shadow:0 14px 50px #27412f05}.auth-card h2{font-size:27px;font-weight:500;margin:10px 0 2px}.auth-card>p{font-size:13px}.auth-card .full{margin-top:22px}.captcha-row,.code-row{display:flex;gap:10px;align-items:center}.captcha-row .field{flex:1}.captcha-button{background:#edf3ef;border:1px solid var(--line);padding:0;overflow:hidden;flex:0 0 145px;border-radius:5px;display:flex;align-items:center;height:49px}.captcha-button img{width:145px;height:49px}.code-row .button{padding:12px 13px}.auth-links{border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;font-size:12px}.page-section{padding:55px 0 90px;min-height:65vh}.page-title{font-size:39px;font-weight:500;letter-spacing:-1px;margin:15px 0}.order-list{margin:30px 0;display:grid;gap:12px}.order-row{display:flex;align-items:center;gap:22px;border:1px solid var(--line);border-radius:9px;padding:20px 24px;background:#fcfcf7}.order-row .order-title{flex:1;min-width:0}.order-row h3{font-size:15px;font-weight:550;margin:0 0 4px}.order-row p{margin:0;font-size:11px;color:var(--muted)}.recovery-box{background:#eeefe5;border-radius:9px;padding:25px;margin-top:30px}.recovery-box h3{font-size:15px;font-weight:550;margin:0}.recovery-box p{font-size:12px}.inline-form{display:flex;gap:12px}.back-link{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:25px}.order-detail{max-width:750px;margin:auto}.detail-card{background:#fcfcf7;border:1px solid var(--line);border-radius:12px;padding:32px;margin-top:25px}.detail-top{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;align-items:center}.detail-card h2{font-size:24px;margin:25px 0 5px;font-weight:500}.mono{font-family:monospace;font-size:11px;overflow-wrap:anywhere}.price-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0}.price-row strong{font-family:Georgia,serif;font-size:29px;font-weight:500}.order-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:24px 0;font-size:12px}.compact{margin-top:20px;padding:20px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:90vw;padding:12px 24px;background:var(--ink);color:white;border-radius:8px;z-index:20;font-size:13px}dialog{border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:35px;width:min(480px,calc(100% - 32px));max-height:90vh;overflow:auto}dialog::backdrop{background:#182d2566;backdrop-filter:blur(3px)}dialog h2{font-size:26px;font-weight:500}.dialog-close{position:absolute;right:18px;top:10px;background:none;border:0;font-size:28px;color:var(--muted)}.selected-title{font-size:19px}.cashier-body{min-height:100vh;display:grid;place-items:center;padding:25px}.cashier-card{max-width:450px;width:100%;border:1px solid var(--line);background:#fcfcf7;border-radius:16px;padding:35px;text-align:center}.cashier-card .eyebrow{justify-content:center}.cashier-card h1{font-size:28px;font-weight:500}.cashier-amount{font-family:Georgia,serif;font-size:48px;margin:20px 0}.qr-box{margin:20px auto;background:white;padding:18px;width:260px;border:1px solid var(--line);border-radius:10px}.qr-box img{max-width:100%;height:auto}.qr-box p{font-size:13px}.cashier-card .back-link{margin-top:20px;margin-bottom:0}.cashier-card .full{margin:8px 0}.cashier-card p{overflow-wrap:anywhere}@media(min-width:1500px){.hero{padding-top:95px;padding-bottom:85px}.hero-decoration{right:50px;top:90px;transform:scale(1.15)}}@media(max-width:1050px){.hero-decoration{transform:scale(.75);transform-origin:top right;right:0;top:80px}.hero h1{font-size:51px}.auth-layout{grid-template-columns:1fr 400px;gap:35px}.auth-intro h1{font-size:34px}}@media(max-width:760px){.shell{width:calc(100% - 36px)}.header{height:77px}.header nav{gap:16px;font-size:12px}.brand{font-size:23px}.brand-mark{width:30px;height:30px;font-size:29px;margin-right:8px}.user-email{display:none}.nav-signup{padding:6px 10px}.nav-signup span{display:none}.hero{padding:45px 0;min-height:0}.hero h1{font-size:44px}.hero-decoration{display:none}.eyebrow{font-size:9px;letter-spacing:1.6px}.hero-description{font-size:13px}.search-bar{flex-wrap:wrap;padding:7px}.search-bar .search-icon{padding:0 10px}.search-bar input{width:calc(100% - 65px);flex:auto;font-size:14px}.search-bar select{flex:1;max-width:none;border-left:0;border-top:1px solid var(--line);padding:13px 10px;margin-top:5px}.search-bar .button{margin-top:5px;flex:1}.quick-search{gap:6px;font-size:11px}.quick-search button{padding:3px 10px}.section-heading{align-items:start;flex-direction:column}.section-heading h2{font-size:24px}.steps{grid-template-columns:1fr;gap:24px}.steps article{display:grid;grid-template-columns:32px 1fr;gap:0 10px}.steps h3{margin:0}.steps p{grid-column:2}.how-it-works{padding:30px 0 45px}.footer{flex-wrap:wrap;gap:8px 20px;font-size:11px}.auth-layout{display:block;padding:30px 0 50px}.auth-intro{padding:0 0 25px}.auth-intro h1{font-size:31px;margin:12px 0}.auth-intro .quote,.auth-intro .quote-mark{display:none}.auth-card{padding:25px 20px}.page-section{padding:35px 0 55px}.page-title{font-size:29px}.order-row{padding:17px;gap:12px;flex-wrap:wrap}.order-row .order-title{flex:1 1 70%}.order-row .button{margin-left:auto}.inline-form{flex-direction:column}.detail-card{padding:22px}.detail-card h2{font-size:21px}.recovery-box{padding:20px}.cashier-card{padding:28px 20px}.cashier-card h1{font-size:25px}.auth-intro p{font-size:12px}.button{padding:11px 16px}}

@media(max-width:760px){
  .book-row{grid-template-columns:64px minmax(0,1fr);gap:10px 17px;padding:20px 2px;align-items:start}
  .book-cover{width:64px;height:94px;grid-column:1;grid-row:1 / span 2;align-self:start;font-size:27px}
  .book-copy{grid-column:2;grid-row:1}
  .book-copy h3{font-size:15px;line-height:1.65}
  .book-copy .book-author{font-size:12px;margin:5px 0}
  .book-copy .book-meta{font-size:11px}
  .book-row-action{grid-column:2;grid-row:2;justify-self:start;min-height:42px;padding:8px 13px;font-size:12px}
}
.book-row{cursor:pointer}
.book-detail-dialog{width:min(960px,calc(100% - 32px));padding:38px 42px}
.book-detail-dialog>h2{font-size:27px;line-height:1.55;margin:18px 25px 24px 0;overflow-wrap:anywhere}
.detail-book-summary{display:grid;grid-template-columns:110px minmax(0,1fr);gap:25px;align-items:center;margin:22px 0 30px}
.detail-book-cover{position:relative;width:110px;height:154px;display:grid;place-items:center;background:#e4e9d8;border-radius:4px;overflow:hidden;font-size:38px;color:#697d55}
.detail-book-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--paper)}
.detail-book-author{font-size:16px;line-height:1.8;color:var(--green);overflow-wrap:anywhere}
.detail-about{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}
.detail-about h3,.detail-payment h3{font-size:18px;font-weight:550;margin:0 0 16px}
.detail-prose{font-size:14px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}
.detail-metadata{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;margin:30px 0}
.detail-field{display:grid;grid-template-columns:95px minmax(0,1fr);gap:10px;font-size:13px;line-height:1.75}
.detail-field dt{color:var(--muted)}.detail-field dd{margin:0;overflow-wrap:anywhere}
.detail-payment{border-top:1px solid var(--line);padding-top:28px;margin-top:30px}
.detail-payment .eyebrow{margin-bottom:12px}.detail-payment .selected-title{font-size:16px}
@media(max-width:760px){.book-detail-dialog{padding:28px 21px}.book-detail-dialog>h2{font-size:21px}.detail-book-summary{grid-template-columns:80px minmax(0,1fr);gap:18px}.detail-book-cover{width:80px;height:112px}.detail-book-author{font-size:14px}.detail-metadata{grid-template-columns:1fr;gap:12px}.detail-field{grid-template-columns:85px minmax(0,1fr)}.detail-prose{font-size:13px}}
.detail-reading{margin:0 0 25px}.detail-reading [hidden]{display:none!important}
.reader-page{padding:32px 0 45px}.reader-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.reader-toolbar h1{font-size:20px;font-weight:550;line-height:1.6;margin:10px 0;overflow-wrap:anywhere}.reader-toolbar>div:first-child{min-width:0;flex:1}.reader-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.reader-actions .button{font-size:12px;padding:10px 15px}.upstream-reader{display:block;width:100%;height:80vh;height:80dvh;min-height:480px;border:1px solid var(--line);border-radius:8px;background:#fff}.reader-page>.help{margin:14px 0 20px}
@media(max-width:760px){.reader-toolbar{align-items:start;flex-direction:column;gap:8px}.reader-toolbar h1{font-size:17px}.reader-page{padding:24px 0}.upstream-reader{height:76vh;height:76dvh;min-height:400px}.reader-actions{flex-shrink:1}}
.admin-section{margin-top:38px;border-top:1px solid var(--line);padding-top:25px}.admin-section>h2{font-size:24px;font-weight:500}.admin-section .inline-form .field{min-width:0;flex:1}.admin-section .inline-form .button{white-space:nowrap}.admin-order-row{flex-wrap:wrap}.admin-order-details{flex-basis:100%;min-width:0;border-top:1px solid var(--line);padding-top:13px;font-size:13px}.admin-order-details summary{cursor:pointer}.admin-order-details .detail-metadata{margin:18px 0 0}.admin-section .order-title p{overflow-wrap:anywhere}.admin-section [hidden]{display:none!important}
.wallet-balances{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wallet-balances .detail-card{margin-top:10px}.wallet-balances strong{font-size:24px;font-weight:550}.wallet-balances p{margin-top:0}.header nav{flex-wrap:wrap}.recovery-box .mono{font-size:16px;overflow-wrap:anywhere;user-select:all}
@media(max-width:760px){.wallet-balances{grid-template-columns:1fr;gap:8px}.header{height:auto;min-height:77px;gap:14px;padding-top:14px;padding-bottom:14px}.header nav{justify-content:flex-end;gap:10px}.wallet-balances strong{font-size:21px}}
.language-picker{margin-left:auto;flex-shrink:0}.language-picker select{font:inherit;font-size:12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;max-width:170px;padding:7px 9px}.header{gap:18px}.cashier-card>.language-picker{display:block;text-align:right;margin-bottom:20px}html:not([lang^="zh"]) .hero h1{font-size:clamp(32px,4.2vw,58px);line-height:1.3;max-width:740px;overflow-wrap:anywhere}html:not([lang^="zh"]) .hero-description{max-width:650px}.button{white-space:normal}.header nav{min-width:0}.book-detail-dialog{overflow-wrap:anywhere}
@media(max-width:1050px){.header{height:auto;min-height:94px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.header nav{flex:1 1 auto;justify-content:flex-end;gap:12px}.hero-decoration{opacity:.25;pointer-events:none}}
@media(max-width:760px){.language-picker select{max-width:145px}.header .brand{margin-right:auto}.header nav{flex-basis:100%;justify-content:flex-start}.hero h1{font-size:36px}.hero-decoration{display:none}.inline-form .button{min-width:0}.section-heading h2{overflow-wrap:anywhere}}