:root{font-family:Inter,"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#243a35;background:#f8f8f2;font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button,a,select{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b47b25;outline-offset:3px}
[hidden]{display:none!important}
.container{width:min(1160px,calc(100% - 64px));margin:0 auto}
.site-header{background:#fff;border-bottom:1px solid #e9ede5}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:16px;line-height:1.2;font-weight:750;letter-spacing:.03em}
.brand small{display:block;font-size:10px;font-weight:500;color:#8b9992;letter-spacing:.09em;margin-top:4px}
.brand-mark{height:35px;width:35px;background:#284b3d;border-radius:10px;display:flex;gap:3px;align-items:center;justify-content:center;transform:rotate(-4deg)}
.brand-mark span{display:block;width:3px;height:16px;border:1px solid #e4d49d;border-radius:2px;transform:rotate(13deg)}
.brand-mark span:nth-child(2){height:20px}.brand-mark span:nth-child(3){height:13px}
.header-links{display:flex;align-items:center;gap:20px}.header-link{font-size:13px;color:#667b71;font-weight:600}.header-link:hover{color:#274f3e}.header-link span{margin-left:4px}
.intro{min-height:310px;margin-top:30px;background:#e6eee3;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.intro-copy{padding:44px 0 40px 60px;position:relative;z-index:1}
.eyebrow,.section-kicker{font-size:11px;letter-spacing:.15em;font-weight:750;color:#627f6e;margin:0 0 17px}
.eyebrow{display:flex;align-items:center;gap:8px;letter-spacing:.09em}
.eyebrow span{width:22px;height:1px;background:#71917e}
h1,h2,h3,p{margin-top:0}
.intro h1{font-family:Georgia,"Songti SC",SimSun,serif;font-weight:600;letter-spacing:.03em;line-height:1.32;font-size:42px;margin:0;color:#294b3b}
.intro h1 em{font-style:normal;color:#9b7145}
.intro-description{font-size:14px;line-height:1.9;color:#62776b;margin:17px 0 20px}
.intro-link{font-size:13px;font-weight:700;color:#315846;border-bottom:1px solid #91a898;padding-bottom:5px}.intro-link span{margin-left:8px}
.intro-visual{position:relative;min-height:310px;overflow:hidden}
.visual-orbit{position:absolute;border:1px solid #bccfba;border-radius:50%;opacity:.8}
.orbit-one{width:365px;height:365px;left:80px;top:-25px}.orbit-two{width:285px;height:285px;left:120px;top:15px}
.hero-book{position:absolute;top:42px;width:145px;height:207px;border-radius:3px 9px 9px 3px;box-shadow:3px 15px 25px #54756333;display:flex;flex-direction:column;padding:28px 20px;color:#f9f5df}
.hero-book span{font-family:Georgia,"Songti SC",serif;font-size:23px;line-height:1.45;letter-spacing:.1em}.hero-book i{height:1px;width:30px;background:#f2e7c5;margin-top:17px;opacity:.8}
.hero-book small{font-size:7px;letter-spacing:.15em;margin-top:auto;opacity:.75}
.book-back{left:calc(50% - 120px);top:54px;background:#b98562;transform:rotate(-13deg)}
.book-front{left:calc(50% - 8px);background:#496b55;transform:rotate(9deg)}
.visual-caption{position:absolute;right:38px;bottom:26px;font-size:11px;color:#698476;letter-spacing:.09em}.sparkle{color:#a37a4d;font-size:17px;vertical-align:middle;margin-right:5px}
.notice{display:flex;align-items:center;gap:10px;color:#64766d;font-size:12px;margin:20px 0 62px}.notice-icon{width:17px;height:17px;border:1px solid #96a89a;border-radius:50%;display:inline-grid;place-items:center;font-family:Georgia,serif;font-size:11px;font-weight:bold}
.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.catalog-heading h2,.practice-note h2{font-family:Georgia,"Songti SC",SimSun,serif;font-size:29px;font-weight:600;letter-spacing:.04em;margin:0 0 9px;color:#274336}.catalog-heading p:not(.section-kicker){font-size:13px;color:#75847a;margin:0}.section-kicker{font-size:10px;color:#a28765;letter-spacing:.19em;margin-bottom:10px}
.download-link{font-size:12px;color:#315b46;border:1px solid #cdddcf;background:#fff;padding:10px 14px;border-radius:7px;font-weight:650;white-space:nowrap}.download-link:hover{background:#edf4ea}
.filters{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid #e9eee6;border-radius:12px;padding:16px;margin-top:25px;box-shadow:0 5px 20px #3f59460a}
.search-control{flex:1;min-width:0}.category-control{width:180px}.filters label{font-size:11px;font-weight:700;color:#6f8076;display:block;margin-bottom:7px}.input-wrap{position:relative}.input-wrap span{position:absolute;left:13px;top:6px;font-size:23px;color:#8da095;line-height:1}
.filters input,.filters select{width:100%;height:42px;border:1px solid #dfe7dd;border-radius:7px;background:#fbfcf9;color:#2e4438}.filters input{padding:0 12px 0 37px}.filters input::placeholder{color:#a0aca3}.filters select{padding:0 12px}
.search-button{display:inline-flex;justify-content:center;align-items:center;min-width:92px;height:42px;border:0;background:#315b46;color:white;border-radius:7px;cursor:pointer;font-size:13px;font-weight:700;padding:0 18px}.search-button:hover{background:#234736}
.results-header{display:flex;align-items:center;justify-content:space-between;min-height:58px;gap:12px;color:#819086;font-size:12px}.results-header p{margin:0}.clear-link{color:#426e56;font-weight:650}
.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.book-card{min-width:0;background:#fff;border:1px solid #e8ede5;border-radius:10px;overflow:hidden;box-shadow:0 4px 18px #33513c09;transition:transform .18s ease,box-shadow .18s ease}.book-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #33513c13}
.cover-link{display:block;padding:17px 17px 0}.book-cover{position:relative;height:192px;border-radius:5px;overflow:hidden;padding:20px;color:#264738;display:flex;flex-direction:column;isolation:isolate}
.book-cover::before{content:"";position:absolute;width:150px;height:150px;right:-25px;bottom:-45px;border:1px solid currentColor;opacity:.19;border-radius:50%;box-shadow:0 0 0 18px #ffffff19,0 0 0 36px #ffffff19;z-index:-1}
.cover-sage{background:#d9e7d6}.cover-apricot{background:#f3dfc6;color:#704f37}.cover-lavender{background:#e6e0ed;color:#594964}.cover-blue{background:#d8e8e7;color:#365a60}.cover-coral{background:#efd8d1;color:#80554a}.cover-cream{background:#eee8cd;color:#716341}.cover-rose{background:#eddce0;color:#71525a}.cover-mint{background:#dcebe4;color:#456857}
.cover-number{font-size:9px;letter-spacing:.18em;opacity:.75}.cover-title{font-family:Georgia,"Songti SC",SimSun,serif;font-size:24px;font-weight:600;letter-spacing:.08em;margin-top:25px;line-height:1.35;max-width:85%}.cover-decoration{width:27px;height:1px;background:currentColor;opacity:.5;margin-top:15px}.cover-author{font-size:10px;letter-spacing:.15em;margin-top:auto;opacity:.8}
.book-content{padding:18px 17px 17px}.book-category{display:inline-flex;border-radius:3px;padding:4px 7px;background:#edf4e9;color:#597b61;font-size:10px;font-weight:700}.book-heading{font-size:15px;line-height:1.5;margin:10px 0 4px;min-height:23px}.book-title:hover,.book-detail-link:hover{color:#967044}.book-author{font-size:12px;color:#91a097;margin:0}.book-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #f0f2ed;margin-top:15px;padding-top:14px}.book-price{font-family:Georgia,serif;font-size:17px;font-weight:700;color:#3c5d47}.book-detail-link{font-size:11px;color:#809286;white-space:nowrap}
.empty-state{text-align:center;padding:42px 16px;background:#fff;border:1px solid #e9eee6;border-radius:10px;color:#75847a;font-size:14px}.empty-state a{text-decoration:underline;color:#315b46}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin:32px 0 0;min-height:34px}.page-number,.page-arrow{display:inline-flex;align-items:center;justify-content:center;height:34px;border:1px solid #e3e9e1;border-radius:6px;font-size:12px;color:#6a7d70;background:#fff}.page-number{width:34px}.page-arrow{padding:0 12px}.page-number:hover,.page-arrow:hover{border-color:#7e9b84}.page-number.is-current{background:#315b46;color:#fff;border-color:#315b46}
.practice-note{margin:80px 0 70px;padding:28px 32px;border:1px solid #e2e9dd;border-radius:12px;display:grid;grid-template-columns:230px 1fr;gap:20px;align-items:center;background:#f4f6ef}.practice-note h2{font-size:22px;margin:0}.practice-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;font-size:12px;color:#65796a}.practice-items strong{font-size:10px;color:#ba9872;margin-right:12px;letter-spacing:.05em}
.first-task{grid-column:1/-1;border-top:1px solid #dfe7d9;padding-top:20px;color:#586e60;font-size:13px;line-height:1.8}.first-task h3{color:#284638;font-size:15px;margin:0 0 8px}.first-task p{margin:8px 0}.first-task a{color:#315b46;text-decoration:underline;text-underline-offset:3px}.first-task blockquote{margin:12px 0;padding:12px 16px;background:#fff;border-left:3px solid #87a98b;border-radius:4px;color:#284638}
.site-footer{border-top:1px solid #e5eae2;background:#f4f6f0}.footer-inner{height:70px;display:flex;justify-content:space-between;align-items:center;color:#93a097;font-size:11px}.footer-inner span:first-child{font-weight:700;color:#758a7c}
.detail-main{min-height:calc(100vh - 150px);padding-top:38px;padding-bottom:80px}.back-link{font-size:12px;color:#71857a}.back-link:hover{color:#294f3b}.detail-layout{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:70px;align-items:start;margin-top:35px}.detail-cover-wrap{padding:32px;background:#eaf0e7;border-radius:14px}.cover-large{height:460px;padding:40px;box-shadow:4px 10px 20px #566b5920}.cover-large .cover-title{font-size:42px;margin-top:75px}.cover-large .cover-number,.cover-large .cover-author{font-size:12px}.detail-info{padding:22px 0}.detail-category{margin-bottom:15px}.detail-title{font-family:Georgia,"Songti SC",serif;font-size:38px;letter-spacing:.04em;margin:0 0 14px;color:#284638}.detail-author{font-size:14px;color:#829185}.detail-price{font-family:Georgia,serif;font-size:27px;font-weight:700;color:#315b46;margin:30px 0}.description{border-top:1px solid #e5ebe2;padding-top:28px}.description h2{font-size:15px;letter-spacing:.04em;margin-bottom:14px}.description p{font-size:14px;color:#75877a;line-height:1.95;max-width:500px}.detail-note{margin-top:35px;color:#95a399;font-size:12px}.not-found{padding:50px 0}.not-found p{color:#71857a}.not-found .search-button{margin-top:16px}
@media(max-width:850px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-copy{padding-left:36px}.intro h1{font-size:36px}.visual-caption{right:16px}.detail-layout{gap:30px}.cover-large{height:390px}.cover-large .cover-title{font-size:32px}}
@media(max-width:580px){.container{width:calc(100% - 32px)}.header-inner{min-height:68px}.brand{font-size:14px}.header-link{font-size:11px}.intro{margin-top:16px;grid-template-columns:1fr;min-height:0}.intro-copy{padding:34px 26px 0}.intro h1{font-size:34px}.intro-description{font-size:13px}.intro-visual{min-height:190px}.orbit-one{width:280px;height:280px;left:calc(50% - 140px);top:-36px}.orbit-two{width:220px;height:220px;left:calc(50% - 110px);top:-5px}.hero-book{width:98px;height:140px;padding:17px 13px;top:17px}.hero-book span{font-size:16px}.hero-book small{font-size:5px}.book-back{left:calc(50% - 86px);top:24px}.book-front{left:calc(50% - 4px)}.visual-caption{bottom:10px;right:16px;font-size:10px}.notice{margin:16px 0 42px;align-items:start;line-height:1.6}.notice-icon{flex-shrink:0;margin-top:1px}.catalog-heading{align-items:start;flex-direction:column}.catalog-heading h2{font-size:26px}.filters{display:grid;grid-template-columns:1fr auto}.search-control{grid-column:1/-1}.category-control{width:auto}.book-grid{gap:10px}.cover-link{padding:10px 10px 0}.book-cover{height:150px;padding:14px}.cover-title{font-size:18px;margin-top:20px}.book-content{padding:14px 10px}.book-heading{font-size:13px}.book-bottom{align-items:start;flex-direction:column}.book-price{font-size:16px}.practice-note{grid-template-columns:1fr;margin:55px 0 45px;padding:24px}.practice-items{gap:14px 6px;font-size:11px}.practice-items strong{margin-right:5px}.detail-layout{grid-template-columns:1fr;gap:10px}.detail-cover-wrap{padding:24px}.cover-large{height:300px}.cover-large .cover-title{margin-top:35px}.detail-title{font-size:30px}.footer-inner{font-size:10px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.book-card{transition:none}}
@media(max-width:580px){.book-cover:not(.cover-large){height:165px}}
