:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#24332f;background:#f5f7f6;font-size:14px;letter-spacing:0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:white;border:1px solid #cbd4d0;border-radius:5px;min-height:36px;padding:7px 12px;color:#254c42}button:hover{background:#edf3f0}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #25806a;outline-offset:2px}.primary{background:#246451;color:white}.primary:hover{background:#194c3d}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4%;background:#fff;border-bottom:1px solid #dbe3df}h1{font-size:25px;margin:3px 0 0;overflow-wrap:anywhere}h2{font-size:17px;margin:0;overflow-wrap:anywhere}.eyebrow{font-size:10px;color:#647b70}.actions{display:flex;gap:8px;flex-shrink:0}main{padding:24px 4%;max-width:1600px;margin:auto}.filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,220px) minmax(120px,170px);gap:10px}input,select,textarea{border:1px solid #cbd4d0;background:white;padding:10px;border-radius:5px;min-width:0;width:100%;color:#24332f}.summary{display:flex;justify-content:space-between;gap:16px;padding:20px 0 12px;color:#687a72;font-size:12px}#job{overflow-wrap:anywhere;text-align:right}#error,#preview-error{background:#fcece9;color:#922e25;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere}#results{border-top:1px solid #d6dfda}.item{display:grid;grid-template-columns:64px minmax(0,1fr) 160px 160px 70px;align-items:center;gap:16px;padding:16px 4px;border-bottom:1px solid #d6dfda}.thumb{width:56px;height:66px;object-fit:contain;background:#e8eeeb;border-radius:3px}.file-icon{display:flex;align-items:center;justify-content:center;font-size:11px;color:#587a69;border:1px solid #ccd9d1}.name{font-weight:600;font-size:15px;overflow-wrap:anywhere;margin:0 0 5px}.path,.meta{font-size:12px;color:#6c7a73;overflow-wrap:anywhere;margin:4px 0}.snippet{font-size:13px;line-height:1.6;margin:7px 0 0;overflow-wrap:anywhere}.badge{display:inline-block;color:#2b6856;background:#e4efe9;font-size:11px;padding:3px 6px;border-radius:3px;margin:2px 4px 2px 0}.warning{background:#fff0d6;color:#896322}.danger{background:#f8e3e0;color:#923c34}mark{background:#fae6a5;color:inherit}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:24px 0}.empty{padding:65px 12px;text-align:center;color:#6d7c74}dialog{width:min(1350px,96vw);height:92vh;max-height:96vh;padding:0;border:1px solid #cbd4d0;border-radius:6px;color:inherit}dialog::backdrop{background:#172d2466}.reader-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #dce3df}.reader-heading button{flex-shrink:0;font-size:22px;width:38px}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;height:calc(100% - 67px)}.document{overflow:auto;padding:0 18px 20px;background:#e9eeeb;min-width:0}.page-tools{display:flex;align-items:center;gap:10px;padding:12px 0;position:sticky;top:0;background:#e9eeeb;z-index:1;flex-wrap:wrap}.page-tools input{width:75px}.page-tools a{margin-left:auto;color:#236450;font-size:12px}#page-view{min-height:200px}#page-image{display:block;max-width:100%;height:auto;margin:auto;background:white}#page-image[hidden],#page-text[hidden]{display:none}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.9 system-ui,sans-serif;margin:0;padding:24px;background:white}aside{overflow:auto;padding:18px;border-left:1px solid #dce3df}aside p{font-size:12px;overflow-wrap:anywhere;color:#65776d}label{display:block;font-size:12px;margin:15px 0 8px}label input,label textarea{margin-top:6px}#hide{margin-top:28px;width:100%}#saved{font-size:12px;margin-left:8px;color:#246451}#hits{display:flex;gap:6px;flex-wrap:wrap}#hits button{font-size:12px}details{margin-top:15px}summary{cursor:pointer;padding:8px}#transcript pre{max-height:300px;overflow:auto}@media(max-width:760px){header{padding:16px;align-items:flex-start;flex-direction:column;gap:12px}h1{font-size:22px}main{padding:16px}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.item{grid-template-columns:48px minmax(0,1fr) 58px;gap:10px}.thumb{width:44px;height:56px}.item .classification,.item .processing{grid-column:2;display:flex;flex-wrap:wrap;gap:4px}.item .open{grid-column:3;grid-row:1}.summary{flex-direction:column;gap:5px}#job{text-align:left}.reader-layout{display:block;height:auto}.document{max-height:65vh;overflow:auto;padding:0 10px 12px}aside{border:0}.reader-heading{padding:12px}.reader-heading h2{font-size:14px}dialog{height:94vh}.page-tools{gap:6px}.page-tools a{margin-left:0}}

