:root{color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#254034;background:#f7f4ec;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:300px}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid #ae8450;outline-offset:3px}.site-header{min-height:92px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#17382c;padding:13px clamp(22px,6vw,90px);color:#fbf3df}.brand-wrap{display:flex;align-items:center;gap:17px}.brand{border:0;background:none;color:#f3e5c8;font:600 37px Georgia,serif;letter-spacing:.14em;padding:0}.brand-description{font-size:9px;letter-spacing:.27em;max-width:140px;line-height:1.9;color:#d9ddcb}.nav-button{color:#f3e5c8;background:none;border:1px solid #6f877a;border-radius:999px;padding:10px 19px}.nav-button:hover{background:#2e5944}.main{min-height:calc(100vh - 165px);max-width:1160px;margin:0 auto;padding:30px 22px 95px}.hero{min-height:270px;padding:44px clamp(26px,8vw,105px);background:radial-gradient(ellipse at 85% 60%,#3a624b 0,transparent 38%),linear-gradient(120deg,#244637,#123429);color:#fbf3e7;border-radius:17px;margin:16px 0 42px;position:relative;overflow:hidden}.hero:after{content:"✧";position:absolute;color:#b9a07748;right:10%;top:20px;font-size:180px;font-family:Georgia;pointer-events:none}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.23em;color:#be9f65;font-weight:700}.hero h1{max-width:630px;font:400 clamp(37px,5vw,66px)/1.08 Georgia,serif;letter-spacing:-.03em;margin:18px 0}.hero-description{max-width:510px;color:#dce6dc;line-height:1.8}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-heading h2{font:400 clamp(24px,4vw,35px) Georgia,serif}.result-count{color:#718578;font-size:12px}.search-field{width:min(460px,100%);border:1px solid #dcdccf;background:#fffefa;border-radius:11px;padding:13px 17px;margin:7px 0 27px;color:#254034}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:23px}.book-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:8px;border:1px solid #dedfcf;border-radius:14px;padding:11px 11px 18px;background:#fffdf9;color:inherit;transition:transform .18s,box-shadow .18s}.book-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #344b3521}.cover{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:8px;background:#ecebdc}.book-overline{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#9b8158;margin:4px 2px}.book-title{font:400 22px/1.25 Georgia,serif;margin:0 2px}.book-author{color:#718576;margin:0 2px;font-size:13px}.book-cta{border-top:1px solid #e6e6d8;padding:13px 2px 0;margin-top:auto;font-size:13px;color:#37664e;font-weight:600}.empty-state{grid-column:1/-1;text-align:center;border:1px dashed #c9d0bf;border-radius:16px;padding:48px 20px;background:#fffdf9}.empty-state h3{font:400 26px Georgia,serif;margin:6px}.empty-state p{color:#708275;max-width:440px;margin:0 auto;line-height:1.7}.empty-symbol{font:60px Georgia,serif;color:#a28d6d}.notice{background:#fff7e7;border:1px solid #e3d6bd;padding:14px 18px;margin:16px 0;border-radius:8px;color:#6e582c}.footer{text-align:center;padding:25px;font-size:12px;letter-spacing:.08em;color:#bacbbf;background:#17382c}.reader-main{max-width:1000px}.reader-top{display:flex;gap:30px;align-items:start;margin:14px 0 28px}.reader-heading{flex:1;text-align:center;padding-right:110px}.reader-heading h1{font:400 clamp(26px,4vw,38px) Georgia,serif;margin:6px 0}.back-btn{background:transparent;border:0;color:#38664d;padding:15px 0;white-space:nowrap}.reading-area{background:linear-gradient(140deg,#f6f3ea,#e6ddcb);padding:clamp(12px,4vw,45px);border:1px solid #e5dccb;border-radius:18px;perspective:1500px}.book-perspective{max-width:730px;margin:0 auto;perspective:1500px}.flip-sheet{background:#fffefa;box-shadow:10px 15px 25px #3b352d24,-8px 3px 16px #2c332813;border:1px solid #ece6d8;border-radius:5px;min-height:490px;transform-origin:left center;transform-style:preserve-3d;backface-visibility:hidden}.page-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:0;min-height:490px}.page-image{width:100%;height:100%;min-height:490px;max-height:570px;object-fit:cover;background:#dedbd1}.page-text{padding:clamp(20px,3.5vw,38px);font:clamp(14px,1.6vw,18px)/1.75 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;color:#374438;align-self:center}.flip-sheet.turn-forward{animation:flip-forward .47s ease-in both}.flip-sheet.turn-backward{transform-origin:right center;animation:flip-back .47s ease-in both}@keyframes flip-forward{0%{transform:rotateY(0)}to{transform:rotateY(-85deg);opacity:.45}}@keyframes flip-back{0%{transform:rotateY(0)}to{transform:rotateY(85deg);opacity:.45}}.reader-controls{display:flex;align-items:center;justify-content:center;gap:clamp(12px,4vw,40px);margin:29px auto 10px}.control{border:1px solid #90a694;background:#fffefa;color:#29533d;border-radius:8px;padding:12px 17px;font-size:13px}.control.primary{background:#275841;border-color:#275841;color:#fff}.page-counter{font-size:13px;color:#667869;white-space:nowrap}.listen-btn{display:block;margin:25px auto 0;border:1px solid #a3b3a3;background:transparent;padding:12px 25px;border-radius:999px;color:#275841}.reader-hint{text-align:center;color:#859387;font-size:12px}.reader-main .eyebrow{color:#a48a60}@media(max-width:680px){.site-header{min-height:77px}.brand{font-size:28px}.brand-description{font-size:7px;max-width:112px}.hero{min-height:230px}.reader-top{display:block;text-align:center}.reader-heading{padding:0}.reader-top .back-btn{float:left;padding:0 0 8px}.reader-top .reader-heading{clear:both}.reading-area{padding:10px}.page-content{display:flex;flex-direction:column;min-height:unset}.page-image{min-height:unset;height:auto;max-height:430px;aspect-ratio:4/3}.page-text{padding:22px;font-size:16px}.flip-sheet{min-height:unset}.reader-controls{gap:9px}.control{padding:10px 11px;font-size:12px}.page-counter{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