.ai-panel{border:1px solid #cbd8d0;border-radius:14px;padding:20px;margin-bottom:24px;background:#fff}.ai-panel h2{margin-top:0}.ai-panel form{display:grid;gap:12px;margin-top:16px}.ai-panel label{display:grid;gap:6px}.ai-controls,#ai-pages{display:flex;gap:12px;flex-wrap:wrap}.ai-controls label{flex:1;min-width:180px}.ai-panel input,.ai-panel select,.ai-panel textarea{width:100%;box-sizing:border-box}.ai-panel .ai-consent{display:flex;align-items:center;gap:8px}.ai-consent input{width:auto}.ai-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.8}.ai-panel #ai-error{color:#9b2424}.ai-panel [hidden]{display:none!important}#ai-sources{display:grid;gap:8px}#ai-sources button{text-align:left;white-space:normal;overflow-wrap:anywhere}@media(max-width:600px){.ai-panel{padding:14px}.ai-controls{flex-direction:column}#ai-pages label{max-width:110px}}

.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid #cbd4d0;border-radius:5px;background:white;color:#254c42;text-decoration:none}.button-link:hover{background:#edf3f0}.upload-main{max-width:850px}.upload-panel{background:white;border:1px solid #cbd8d0;border-radius:14px;padding:24px}.upload-panel p{line-height:1.8}.upload-picker{border:2px dashed #adc4b9;border-radius:10px;padding:28px;background:#f5f9f7}.upload-picker input{margin-top:14px;background:white}.upload-list{padding:0;list-style:none}.upload-list li{padding:12px 0;border-bottom:1px solid #e0e7e3;overflow-wrap:anywhere}.upload-list li span{display:block;font-size:12px;color:#647b70;margin-top:5px}#upload-progress{margin:16px 0;line-height:1.8}#upload-error{color:#922e25;background:#fcece9;padding:12px}progress{width:100%;height:12px;margin:8px 0}.upload-main [hidden]{display:none!important}@media(max-width:600px){.actions{flex-wrap:wrap}.upload-panel{padding:18px}.upload-picker{padding:18px}}

/* Rural illustrated archive theme */
:root{color:#302b25;background:#f1eadc;--ink:#302b25;--red:#a62e26;--paper:#fffaf0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
body{background:radial-gradient(ellipse at 15% 0,#e3d2b350,transparent 70%),repeating-linear-gradient(0deg,#a6804210 0 1px,transparent 1px 5px),#f1eadc}
.literary-hero{position:relative;display:block;padding:26px 5% 60px;min-height:410px;border:0;border-bottom:4px solid #aa3427;background-color:#efe0c5;background-image:none;background-size:cover;background-position:center;color:#8d241f;box-shadow:0 4px 20px #58412118}
.hero-top{display:flex;justify-content:flex-end}.hero-copy{width:55%;margin-top:76px}.literary-hero h1{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-size:clamp(32px,4.3vw,64px);font-weight:900;letter-spacing:.02em;margin:0;line-height:1.3;text-shadow:0 1px 0 #fff6e0}.hero-kicker{display:inline-block;margin:22px 0 0;padding-top:14px;border-top:2px solid #a62e26;font-size:15px;letter-spacing:.22em;color:#4a352d}
.literary-hero .actions{gap:8px;flex-wrap:wrap}.literary-hero .actions button,.literary-hero .button-link{background:#fff8e9ed;border:1px solid #b69879;color:#73362c;border-radius:3px;box-shadow:0 2px 6px #3a241411}.literary-hero .actions button:hover,.literary-hero .button-link:hover{background:#fffdf5}.literary-hero .button-link{background:#9f3028;color:#fff7e8;border-color:#9f3028;font-weight:600}
main{max-width:1400px;padding:32px 5%}.ai-panel{background:#fffaf2;border:1px solid #d6c4aa;border-top:3px solid #a1382d;border-radius:3px;padding:24px 28px;box-shadow:0 4px 16px #3f302008}.ai-panel h2,.shelf-heading h2{font-family:"Songti SC","STSong",serif;font-size:25px;color:#8f3029;letter-spacing:.06em}.ai-panel>p.meta{margin-top:10px}.ai-panel details{border-top:1px solid #e1d4c2;padding-top:5px}.ai-panel summary{color:#75614d}.ai-panel form{gap:9px}.primary{background:#a1382d;border-color:#a1382d;color:#fff8eb}.primary:hover{background:#81281f}input,select,textarea{background:#fffdf8;border-color:#d5c6b3;color:#302b25;border-radius:3px}button,.button-link{border-color:#ccbda8;color:#743d32;background:#fffaf0;border-radius:3px}button:hover,.button-link:hover{background:#eae0d1}.shelf-heading{display:flex;margin:32px 0 20px}.filters{gap:12px}.summary{color:#756553}.item{border-color:#d8cbb9;background:#fffaf040;border-radius:2px}.name{color:#463328}.path,.meta{color:#7b705f}.badge{background:#ece1cf;color:#76543a;border-radius:2px}.warning{background:#f2e2bd;color:#896320}.danger{background:#efd6cc;color:#9e3c2e}.thumb{background:#e9dfcc}.pagination button{background:#fbf4e5}.upload-panel{background:#fffaf2;border-color:#d6c4aa;border-top:3px solid #a1382d;border-radius:3px}.upload-picker{background:#f6f0e3;border-color:#b8a184}.reader-heading{background:#faf2e4}.document,.page-tools{background:#e9e0d0}aside{background:#fffaf2}dialog{border-color:#d3bfa4}.ai-panel input:focus-visible,.ai-panel textarea:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible{outline-color:#a1382d}
@media(max-width:760px){.literary-hero{padding:20px 20px 28px;min-height:480px;background-size:auto 275px;background-repeat:no-repeat;background-position:right bottom;background-color:#f3e6cb}.hero-copy{width:100%;margin-top:34px}.literary-hero h1{font-size:38px}.hero-kicker{font-size:13px;margin-top:15px;padding-top:10px}.hero-top .actions{gap:6px}.hero-top .actions button,.hero-top .button-link{font-size:12px;padding:7px 9px}.ai-panel{padding:20px}main{padding:24px 16px}}
@media(max-width:420px){.literary-hero{min-height:460px;background-size:auto 245px}.literary-hero h1{font-size:32px}.hero-copy{margin-top:32px}.hero-kicker{letter-spacing:.16em}.hero-top .actions{gap:5px}}

/* Reading hub */
html{scroll-behavior:smooth;scroll-padding-top:24px}.section-nav{display:flex;gap:32px;align-items:center;border-bottom:1px solid #c9b498;padding:0 0 19px;margin-bottom:22px}.section-nav a{text-decoration:none;color:#715548;font-size:13px}.section-nav a:first-child{color:#9c3028;font-weight:650}.section-nav a:last-child{margin-left:auto}.section-nav a:hover{color:#a1382d;text-decoration:underline;text-underline-offset:5px}.library-overview{display:flex;align-items:center;gap:42px;padding:0 0 26px}.library-overview>div{display:flex;align-items:baseline;gap:10px}.library-overview strong{font-family:Georgia,"Songti SC",serif;font-size:30px;color:#8a362c;font-weight:500;font-variant-numeric:tabular-nums}.library-overview span{color:#806c57;font-size:12px}.library-overview p{margin-left:auto;color:#8f806e;font-size:11px;max-width:175px;line-height:1.7}.home-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;align-items:start}.reading-start{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}.section-heading h2{font-family:"Songti SC","STSong",serif;font-size:25px;color:#8f3029;letter-spacing:.06em}.section-heading a{font-size:11px;color:#866750;text-decoration:none}.featured-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.book-card{display:block;min-width:0;padding:0;text-align:left;border:none;background:transparent;transition:transform .2s}.book-card:hover{background:transparent;transform:translateY(-4px)}.book-cover{height:155px;position:relative;overflow:hidden;border:1px solid #ae8e63;border-left:7px solid #9f3b2f;padding:14px 14px 14px 16px;box-shadow:3px 5px 0 #35271112;background:repeating-linear-gradient(0deg,#74552709 0 1px,transparent 1px 4px),#e9dbc2;color:#7d2e26}.book-cover:after{content:"";position:absolute;left:0;right:0;bottom:0;height:26px;border-top:1px solid #9c7b5833;background:repeating-linear-gradient(160deg,transparent 0 12px,#ad5b3922 13px 14px)}.book-tone-1 .book-cover{background-color:#d8ded6;border-color:#899b8d;border-left-color:#51645b;color:#3d544d}.book-tone-2 .book-cover{background-color:#ded2b8;border-left-color:#6e543b;color:#634730}.book-tone-3 .book-cover{background-color:#e9cfc0;border-left-color:#9f4133;color:#8a362b}.book-tone-4 .book-cover{background-color:#d6d9d3;border-left-color:#555e53;color:#414f49}.book-number{float:right;font-family:Georgia,serif;font-size:11px;opacity:.6}.book-author{display:block;font-size:11px;letter-spacing:.18em;margin-bottom:17px}.cover-title{display:block;font:700 20px/1.55 "Songti SC","STSong",serif;max-width:100px}.book-info{padding:12px 0 8px}.book-title{font:600 16px/24px "Songti SC","STSong",serif;margin:0 0 7px;color:#49392b;overflow-wrap:anywhere}.book-meta{display:block;font-size:10px;color:#87765f;line-height:1.5}.book-action{display:block;font-size:11px;color:#9d3d31;margin-top:9px}.reading-shortcuts{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 24px}.reading-shortcuts button{font-size:11px;min-height:32px;border:1px solid #cbbb9e;background:#ede2d0;border-radius:20px;padding:6px 13px}.recent-heading{border-top:1px solid #cbbb9e;padding-top:20px;display:flex;justify-content:space-between;align-items:baseline}.recent-heading h3{font:600 18px/1.5 "Songti SC",serif;margin:0;color:#6c4435}.recent-heading span{font-size:10px;color:#8a7d6b}.recent-books{display:grid;gap:9px;margin-top:12px}.recent-empty{font-size:12px;color:#8a7d6b;line-height:1.8;margin:0}.recent-book{display:flex;text-align:left;align-items:center;justify-content:space-between;gap:20px;background:#f9f1e4;padding:10px 12px;border-color:#d7c7af}.recent-title{font:500 12px/20px "PingFang SC",sans-serif;flex:1;min-width:0;overflow-wrap:anywhere}.recent-page{flex-shrink:0;font-size:10px;color:#946e50}.home-layout .ai-panel{margin-bottom:0;padding:22px}.home-layout .ai-panel .ai-controls{gap:10px}.home-layout .ai-panel .ai-controls label{min-width:125px}.home-layout .ai-panel label{margin:8px 0 3px}.home-layout .ai-panel form{gap:8px}.home-layout .ai-panel #ai-answer{font-size:14px;line-height:1.9;padding:18px;background:#f7efe2;border-left:2px solid #b58e6a}.shelf-heading{justify-content:space-between;align-items:center}.shelf-heading button{font-size:11px}.item .path{font-size:10px;opacity:.75}#reading-start,#ai-panel,#bookshelf{scroll-margin-top:24px}
@media(max-width:1000px){.home-layout{grid-template-columns:1fr 1fr;gap:20px}.featured-books{grid-template-columns:repeat(2,minmax(0,1fr))}.library-overview{gap:24px}.library-overview>div{flex-direction:column;gap:3px}.library-overview p{max-width:140px}}
@media(max-width:760px){.home-layout{grid-template-columns:1fr;gap:26px}.featured-books{grid-template-columns:repeat(3,minmax(0,1fr))}.book-cover{height:150px;padding:12px 10px;border-left-width:5px}.cover-title{font-size:18px}.book-author{font-size:10px}.book-info{padding-top:10px}.book-title{font-size:15px;line-height:23px}.section-nav{gap:23px;padding-bottom:17px;margin-bottom:17px}.section-nav a{font-size:12px}.library-overview{gap:0;justify-content:space-between;flex-wrap:wrap;padding-bottom:20px}.library-overview strong{font-size:28px}.library-overview p{flex-basis:100%;max-width:none;margin:10px 0 0;font-size:10px}.reading-shortcuts{margin-bottom:18px}.home-layout .ai-panel{padding:20px}.recent-heading{padding-top:17px}.shelf-heading{flex-direction:row}}
@media(max-width:420px){.featured-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.book-cover{height:165px;padding:15px}.cover-title{font-size:21px}.section-nav{gap:19px}.section-nav a{font-size:11px}.library-overview strong{font-size:26px}.library-overview span{font-size:11px}.recent-heading span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.book-card{transition:none}.book-card:hover{transform:none}}
.book-tone-5 .book-cover{background-color:#e4d5ca;border-left-color:#805844;color:#694735}
.cover-title{max-width:none}@media(max-width:420px){.cover-title{font-size:19px}}

/* Flowing gilded ink, retaining the printed poster typography. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .literary-hero h1{color:transparent;background-image:linear-gradient(110deg,#80231f 0%,#9b2924 22%,#b5522c 36%,#b57b32 44%,#bd873c 48%,#a44929 54%,#8d271f 67%,#80231f 100%);background-size:250% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;text-shadow:none;filter:drop-shadow(0 1px 0 #fff4dabb);animation:gilded-ink-flow 7s ease-in-out infinite alternate}
 .literary-hero h1:hover{animation-duration:3.5s}
}
@keyframes gilded-ink-flow{from{background-position:100% 50%}to{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.literary-hero h1{animation:none;background:none;color:#8d241f;filter:none}}
@media print{.literary-hero h1{animation:none;background:none;color:#8d241f;filter:none}}
/* Vermilion cut-paper display letters and a little illustrated reader. */
.literary-hero h1{font-family:"Kaiti SC","STKaiti","KaiTi","Songti SC",serif;font-weight:900;background:none;color:#9f3028;animation:none;filter:none;letter-spacing:.025em;line-height:1.5}
.art-letter{display:inline-block;position:relative;color:#a5382b;background:linear-gradient(125deg,#792720 10%,#a33027 35%,#c28537 50%,#962c25 65%,#792720 95%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.45px #862a22;transform:rotate(var(--lean));text-shadow:1px 2px 0 #9b34221a;filter:drop-shadow(1px 2px 0 #e0be80);animation:gilded-ink-flow 7s ease-in-out infinite alternate;transition:opacity .12s;user-select:none}
.art-letter:nth-child(3n){font-size:1.04em;transform:rotate(var(--lean)) translateY(-2px)}.art-letter.orbit-away{opacity:0}
.little-reader-cursor{position:fixed;top:0;left:0;width:36px;height:48px;z-index:2147483647;pointer-events:none;display:none;filter:drop-shadow(0 2px 2px #4b271940)}.little-reader-cursor.visible{display:block}.little-reader-cursor svg{display:block;width:100%;height:100%}
.orbit-glyph{position:fixed;top:0;left:0;z-index:2147483646;pointer-events:none;color:#9c3027;-webkit-text-stroke:.45px #792720;text-shadow:1px 2px 0 #ddbb80;line-height:1.5;will-change:transform;text-align:center;user-select:none}
@media(hover:hover) and (pointer:fine){body.little-reader-active,body.little-reader-active *{cursor:none!important}}
@media(prefers-reduced-motion:reduce){.art-letter{animation:none;transform:none;background:none;-webkit-text-fill-color:#9f3028;filter:none}.art-letter:nth-child(3n){transform:none}}
@media print{.little-reader-cursor,.orbit-glyph{display:none}.art-letter{animation:none;background:none;-webkit-text-fill-color:#9f3028}.art-letter.orbit-away{opacity:1}}

/* Eight original acrylic glyphs; opaque handmade paint on the existing poster background. */
.literary-hero h1{letter-spacing:0;line-height:1.25}
.art-letter,.orbit-glyph{background-image:url("/assets/a7e9a87d9e2f71beb5d5ab941d4060cc6fcfb1701e4f483144d1fe996bb4dbea.png");background-size:300% 300%;background-repeat:no-repeat;background-clip:border-box;-webkit-background-clip:border-box;-webkit-text-fill-color:transparent;color:transparent;-webkit-text-stroke:0;text-shadow:none;animation:none}
.art-letter{width:1.2em;height:1.2em;line-height:1.2;vertical-align:middle;filter:drop-shadow(0 1px 0 #f5d298);transform:rotate(var(--lean))}
.art-letter:nth-child(3n){font-size:1em;transform:rotate(var(--lean)) translateY(-1px)}
.orbit-glyph{filter:drop-shadow(0 1px 1px #60301825);line-height:1.2}
@media(max-width:760px){.literary-hero h1{font-size:42px}}@media(max-width:420px){.literary-hero h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.art-letter{background-image:url("/assets/a7e9a87d9e2f71beb5d5ab941d4060cc6fcfb1701e4f483144d1fe996bb4dbea.png");background-size:300% 300%;-webkit-text-fill-color:transparent;transform:none;filter:none}.art-letter:nth-child(3n){transform:none}}
@media print{.art-letter{background-image:url("/assets/a7e9a87d9e2f71beb5d5ab941d4060cc6fcfb1701e4f483144d1fe996bb4dbea.png");-webkit-text-fill-color:transparent}}

/* Raw acrylic pigment: keep original background, layout and orbit interaction. */
.art-letter,.orbit-glyph{filter:none}.art-letter{transform:rotate(var(--lean)) scale(.93)}
@media(prefers-reduced-motion:reduce){.art-letter{transform:none}}

/* Same rural group, red banner and hoe; reinterpreted as flat acrylic on raw paper. */
.literary-hero{background-color:#f3ecdd}

/* Handmade Chinese display forms across the library; paragraph text stays legible. */
html.acrylic-type,html.acrylic-type body,html.acrylic-type body *{font-family:"Library Acrylic Hand","Kaiti SC","STKaiti","PingFang SC",sans-serif!important}
.acrylic-type .hero-kicker{font-size:17px;letter-spacing:.2em}
.acrylic-type .section-nav a{font-size:15px}
.acrylic-type h2{font-size:27px;font-weight:400;letter-spacing:.04em}
.acrylic-type h3,.acrylic-type .book-title{font-weight:400}
.acrylic-type .cover-title{font-size:22px;font-weight:400;line-height:1.6}
.acrylic-type .book-title{font-size:18px;line-height:27px}
.acrylic-type .book-author{font-size:12px}
.acrylic-type .recent-title{font-size:14px;line-height:22px}
.acrylic-type .name{font-size:17px;font-weight:400}
.acrylic-type .meta,.acrylic-type .book-meta,.acrylic-type .path{font-size:12px;line-height:1.7}
.acrylic-type .snippet,.acrylic-type #page-text,.acrylic-type #ai-answer{font-size:16px;line-height:1.95}
.acrylic-type button,.acrylic-type input,.acrylic-type select,.acrylic-type textarea{font-size:14px}
@media(max-width:760px){.acrylic-type .section-nav a{font-size:13px}.acrylic-type .book-title{font-size:17px;line-height:26px}.acrylic-type .cover-title{font-size:20px}.acrylic-type .hero-kicker{font-size:15px}}
@media(max-width:420px){.acrylic-type .section-nav{gap:16px}.acrylic-type .section-nav a{font-size:12px}}

/* Acrylic scroll entrance: native CSS identity with GSAP motion, no new imagery. */
.literary-hero{overflow:hidden;isolation:isolate}
.hero-art-shell{position:absolute;inset:0;z-index:0;pointer-events:none;transform-origin:right bottom}
.hero-art{position:absolute;inset:0;background-image:url("/assets/f0e5ad367265e0dec6a2fb292c81953f208f209e8b56c335c590cf259bdcffaf.png");background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-top,.hero-copy{position:relative;z-index:1}
.art-letter,.orbit-glyph{filter:brightness(.71) saturate(.78)}
.little-reader-cursor{width:39px;height:52px;filter:none}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#85312a;transform:scaleX(0);transform-origin:left;z-index:1000;pointer-events:none}
.book-card{perspective:850px;transition:none}
.book-card:hover{transform:none}
.book-cover{transform-origin:center;backface-visibility:hidden}
.section-nav a{position:relative}
.section-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#85312a;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.section-nav a:hover:after,.section-nav a:focus-visible:after{transform:scaleX(1)}
@media(max-width:760px){.hero-art{background-size:auto 275px;background-position:right bottom}}
@media(max-width:420px){.hero-art{background-size:auto 245px}}
@media(prefers-reduced-motion:reduce){.hero-art-shell,.hero-art,.book-card,.book-cover{transform:none!important;clip-path:none!important;opacity:1!important;visibility:visible!important}.reading-progress{display:none}.section-nav a:after{transition:none}}
@media print{.reading-progress,.little-reader-cursor{display:none}.hero-art-shell,.hero-art{transform:none!important;clip-path:none!important}}

/* Deeper brick-red pigment for both title and orbiting copies. */
.art-letter,.orbit-glyph{filter:brightness(.62) saturate(.72)!important}

/* Orange-red vernacular woodcut handwriting, matching the original red banner. */
html.acrylic-type,html.acrylic-type body,html.acrylic-type body *{font-family:"Library Wood Hand","Kaiti SC","STKaiti","KaiTi",serif!important;color:#843c2b}
html.acrylic-type{font-size:18px;line-height:1.9}
.acrylic-type h1,.acrylic-type h2,.acrylic-type h3,.acrylic-type .section-nav a,.acrylic-type .cover-title,.acrylic-type .book-title,.acrylic-type .library-overview strong{color:#ad4028}
.acrylic-type button,.acrylic-type .button-link,.acrylic-type .primary,.acrylic-type .literary-hero .button-link{background:#fff8e9;color:#ad4028;border-color:#ad4028;font-size:16px;font-weight:400;line-height:1.35}
.acrylic-type button:hover,.acrylic-type .button-link:hover,.acrylic-type .primary:hover{background:#f4e0ca}
.acrylic-type input,.acrylic-type select,.acrylic-type textarea{color:#843c2b;font-size:18px;line-height:1.6}
.acrylic-type input::placeholder,.acrylic-type textarea::placeholder{color:#843c2b;opacity:.85}
.acrylic-type p,.acrylic-type .snippet,.acrylic-type pre,.acrylic-type #page-text,.acrylic-type #ai-answer{font-size:18px;line-height:1.9}
.acrylic-type .meta,.acrylic-type .path,.acrylic-type .badge,.acrylic-type .file-icon,.acrylic-type .summary,.acrylic-type .book-author,.acrylic-type .book-number,.acrylic-type .book-meta,.acrylic-type .book-action,.acrylic-type .recent-page,.acrylic-type .section-heading a,.acrylic-type .recent-heading span,.acrylic-type .library-overview p,.acrylic-type .library-overview span,.acrylic-type .page-tools a,.acrylic-type aside p,.acrylic-type label,.acrylic-type #saved,.acrylic-type summary{font-size:14px;line-height:1.7;color:#843c2b}
.acrylic-type h2{font-size:32px}.acrylic-type h3{font-size:23px}
.acrylic-type .cover-title{font-size:27px;line-height:1.55}
.acrylic-type .book-title{font-size:23px;line-height:31px}
.acrylic-type .recent-title{font-size:18px;line-height:28px}
.acrylic-type .name{font-size:22px;line-height:1.65}
.acrylic-type .section-nav a{font-size:18px}
.acrylic-type .hero-kicker{font-size:22px}
.art-letter,.orbit-glyph{filter:none!important;-webkit-text-fill-color:transparent!important;color:transparent!important}
.art-letter{width:1.1em;height:1.2em}
.little-reader-cursor{width:42px;height:56px;filter:none}
.reading-progress,.section-nav a:after{background:#ad4028}
@media(max-width:760px){.acrylic-type .section-nav{gap:18px}.acrylic-type .section-nav a{font-size:16px}.acrylic-type .cover-title{font-size:23px}.acrylic-type .book-title{font-size:21px;line-height:29px}.acrylic-type .hero-kicker{font-size:20px}.book-cover{height:185px}}
@media(max-width:420px){.acrylic-type .section-nav{gap:14px}.acrylic-type .section-nav a{font-size:15px}.acrylic-type .cover-title{font-size:26px}.book-cover{height:195px}}

/* Agricultural scenes across the reading, question and catalog surfaces. */
.acrylic-scene{position:relative;overflow:hidden;margin:18px 0 24px;background:#f3ecdd;isolation:isolate;aspect-ratio:3/1;border:0;box-shadow:none}
.acrylic-scene img{display:block;width:100%;height:100%;object-fit:cover}
.acrylic-ripple{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;z-index:0}
.literary-hero{position:relative}
.catalog-scene{width:100%;max-height:220px;aspect-ratio:4/1;margin:20px 0}
.home-layout .acrylic-scene{margin-top:14px;margin-bottom:22px}
#labor-scene-1{max-height:240px;aspect-ratio:4/1;margin:32px 0 22px}
@media(max-width:760px){.acrylic-scene{aspect-ratio:2.5/1}.catalog-scene,#labor-scene-1{aspect-ratio:2.7/1;max-height:none}.home-layout .acrylic-scene{margin:15px 0 20px}}
@media(prefers-reduced-motion:reduce){.acrylic-ripple{display:none}.acrylic-scene{transform:none!important;opacity:1!important;visibility:visible!important}}
@media print{.acrylic-ripple{display:none}}

/* Full handwritten slogan; real glyphs keep the expanded title accurate. */
#title{font-family:"Library Wood Hand","Kaiti SC",KaiTi,serif!important;font-size:clamp(29px,3.7vw,55px);line-height:1.4}
#title .art-letter,.orbit-glyph{background:none!important;background-image:none!important;color:#ad4028!important;-webkit-text-fill-color:#ad4028!important;-webkit-text-stroke:0!important;animation:none;text-shadow:none;font-weight:400}
#title .art-letter{width:auto;height:auto;min-width:.92em;line-height:1.4}
@media(max-width:760px){#title{font-size:clamp(27px,6.7vw,38px)}.hero-copy{margin-top:28px}.hero-kicker{margin-top:10px}}
@media(max-width:420px){#title{font-size:27px}}

/* Floating acrylic gold flakes replace image deformation. */
.gold-dust-layer{position:fixed;inset:0;z-index:2147483645;pointer-events:none;overflow:hidden}
.gold-flake{position:absolute;top:0;left:0;display:block;pointer-events:none;clip-path:polygon(12% 7%,89% 0,100% 67%,68% 100%,0 80%);box-shadow:0 0 4px #dcb86a55;will-change:transform,opacity}
@media(prefers-reduced-motion:reduce){.gold-dust-layer{display:none}}
@media print{.gold-dust-layer{display:none}}

/* Dialogs use the native cursor: custom body followers sit below the top layer. */
@media(hover:hover) and (pointer:fine){
 body.little-reader-active:has(dialog[open]),body.little-reader-active:has(dialog[open]) *{cursor:auto!important}
 body dialog[open],body dialog[open] *{cursor:auto!important}
 body dialog[open] button,body dialog[open] a,body dialog[open] summary{cursor:pointer!important}
 body dialog[open] input,body dialog[open] textarea{cursor:text!important}
 body dialog[open] button:disabled{cursor:default!important}
 body:has(dialog[open]) .little-reader-cursor{display:none!important}
}

/* Smaller companion, with the same detailed illustration. */
.little-reader-cursor{width:34px;height:45px}

/* Tilt the painted figure without moving the pointer hotspot. */
.little-reader-cursor svg{transform-origin:50% 25%;transform:rotate(var(--farmer-lean,-12deg));transition:transform .22s cubic-bezier(.2,.7,.3,1)}
@media(prefers-reduced-motion:reduce){.little-reader-cursor svg{transform:none;transition:none}}
/* Soft moving sun through leaves, underneath all interactive content. */
:root{background:#f7f5ed}
body{background:#f7f5ed;isolation:isolate}
body::before,body::after{content:"";position:fixed;inset:-90px;z-index:-1;pointer-events:none;user-select:none;background-repeat:repeat;will-change:transform}
body::before{background-image:radial-gradient(ellipse 75px 110px at 15% 18%,#edc56b35 0%,#f0d99e25 45%,transparent 78%),radial-gradient(ellipse 130px 70px at 64% 46%,#edc56b30 0%,#f0d99e20 48%,transparent 79%),radial-gradient(ellipse 55px 80px at 88% 83%,#dcb55c28 0%,transparent 78%),radial-gradient(ellipse 110px 60px at 28% 78%,#f2db9f38 0%,transparent 80%);background-size:640px 700px;animation:sun-canopy-drift 38s ease-in-out infinite alternate}
body::after{background-image:radial-gradient(ellipse 100px 55px at 42% 24%,#eed18b25 0%,transparent 80%),radial-gradient(ellipse 48px 85px at 76% 70%,#ecc87d30 0%,transparent 79%),radial-gradient(ellipse 80px 60px at 12% 64%,#f2db9f30 0%,transparent 80%);background-size:510px 590px;animation:sun-canopy-counter 47s ease-in-out infinite alternate}
@keyframes sun-canopy-drift{from{transform:translate3d(-25px,-20px,0) rotate(-1deg)}to{transform:translate3d(36px,42px,0) rotate(1deg)}}
@keyframes sun-canopy-counter{from{transform:translate3d(22px,-18px,0)}to{transform:translate3d(-32px,30px,0)}}
body:has(dialog[open])::before,body:has(dialog[open])::after{animation-play-state:paused}
@media(max-width:760px){body::before{background-size:480px 580px}body::after{background-size:390px 470px}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none;will-change:auto}}
@media print{body::before,body::after{display:none}body{background:white}}

/* Subdued fragments across the viewport, never intercepting input. */
.ambient-gold{position:fixed;inset:0;overflow:hidden;z-index:2;pointer-events:none;user-select:none;contain:strict}
.ambient-gold-flake{position:absolute;display:block;width:var(--foil-size);height:calc(var(--foil-size)*1.35);background:#c79d4f;opacity:var(--foil-opacity);clip-path:polygon(16% 0,89% 12%,100% 62%,62% 100%,0 79%);pointer-events:none;animation:ambient-foil-float 32s ease-in-out infinite alternate}
.ambient-gold-flake:nth-child(3n){background:#dfbb68;clip-path:polygon(0 0,100% 28%,64% 100%,10% 74%)}
@keyframes ambient-foil-float{from{transform:translate3d(0,18px,0) rotate(var(--foil-angle))}to{transform:translate3d(var(--foil-drift),-42px,0) rotate(calc(var(--foil-angle) + 75deg))}}
body:has(dialog[open]) .ambient-gold{visibility:hidden}
body:has(dialog[open]) .ambient-gold-flake,.gold-paused .ambient-gold-flake{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ambient-gold-flake{animation:none;opacity:.12}}
@media print{.ambient-gold{display:none}}

/* Broad dry brush film title, wine red sampled from the reference. */
#title{font-size:clamp(34px,4vw,58px);line-height:1.22}
#title .art-letter,.orbit-glyph{background-image:url("/assets/6ade212149990954939ccbc3afff3fdccfa78e81f778e100f239abc57f4b1b84.png")!important;background-size:400% 400%!important;background-repeat:no-repeat!important;background-color:transparent!important;color:transparent!important;-webkit-text-fill-color:transparent!important;-webkit-text-stroke:0!important;filter:none!important}
#title .art-letter{width:1.02em;height:1.02em;min-width:0;line-height:1.02;transform:none;vertical-align:middle}
#title .art-letter:nth-child(3n){transform:none;font-size:1em}
.orbit-glyph{line-height:1.02}
@media(max-width:760px){#title{font-size:clamp(33px,8.2vw,44px)}}
@media(max-width:420px){#title{font-size:36px}}

#title{font-size:clamp(44px,4.7vw,66px)}
@media(max-width:760px){#title{font-size:clamp(36px,10.7vw,48px)}}

/* Use the unchanged brush alpha with clearer vermilion ink. */
:root{--brush-title-mask:url("/assets/6ade212149990954939ccbc3afff3fdccfa78e81f778e100f239abc57f4b1b84.png")}
#title .art-letter,.orbit-glyph{background-image:none!important;background-color:#B7A38B!important;mask-image:var(--brush-title-mask);-webkit-mask-image:var(--brush-title-mask);mask-size:400% 400%;-webkit-mask-size:400% 400%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}

/* Original film lettering: muted warm yellow, with a quiet edge on light paper. */
#title .art-letter,.orbit-glyph{filter:drop-shadow(0 1px 0 #75614c55)!important}

/* Motion Design: immediate touch feedback, calm modal entry, paused idle ambience. */
button,.button-link{transition:background-color .1s ease-out,border-color .1s ease-out,scale .12s ease-out}
button:not(:disabled):active,.button-link:active{scale:.98}
body.page-motion-idle::before,body.page-motion-idle::after,body.page-motion-idle .ambient-gold-flake{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){button,.button-link{transition:none}button:not(:disabled):active,.button-link:active{scale:1}}
