/* SAMNAK Reading Room — warm editorial catalog, no external fonts. */
:root{--paper:#f7f5ef;--surface:#fffef9;--ink:#202d35;--muted:#677074;--line:#d9ddd7;--accent:#ac562e;--soft:#ece9df;--reader-size:21px;--radius:5px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 Tahoma,"Noto Sans Thai",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b85c36;outline-offset:4px}button:disabled{cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;line-height:1.4}h1{letter-spacing:-1.8px}h2{font-size:29px;letter-spacing:-.7px}h3{font-size:19px}p{margin-bottom:18px}.page-width{max-width:1240px;margin:0 auto;padding-left:40px;padding-right:40px}.page-section{padding-top:48px;padding-bottom:80px}.page-title{font-size:43px;margin-bottom:30px}.eyebrow{font:11px/1.7 Tahoma,sans-serif;letter-spacing:1.6px;color:var(--muted);text-transform:uppercase;margin-bottom:16px}.quiet{color:var(--muted);font-size:14px}.small{font-size:12px}.lead{font-size:17px;line-height:1.9;color:var(--muted)}.spaced{letter-spacing:2.1px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;padding:12px 23px;background:var(--ink);color:var(--surface);border:1px solid var(--ink);border-radius:var(--radius);font-size:14px;line-height:1.5;transition:background .15s}.button:hover{background:#364951}.button-outline{background:transparent;color:var(--ink);border-color:#bac2bf}.button-outline:hover{background:var(--soft)}.button-small{min-height:41px;padding:9px 16px;font-size:13px}.button-disabled{background:#e5e5dc;border-color:#e5e5dc;color:#777f7d;width:100%}.text-button{background:none;border:0;padding:8px;color:var(--muted);min-height:44px;text-decoration:underline;text-underline-offset:5px}.demo-bar{background:#e9e7dc;border-bottom:1px solid #deded1;font-size:11px;text-align:center;color:#5c625a;padding:7px 16px;letter-spacing:.3px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#99784c;margin-right:8px;vertical-align:middle}.site-header{max-width:1320px;padding:23px 40px;display:flex;align-items:center;gap:38px;margin:0 auto;border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:12px;align-items:center;font-size:22px;white-space:nowrap;letter-spacing:-.5px}.wordmark small{display:block;font-size:8px;letter-spacing:1.3px;margin-top:2px;color:var(--muted)}.brand-stamp{display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);width:45px;height:48px;font-size:17px;border-radius:2px}.site-header nav{display:flex;gap:27px;font-size:13px;margin-left:auto}.site-header nav a{padding:9px 0}.site-header nav a:hover{color:var(--accent)}.account-menu{display:flex;align-items:center;gap:8px}.account-menu form{margin:0}.user-label{font-size:12px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skip-link{position:absolute;top:-100px;left:10px;padding:10px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.messages{max-width:1160px;margin:20px auto;padding:12px 20px;border:1px solid #bccbc0;background:#eaf1e9}.messages p{margin:0}
.editorial-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:59px;padding-bottom:55px}.intro-copy{padding-top:18px}.intro-copy h1{font-size:58px;line-height:1.55;margin-bottom:19px}.intro-copy h1 em{font-style:normal;color:var(--accent)}.intro-copy .lead{font-size:16px;margin-bottom:29px}.intro-note{font-size:11px;margin-top:17px}.intro-shelf{position:relative;display:flex;align-items:center;gap:25px;justify-content:center;border-bottom:9px solid #c4b9a4;background:#ece9de;padding:36px 20px 21px;min-height:385px}.vertical-label{position:absolute;top:20px;right:14px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:#797c70}.featured-cover{width:228px;min-height:321px;padding:29px 24px 23px;display:flex;flex-direction:column;background:#273d44;color:#f2e8cf;box-shadow:6px 8px 0 #d2cdbe;border-left:7px solid #182d34;transform:rotate(-5deg);transition:transform .2s}.featured-cover:hover{transform:rotate(-2deg)}.featured-cover .eyebrow{color:#c0cbbf;font-size:9px;letter-spacing:1px}.featured-cover strong{font-size:32px;font-weight:400;line-height:1.7;margin:14px 0;overflow-wrap:anywhere}.featured-cover>span:not(.eyebrow){font-size:12px}.featured-line{height:1px;background:#b4aa83;width:55px;margin-top:auto;margin-bottom:13px}.featured-cover small{font-size:10px;margin-top:7px;color:#c5c9b9}.shelf-caption{padding-top:100px;align-self:center;font-size:12px}.shelf-caption>span{font-size:9px;color:var(--accent);letter-spacing:1px}.shelf-caption p{font-size:14px;line-height:2;margin-top:12px}.collection-section{padding-top:17px;padding-bottom:63px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:6px}.arrow-link{font-size:13px;padding:8px 0;border-bottom:1px solid var(--line)}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.cover-link{display:block}.book-cover-image{display:block;width:100%;height:286px;object-fit:cover;background:#293d44}.detail-cover .book-cover-image{height:358px}.book-cover{height:286px;padding:25px 23px 18px;background:#293d44;color:#f4e7c9;display:flex;flex-direction:column;border-left:6px solid rgba(0,0,0,.15);position:relative;transition:transform .18s;overflow:hidden}.cover-link:hover .book-cover{transform:translateY(-4px)}.book-cover:after{content:"";position:absolute;inset:12px;border:1px solid currentColor;opacity:.18;pointer-events:none}.cover-imprint{font-size:9px;letter-spacing:1px;opacity:.8}.book-cover strong{font-size:27px;font-weight:400;line-height:1.65;margin-top:25px;position:relative;z-index:1}.cover-rule{width:35px;height:1px;background:currentColor;margin-top:auto;opacity:.5}.cover-caption{font-size:10px;margin-top:12px;max-width:75%;opacity:.8}.cover-mark{position:absolute;right:20px;bottom:13px;font-size:36px;font-family:Georgia,serif;font-style:italic;opacity:.55}.cover-rust,.cover-terracotta,.cover-orange{background:#914b36;color:#f7e5c5}.cover-sage,.cover-green,.cover-forest{background:#546652;color:#f1ecd2}.cover-sand,.cover-gold,.cover-ochre,.cover-amber{background:#bf995c;color:#352c24}.cover-burgundy,.cover-red{background:#693d45;color:#f4e4d1}.cover-slate,.cover-blue,.cover-navy{background:#344956;color:#e2e6da}.book-meta{padding-top:17px}.book-meta .eyebrow{color:var(--accent);font-size:10px;margin:0 0 7px;letter-spacing:.5px}.book-meta h3{margin-bottom:6px;font-size:18px}.book-meta>p{font-size:12px;color:var(--muted);margin-bottom:16px}.book-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted)}.book-bottom a{color:var(--ink);font-size:12px}.imprint-section{display:grid;grid-template-columns:1fr 2fr;gap:80px;padding-top:42px;padding-bottom:55px;border-top:1px solid var(--line)}.imprint-list>a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:20px 0}.imprint-list strong{display:block;font-size:22px;font-weight:400}.imprint-list small{display:block;color:var(--muted);margin-top:7px}.site-footer{max-width:1240px;margin:0 auto;padding:38px 40px 26px;display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line)}.site-footer strong{font-size:19px;font-weight:400}.site-footer p{font-size:11px;color:var(--muted);margin-top:6px}.site-footer>div:nth-child(2){display:flex;justify-content:flex-end;gap:22px;flex-wrap:wrap;font-size:11px;padding-top:5px}.site-footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:9px;color:var(--muted);letter-spacing:.6px}
.search-form{display:flex;gap:12px;max-width:900px;margin:24px 0 10px}.search-form input,.search-form select{min-height:49px;padding:10px 16px;border:1px solid #bfc6be;background:var(--surface);color:var(--ink);border-radius:var(--radius);min-width:0}.search-form input{flex:1}.search-form select{max-width:230px}.compact{align-items:center;margin-bottom:30px}.compact p{margin:0;font-size:12px}.compact a{font-size:12px}.back-link{font-size:12px;display:inline-block;margin-bottom:31px;color:var(--muted)}.book-detail{display:grid;grid-template-columns:255px 1fr;gap:55px;padding-bottom:50px}.detail-cover .book-meta{display:none}.detail-cover .book-cover{height:358px}.detail-cover .book-cover strong{font-size:32px}.detail-copy h1{font-size:38px;margin-bottom:13px}.byline{font-size:13px;color:var(--muted);margin-bottom:25px}.description{max-width:730px;font-size:15px;line-height:1.95}.inline-facts{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:22px 0}.inline-facts span+span{border-left:1px solid var(--line);padding-left:16px}.detail-actions{display:flex;gap:12px;flex-wrap:wrap}.detail-actions form{margin:0}.demo-note{font-size:11px;color:var(--muted);margin-top:21px;padding:13px 0;border-top:1px solid var(--line)}.contents-layout{display:grid;grid-template-columns:1fr 300px;gap:48px;border-top:1px solid var(--line);padding-top:37px}.contents-layout .section-heading h2{font-size:25px}.contents-layout .section-heading .quiet{font-size:11px}.chapter-list{list-style:none;margin:0;padding:0}.chapter-list li{border-bottom:1px solid var(--line)}.chapter-list a{display:flex;align-items:center;gap:20px;padding:18px 8px;font-size:14px}.chapter-list a:hover{background:var(--soft)}.chapter-number{color:#90958f;font-family:Georgia,serif;font-size:17px;min-width:27px}.chapter-list small{margin-left:auto;white-space:nowrap;color:var(--accent);font-size:10px}.pack-panel{align-self:start;background:#eeece4;padding:26px}.pack-panel h2{font-size:24px}.pack-panel>.quiet{font-size:12px}.pack{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding:17px 0}.pack strong{font-size:14px;font-weight:400}.pack>span{font-size:12px;color:var(--muted)}.pack>small{font-size:10px;color:var(--muted)}.pack-panel .button{margin-top:15px}
.reader-shell{--reader-paper:#FFFFFF;--reader-ink:#292f30;background:var(--reader-paper);color:var(--reader-ink);min-height:70vh;transition:background .2s}.reader-shell[data-theme='dark']{--reader-paper:#20282c;--reader-ink:#d9ded5}.reader-shell[data-theme='sepia']{--reader-paper:#efe4ce;--reader-ink:#473c2d}.reader-toolbar{display:flex;justify-content:space-between;align-items:center;max-width:940px;margin:auto;padding:16px 30px;border-bottom:1px solid #8b928c44;font-size:12px}.reader-controls{display:flex;gap:8px}.reader-controls button{min-width:44px;height:42px;border:1px solid #8b928c66;border-radius:4px;background:transparent;color:inherit;font-size:17px}.reading-page{max-width:780px;margin:0 auto;padding:60px 35px 65px}.reading-page h1{font-size:33px;margin-top:24px;line-height:1.6;letter-spacing:-.6px}.reading-page .eyebrow{color:inherit;opacity:.65;font-size:11px;letter-spacing:.4px}.reading-divider{height:1px;width:55px;background:var(--accent);margin:33px 0}.chapter-body{font-size:var(--reader-size);line-height:2.2;overflow-wrap:anywhere}.chapter-body p{margin-bottom:1.3em}.reading-end{text-align:center;font-size:12px;opacity:.5;margin:45px 0}.chapter-navigation{display:flex;justify-content:space-between;gap:12px}.reader-shell[data-theme='dark'] .button-outline{color:#e0e4dd;border-color:#84938b}.reader-shell[data-theme='dark'] .button:not(.button-outline){background:#d7dfd2;color:#20282c}.progress-form{text-align:center;margin-top:27px}.progress-form>span{display:block;font-size:12px}.lock-page{max-width:730px;padding-top:80px;padding-bottom:110px;text-align:center}.lock-page h1{font-size:42px}.notice-box{background:var(--soft);padding:25px;margin:27px auto;max-width:440px}.notice-box p{font-size:13px;color:var(--muted);margin:12px 0 0}.empty-state{grid-column:1/-1;text-align:center;padding:65px 25px;width:100%;border:1px dashed #c6cabe;background:#f0eee5}.empty-state h2{font-size:26px}.empty-state p{color:var(--muted);font-size:14px}.empty-letter{display:block;font:italic 65px Georgia,serif;color:#b3b7a7;margin-bottom:18px}.library-grid{margin-top:37px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:75px;padding-bottom:90px;max-width:1110px}.auth-story{padding-top:35px}.auth-story h1{font-size:43px;line-height:1.7;margin-bottom:22px}.auth-story>p:last-child{color:var(--muted)}.auth-card{background:var(--surface);border:1px solid var(--line);padding:33px}.auth-card h2{margin-bottom:8px}.auth-card>.quiet{font-size:12px}.auth-card form>p{margin-bottom:18px}.auth-card label{font-size:13px;display:block;margin-bottom:7px}.auth-card input:not([type='hidden']){width:100%;min-height:46px;border:1px solid #bdc5bb;background:#fff;color:#253335;padding:9px 12px;border-radius:4px}.auth-card .helptext{display:block;font-size:10px;color:var(--muted);margin-top:7px}.auth-card ul{font-size:10px;color:var(--muted);padding-left:17px}.auth-card .errorlist{color:#a12e1e;font-size:12px;list-style:none;padding-left:0}.auth-card .button{width:100%;margin-top:5px}.auth-footer{font-size:12px;text-align:center;padding-top:22px;margin-bottom:15px}.auth-footer a{color:var(--accent);text-decoration:underline}.studio-page{padding-top:65px;padding-bottom:80px}.studio-page h1{font-size:49px;line-height:1.6}.studio-list{margin-top:45px;border-top:1px solid var(--line)}.studio-list>div{display:grid;grid-template-columns:45px 1fr 1.3fr 130px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:25px 0}.studio-list h2{font-size:20px;margin:0}.studio-list p{font-size:12px;color:var(--muted);margin:0}.studio-list>div>span{color:var(--accent);font:italic 22px Georgia,serif}.studio-list small{font-size:11px;color:var(--muted)}.policy-page{max-width:850px;padding-top:60px;padding-bottom:90px}.policy-page h1{font-size:36px}.policy-page h2{font-size:22px;margin-top:32px}.policy-page>p{color:var(--muted);line-height:2}
@media(min-width:1400px){.editorial-intro{padding-top:73px;padding-bottom:64px}.intro-copy h1{font-size:62px}.intro-shelf{min-height:410px}.book-cover{height:300px}}@media(max-width:1000px){.site-header{gap:20px;padding:18px 25px;flex-wrap:wrap}.site-header nav{gap:20px}.wordmark{font-size:19px}.user-label{display:none}.page-width{padding-left:27px;padding-right:27px}.editorial-intro{gap:25px}.intro-copy h1{font-size:43px}.intro-shelf{min-height:345px}.featured-cover{width:195px;min-height:280px}.featured-cover strong{font-size:27px}.shelf-caption{display:none}.book-grid{gap:20px}.book-cover{height:250px;padding:21px 18px 17px}.book-cover strong{font-size:24px}.book-detail{gap:33px;grid-template-columns:220px 1fr}.detail-copy h1{font-size:32px}.contents-layout{gap:28px;grid-template-columns:1fr 260px}.auth-layout{gap:45px}.auth-story h1{font-size:36px}.studio-list>div{grid-template-columns:35px 1fr 1fr}.studio-list small{grid-column:2/4}.site-footer{padding-left:27px;padding-right:27px}}@media(max-width:720px){.site-header{padding:15px 20px;gap:14px}.wordmark{font-size:18px}.brand-stamp{width:36px;height:40px;font-size:14px}.wordmark small{font-size:7px;letter-spacing:.7px}.account-menu{margin-left:auto}.site-header nav{order:3;margin-left:0;width:100%;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:9px;font-size:12px}.site-header nav a{padding:4px 0}.account-menu .button-small{padding:8px 11px;font-size:11px}.page-width{padding-left:20px;padding-right:20px}.editorial-intro{grid-template-columns:1fr;padding-top:28px;padding-bottom:35px;gap:30px}.intro-copy{padding-top:0}.intro-copy h1{font-size:44px;line-height:1.5;margin-bottom:18px}.intro-copy .eyebrow{font-size:9px;letter-spacing:1.2px}.intro-copy .lead{font-size:14px}.intro-shelf{min-height:282px;padding:23px}.featured-cover{width:190px;min-height:250px;padding:21px}.featured-cover strong{font-size:25px;line-height:1.6;margin:8px 0 20px}.featured-cover .eyebrow{font-size:8px}.shelf-caption{display:block;padding-top:45px}.vertical-label{right:10px;font-size:8px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 17px}.book-cover-image{height:240px}.detail-cover .book-cover-image{height:282px}.book-cover{height:240px;padding:21px 15px 15px;border-left-width:5px}.book-cover strong{font-size:22px;line-height:1.6;margin-top:22px}.book-cover:after{inset:9px}.cover-imprint{font-size:8px}.cover-caption{font-size:9px}.cover-mark{font-size:29px;right:15px}.book-meta h3{font-size:15px;line-height:1.6}.book-meta .eyebrow{font-size:9px}.book-meta>p{font-size:11px;margin-bottom:12px}.book-bottom{font-size:10px}.book-bottom a{font-size:11px}.section-heading{margin-bottom:23px}.section-heading h2{font-size:25px}.arrow-link{font-size:12px}.collection-section{padding-bottom:35px}.imprint-section{grid-template-columns:1fr;gap:8px;padding-top:30px;padding-bottom:34px}.imprint-section h2{font-size:28px}.imprint-section h2 br{display:none}.imprint-list>a{padding:18px 0}.imprint-list strong{font-size:19px}.imprint-list small{font-size:11px}.site-footer{grid-template-columns:1fr;padding:26px 20px 22px;gap:10px}.site-footer>div:nth-child(2){justify-content:flex-start;margin-bottom:15px}.site-footer>small{font-size:8px}.page-section{padding-top:30px;padding-bottom:50px}.page-title{font-size:33px}.search-form{display:grid;grid-template-columns:1fr 95px;gap:10px}.search-form input{grid-column:1/-1}.search-form select{max-width:none;width:100%;font-size:13px}.search-form .button{padding:10px 15px}.compact p{font-size:10px}.book-detail{grid-template-columns:1fr;gap:28px}.detail-cover{max-width:210px;margin:0 auto;width:100%}.detail-cover .book-cover{height:282px}.detail-cover .book-cover strong{font-size:26px}.detail-copy h1{font-size:31px}.detail-copy>.eyebrow{font-size:10px}.description{font-size:14px}.contents-layout{grid-template-columns:1fr;gap:30px;padding-top:28px}.contents-layout .section-heading .quiet{font-size:10px}.chapter-list a{gap:10px;font-size:13px;padding:17px 0}.chapter-list small{font-size:9px}.chapter-number{font-size:15px}.detail-actions .button{font-size:12px;padding:12px 15px}.pack-panel{padding:24px}.reading-page{padding:34px 21px 45px}.reading-page h1{font-size:26px;line-height:1.7}.chapter-body{font-size:var(--reader-size);line-height:2.15}.reader-toolbar{padding:12px 18px}.reader-controls{gap:6px}.reader-controls button{height:40px;min-width:41px;font-size:16px}.chapter-navigation .button{font-size:12px;padding:12px 16px}.auth-layout{grid-template-columns:1fr;gap:18px;padding-top:22px;padding-bottom:45px}.auth-story{padding-top:0}.auth-story h1{font-size:30px;line-height:1.5}.auth-story h1 br{display:none}.auth-story>p:last-child{font-size:13px}.auth-story .eyebrow{font-size:9px}.auth-card{padding:25px}.studio-page{padding-top:38px;padding-bottom:45px}.studio-page h1{font-size:39px}.studio-page .lead{font-size:14px}.studio-list>div{grid-template-columns:28px 1fr;gap:10px 14px}.studio-list h2{font-size:18px}.studio-list p,.studio-list small{grid-column:2}.lock-page{padding-top:45px;padding-bottom:65px}.lock-page h1{font-size:34px}.empty-state{padding:40px 17px}.empty-state h2{font-size:22px}}@media(max-width:370px){.book-cover{height:220px}.book-cover strong{font-size:20px}.wordmark small{display:none}.featured-cover{width:175px}.shelf-caption{font-size:11px}.intro-copy h1{font-size:39px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Writer create: a calm configure surface, isolated from catalog search styles. */
.writer-create{padding-top:40px;padding-bottom:72px}.writer-create-header{max-width:760px;margin-bottom:30px}.writer-create-header .page-title{margin-bottom:8px}.writer-create-header .quiet{margin-bottom:0}.writer-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:44px;align-items:start}.writer-create-main{min-width:0}.writer-create-form{max-width:760px;margin:0}.writer-create-field{margin-bottom:23px}.writer-create-field label{display:block;margin-bottom:7px;font-size:14px;font-weight:600}.writer-create-field input,.writer-create-field select,.writer-create-field textarea{display:block;width:100%;min-height:48px;padding:11px 14px;border:1px solid #bfc6be;border-radius:var(--radius);background:var(--surface);color:var(--ink)}.writer-create-field textarea{min-height:148px;resize:vertical;line-height:1.8}.writer-create-field input::placeholder,.writer-create-field textarea::placeholder{color:#858b88}.writer-create-field select{cursor:pointer}.writer-create-help{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.writer-create-field.has-errors input,.writer-create-field.has-errors select,.writer-create-field.has-errors textarea{border-color:#a13c32}.writer-create-field-errors,.writer-create-error-summary ul{margin:5px 0 0;padding-left:22px;color:#8e3027;font-size:13px}.writer-create-error-summary{margin:0 0 22px;padding:14px 17px;border-left:4px solid #a13c32;background:#f5e8e3;color:#70271f}.writer-create-error-summary ul{margin-top:4px}.writer-create-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.writer-create-actions .button{min-height:48px}.writer-create-aside{padding-top:4px}.writer-create-note{padding:0 0 22px;border-bottom:1px solid var(--line)}.writer-create-note+.writer-create-note{padding-top:21px}.writer-create-note .eyebrow{margin-bottom:5px}.writer-create-note h2{margin-bottom:8px;font-size:19px;letter-spacing:0}.writer-create-note p:last-child{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.8}
@media(max-width:800px){.writer-create{padding-top:30px;padding-bottom:52px}.writer-create-layout{grid-template-columns:minmax(0,1fr);gap:34px}.writer-create-aside{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:0}.writer-create-note,.writer-create-note+.writer-create-note{padding:0;border:0}.writer-create-actions{margin-top:25px}}
@media(max-width:520px){.writer-create-header{margin-bottom:25px}.writer-create-header .page-title{font-size:34px}.writer-create-aside{grid-template-columns:1fr;gap:19px;border-top:1px solid var(--line);padding-top:21px}.writer-create-note,.writer-create-note+.writer-create-note{padding:0 0 17px;border-bottom:1px solid var(--line)}.writer-create-actions{display:grid;grid-template-columns:1fr 1fr}.writer-create-actions .button{width:100%;padding-left:12px;padding-right:12px}.writer-create-field input,.writer-create-field select,.writer-create-field textarea{font-size:16px}}

.writer-cover-preview{width:min(100%,280px);margin:24px 0}.writer-cover-preview img,.writer-cover-current{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:12px}.writer-cover-preview figcaption{margin-top:8px;color:var(--muted);font-size:13px}.writer-cover-form .writer-cover-current{max-width:240px;margin:0 0 24px}.writer-cover-form .writer-create-main{max-width:680px}
@media(max-width:520px){.writer-cover-preview{width:min(72vw,240px)}.writer-cover-actions .button{width:100%}}


/* Public reading room refresh: cinnabar, warm paper, and immediate story browsing. */
:root{--paper:#FFFFFF;--surface:#FFFFFF;--ink:#292522;--muted:#746d66;--line:#dedede;--accent:#A83525;--soft:#f4f4f3;--radius:2px}
.demo-bar{background:#f4f4f3;border-color:#dedede;color:#555}.status-dot{background:#A83525}
.site-header{gap:26px;border-color:var(--line)}.brand-stamp{border-radius:0 0 9px 0;border-color:var(--accent);color:var(--accent);transform:rotate(-2deg)}
.button{background:var(--accent);border-color:var(--accent);color:#fff}.button:hover{background:#84291D}.button-outline{background:transparent;color:var(--ink);border-color:#c7c7c7}.button-outline:hover{background:#f4f4f3}
.home-browse{padding-top:30px}.home-browse-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.home-browse-head .eyebrow{color:var(--accent);margin-bottom:2px}.home-browse-head h1{font-size:29px;letter-spacing:-.5px;margin:0}.home-book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-book-grid .book-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:17px;align-items:center;padding:14px;background:var(--surface);border:1px solid var(--line);min-width:0}.home-book-grid .book-cover{height:164px;padding:14px 12px 12px;border-left-width:4px}.home-book-grid .book-cover:after{inset:8px}.home-book-grid .book-cover strong{font-size:17px;line-height:1.5;margin-top:14px}.home-book-grid .cover-imprint{font-size:8px}.home-book-grid .cover-caption{font-size:8px}.home-book-grid .cover-mark{font-size:24px;right:13px;bottom:8px}.home-book-grid .book-meta{padding:0;min-width:0}.home-book-grid .book-meta h3{font-size:16px;line-height:1.5}.home-book-grid .book-meta>p{margin-bottom:12px}.book-meta h3 a:hover,.book-bottom a:hover,.arrow-link:hover{color:var(--accent)}
.editorial-intro{padding-top:45px;padding-bottom:42px;grid-template-columns:.85fr 1.15fr;gap:56px}.intro-copy{padding-top:10px}.intro-copy h2{font-size:38px;line-height:1.55;letter-spacing:-1px;margin-bottom:12px}.intro-copy h2 em{font-style:normal;color:var(--accent)}.intro-copy .lead{font-size:15px}.intro-shelf{background:#f0eae1;border-bottom:5px solid #cfc2b6;min-height:300px}.featured-cover{background:#71383a;color:#f8eee0;border-left-color:#51292a;box-shadow:5px 7px 0 #d7c9bc;transform:rotate(-2deg);min-height:260px;width:188px;padding:22px 19px 17px}.featured-cover strong{font-size:25px;line-height:1.55}.featured-cover .eyebrow{color:#ead0bc}.shelf-caption{padding-top:60px}.vertical-label{color:#81736b}.imprint-section{padding-top:35px;border-color:var(--line)}
.book-cover{background:#623a3a;color:#f8eee0}.cover-rust,.cover-terracotta,.cover-orange{background:#8e4940;color:#fff0de}.cover-burgundy,.cover-red{background:#71383a;color:#f8eade}.cover-sage,.cover-green,.cover-forest{background:#536052;color:#f0ebdd}.cover-sand,.cover-gold,.cover-ochre,.cover-amber{background:#b18b62;color:#2e2924}
@media(max-width:900px){.site-header{padding:18px 24px;gap:14px;flex-wrap:wrap}.site-header nav{order:3;flex-basis:100%;margin-left:0;gap:20px;overflow-x:auto;white-space:nowrap}.account-menu{margin-left:auto}.home-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-intro{gap:28px}}
@media(max-width:620px){.page-width{padding-left:19px;padding-right:19px}.site-header{padding:14px 19px}.wordmark{font-size:19px}.wordmark small{font-size:7px;letter-spacing:.8px}.brand-stamp{width:39px;height:42px;font-size:15px}.account-menu .button{min-height:38px;padding:7px 10px}.user-label{max-width:76px}.site-header nav{gap:17px;font-size:12px;padding-bottom:2px}.home-browse{padding-top:22px}.home-browse-head h1{font-size:25px}.home-book-grid{grid-template-columns:1fr;gap:10px}.home-book-grid .book-card{grid-template-columns:84px minmax(0,1fr);gap:13px;padding:10px}.home-book-grid .book-cover{height:124px;padding:10px 9px}.home-book-grid .book-cover strong{font-size:15px;margin-top:10px}.home-book-grid .cover-caption{font-size:7px}.home-book-grid .book-meta h3{font-size:15px}.editorial-intro{grid-template-columns:1fr;gap:17px;padding-top:36px;padding-bottom:35px}.intro-copy h2{font-size:32px}.intro-copy .lead br{display:none}.intro-shelf{min-height:245px;padding:28px 15px 16px;gap:18px}.featured-cover{width:160px;min-height:212px;padding:17px 14px}.featured-cover strong{font-size:21px}.shelf-caption{padding-top:48px}.imprint-section{grid-template-columns:1fr;gap:12px}.site-footer{padding-left:19px;padding-right:19px;grid-template-columns:1fr}.site-footer>div:nth-child(2){justify-content:flex-start;gap:12px}.site-footer>small{grid-column:auto}.search-form{flex-wrap:wrap}.search-form input{flex-basis:100%}.search-form select{flex:1;max-width:none}.detail-actions .button{width:100%}}
@media(max-width:360px){.wordmark small{letter-spacing:.2px}.account-menu .button{font-size:11px;padding:6px 8px}.home-book-grid .book-card{grid-template-columns:74px minmax(0,1fr)}}


.home-browse-head{position:relative;padding-bottom:12px}.home-browse-head:after{content:"";position:absolute;left:0;bottom:0;width:108px;height:4px;background:var(--accent);border-radius:70% 25% 65% 20%;transform:rotate(-1.5deg);opacity:.82}.home-browse-head .eyebrow{font-size:12px;letter-spacing:.35px;color:#6e625d}.reading-invitation{width:198px;min-height:252px;padding:25px 21px 20px;background:#fbf7ef;color:#49312e;box-shadow:5px 7px 0 #d7c9bc;transform:rotate(-1.6deg);display:flex;flex-direction:column;position:relative}.reading-invitation:after{content:"";position:absolute;inset:10px;border:1px solid #aa8f79;opacity:.35;pointer-events:none}.reading-invitation .eyebrow{color:var(--accent);font-size:9px;margin-bottom:15px}.reading-invitation strong{font-size:24px;font-weight:400;line-height:1.55}.reading-invitation a{font-size:11px;color:var(--accent);margin-top:12px}.brush-line{height:5px;width:62px;margin-top:auto;background:var(--accent);border-radius:40% 5% 55% 10%;transform:rotate(-3deg);opacity:.78}.pack-panel{background:#f4f0e9;border:1px solid #e4dbd0;padding:19px 21px;align-self:start}.pack-panel .eyebrow{color:#81736b}.pack-panel h2{font-size:20px}.pack-panel .button-disabled{background:transparent;border-color:#d8cfc4;color:#7e746c;font-size:12px;min-height:40px}.pack{padding:12px 0;border-top:1px solid #e1d8ce}.pack small{color:#82776e}.contents-layout{grid-template-columns:minmax(0,1fr) 250px;gap:35px}
@media(max-width:620px){.reading-invitation{width:160px;min-height:214px;padding:18px 15px}.reading-invitation strong{font-size:20px}.contents-layout{grid-template-columns:1fr}.pack-panel{max-width:none}}
.intro-shelf{background:#f4f4f3;border-bottom-color:#d9d9d9}.pack-panel{background:#f4f4f3;border-color:#dedede}.empty-state{background:#f4f4f3;border-color:#c7c7c7}.reading-invitation{background:#FFFFFF;color:#49312e;box-shadow:5px 7px 0 #dedede}.reading-invitation:after{border-color:#c7c7c7}.reading-invitation .eyebrow,.reading-invitation a{color:var(--accent)}.site-header nav a:hover,.book-meta h3 a:hover,.book-bottom a:hover,.arrow-link:hover{color:var(--accent)}
.catalog-search-form > button.button{position:static;background:var(--accent);border:1px solid var(--accent)}
.catalog-search-form > button.button:hover{background:#84291D}
@media(max-width:620px){.catalog-search-form{display:flex;flex-direction:column;width:100%;max-width:none}.catalog-search-form input,.catalog-search-form select,.catalog-search-form > button.button{width:100%;max-width:none;min-width:0}}

.badge-18 { background: #b3261e; color: #fff; border-radius: 4px; padding: 0 6px; font-size: .75em; font-weight: 700; }
.badge-official { background: #243b40; color: #fff; border-radius: 4px; padding: 0 6px; font-size: .75em; font-weight: 700; }
.category-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.category-tabs a { padding: 6px 16px; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; color: var(--muted); }
.category-tabs a:hover { color: var(--accent); border-color: var(--accent); }
.category-tabs a[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--surface); }
.writer-area-form { margin: 0 0 16px; display: block; }
.writer-area-form .text-button { padding: 4px 0; min-height: 0; }
.creator-partner-section { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); }
.creator-partner-section > h2 { font-size: 18px; color: var(--muted); }
.creator-sections-divider { color: var(--muted); font-size: 12px; padding: 0 8px; border-left: 1px solid var(--line); align-self: center; }


/* =====================================================================
   Storefront v2 — Fictionlog-like pass (ร้านนิยาย / หน้าอ่าน / บัญชี)
   ใช้ design tokens จาก samnak-theme.css · มือถือก่อน · โหมดมืดตาม prefers-color-scheme
   ===================================================================== */
:root{
  --paper:var(--bg);--ink:var(--text);--soft:var(--surface);--line:rgba(17,17,17,.1);--line-strong:rgba(17,17,17,.22);
  --accent:#9a5b00;--surface:#f5f5f6;--card:#ffffff;--radius:8px;--radius-chip:999px;
  --font-read:"Sarabun","Noto Serif Thai","IBM Plex Sans Thai",system-ui,sans-serif;
  --shadow-pop:0 6px 24px rgba(17,17,17,.1);--gutter:16px;--reader-size:19px;
}
:root[data-theme="dark"]{--line:rgba(237,237,237,.14);--line-strong:rgba(237,237,237,.3);--accent:#f5a400;--surface:#1e1e1e;--card:#1a1a1a;--shadow-pop:0 6px 24px rgba(0,0,0,.5)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--line:rgba(237,237,237,.14);--line-strong:rgba(237,237,237,.3);--accent:#f5a400;--surface:#1e1e1e;--card:#1a1a1a;--shadow-pop:0 6px 24px rgba(0,0,0,.5)}}

body{font:16px/1.7 var(--font-sans);background:var(--bg);color:var(--text)}
h1,h2,h3,h4{letter-spacing:0;color:inherit;font-weight:700;line-height:1.4}
h1{font-size:clamp(24px,5vw,34px)}h2{font-size:clamp(19px,3.4vw,24px)}h3{font-size:17px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}
.eyebrow{font:600 12px/1.6 var(--font-sans);letter-spacing:.2px;text-transform:none;color:var(--muted);margin-bottom:6px}
.quiet{color:var(--muted)}.lead{color:var(--muted);font-size:16px;line-height:1.8}
.page-width{max-width:1180px;padding-left:var(--gutter);padding-right:var(--gutter)}
.page-section{padding-top:24px;padding-bottom:56px}.page-title{font-size:clamp(24px,5vw,34px);margin-bottom:16px}

/* ปุ่ม */
.button{gap:8px;min-height:44px;padding:10px 20px;background:var(--brand);color:var(--brand-ink);border:1px solid var(--brand);border-radius:var(--radius);font-size:15px;font-weight:600;line-height:1.4;text-align:center;transition:filter .12s}
.button:hover{background:var(--brand);filter:brightness(.94)}
.button-outline{background:transparent;color:var(--text);border-color:var(--line-strong)}
.button-outline:hover{background:var(--surface);filter:none}
.button-small{min-height:38px;padding:6px 14px;font-size:14px}
.button-disabled{background:var(--surface);border-color:var(--line);color:var(--muted)}
.text-button{color:var(--muted);font-size:14px}
.see-more{font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap;padding:8px 0}.see-more:hover{color:var(--text)}

/* แถบสถานะรุ่นทดลอง */
.demo-bar{background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;padding:5px var(--gutter);letter-spacing:0}
.status-dot{background:var(--brand)}

/* header + เมนูหลัก */
.site-top{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
body:has(.reader-shell) .site-top{position:static}
.site-header{max-width:1180px;margin:0 auto;padding:10px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;flex-wrap:nowrap}
.wordmark{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:0;white-space:nowrap;min-width:0}
.brand-stamp{width:36px;height:36px;display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);border:0;border-radius:10px;font-size:19px;font-weight:700;transform:none}
.wordmark-text{display:flex;flex-direction:column;line-height:1.25}
.wordmark small{font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin:0}
.account-menu{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0}
.account-menu .button-small{min-height:36px}
.header-signup{display:none}
.user-label{display:none;font-size:13px;color:var(--muted);max-width:140px}
.main-nav{max-width:1180px;margin:0 auto;padding:0 var(--gutter);display:flex;align-items:stretch;gap:4px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:15px;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.main-nav a:hover{color:var(--text)}
.main-nav a[aria-current="page"]{color:var(--text);font-weight:700;border-bottom-color:var(--brand)}
.main-nav-sep{flex:0 0 1px;width:1px;margin:10px 8px;background:var(--line)}
.credit-badge,.notification-bell{color:var(--text)!important}
.messages{max-width:1148px;margin:12px var(--gutter);padding:12px 16px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius);background:var(--surface)}
@media(min-width:760px){.header-signup{display:inline-flex}.user-label{display:inline}.site-header{padding-top:14px;padding-bottom:6px}}
@media(min-width:1212px){.messages{margin-left:auto;margin-right:auto}}

/* การ์ดหนังสือ / กริด */
.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
@media(min-width:620px){.book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 16px}}
@media(min-width:900px){.book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1100px){.book-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.book-card,.home-book-grid .book-card{display:block;padding:0;border:0;background:none;min-width:0}
.cover-link{display:block;border-radius:var(--radius-cover);transition:transform .15s}
.cover-link:hover{transform:translateY(-3px)}
.book-cover-image,.detail-cover .book-cover-image,.home-book-grid .book-cover-image{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-cover);background:var(--surface);box-shadow:var(--shadow-soft)}
.book-cover,.detail-cover .book-cover,.home-book-grid .book-cover{height:auto;aspect-ratio:3/4;padding:14px 12px 12px;border-left:0;border-radius:var(--radius-cover);box-shadow:var(--shadow-soft)}
.book-cover:after,.home-book-grid .book-cover:after{inset:8px;border-radius:3px}
.book-cover strong,.detail-cover .book-cover strong,.home-book-grid .book-cover strong{font-size:clamp(15px,2.6vw,20px);line-height:1.45;margin-top:10px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.cover-imprint,.home-book-grid .cover-imprint{font-size:10px;letter-spacing:0}
.cover-caption,.home-book-grid .cover-caption{font-size:10px;max-width:90%}
.cover-mark,.home-book-grid .cover-mark{font-size:24px;right:12px;bottom:8px}
.book-meta,.home-book-grid .book-meta{padding:10px 0 0}
.book-meta h3,.home-book-grid .book-meta h3{font-size:15px;font-weight:600;line-height:1.45;margin:0 0 2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.book-meta h3 a:hover{color:var(--accent)}
.book-meta>p.book-author,.home-book-grid .book-meta>p.book-author{font-size:13px;color:var(--muted);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.book-tags{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0 0 4px!important;font-size:12px!important;color:var(--muted)}
.book-tags .eyebrow,.book-meta .eyebrow{display:inline-block;margin:0;padding:0 8px;border-radius:var(--radius-chip);background:var(--surface);color:var(--muted);font-size:12px;font-weight:500;line-height:1.7}
.badge-18{background:var(--danger);color:var(--danger-ink);border-radius:var(--radius-cover);padding:0 6px;font-size:11px;font-weight:700;line-height:1.7}
.badge-official{background:var(--text);color:var(--bg);border-radius:var(--radius-cover);padding:0 6px;font-size:11px;font-weight:700;line-height:1.7}
.book-format-list{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:2px}
.format-audio,.format-text{display:inline-flex;align-items:center;min-height:0;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--radius-chip);background:transparent;color:var(--muted);font-size:11px;font-weight:500;line-height:1.7}
.format-audio{border-color:var(--brand);color:var(--text);background:rgba(245,164,0,.14);font-weight:600}
.book-bottom{display:flex;justify-content:space-between;align-items:center;border:0;padding:2px 0 0;font-size:12px;color:var(--muted)}
.book-bottom a{display:none}
.book-stat{display:inline-flex;gap:4px;align-items:center}

/* แถวเลื่อนแนวนอน (หน้าแรก) */
.book-rail,.home-book-grid.book-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px var(--gutter) 10px;margin:0 calc(var(--gutter) * -1);scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.book-rail>.book-card{flex:0 0 132px;scroll-snap-align:start}
@media(min-width:620px){.book-rail>.book-card{flex-basis:156px}.book-rail{gap:16px}}
@media(min-width:1212px){.book-rail,.home-book-grid.book-rail{margin:0;padding-left:0;padding-right:0}}

/* หัวข้อ section */
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.section-heading h2{margin:0;font-size:clamp(19px,3.4vw,24px)}.section-heading .eyebrow{margin-bottom:0}
.section-heading .quiet{margin:2px 0 0;font-size:13px}
.text-catalog-rail{padding-top:22px;padding-bottom:22px;border-top:0}
.rail-foot{justify-content:center;margin-top:8px}

.hero-copy{position:relative;z-index:1;max-width:30rem}
.audio-discovery{padding-top:22px;padding-bottom:22px}
.audio-discovery .bookly-section-heading{text-align:left;max-width:none;margin:0 0 14px}
.audio-discovery .bookly-section-heading .eyebrow{color:var(--muted)}
.audio-discovery .bookly-section-heading h1{font-size:clamp(20px,3.6vw,26px);margin:0;color:inherit}
.audio-discovery .bookly-section-heading .lead{margin:2px 0 0;font-size:14px;max-width:none;color:var(--muted)}
.audio-empty-state{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-card);box-shadow:none}
.audio-empty-state h2{color:inherit}.audio-empty-state p{color:var(--muted)}
.audio-empty-state>.button{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.audio-empty-mark{background:rgba(245,164,0,.18);color:var(--accent)}

/* ค้นหา + แท็บ catalog */
.search-form{display:grid;grid-template-columns:1fr;gap:10px;max-width:none;margin:12px 0}
.search-form input,.search-form select,.catalog-search-form input,.catalog-search-form select{min-height:46px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);color:var(--text);width:100%;max-width:none;font-size:16px}
.catalog-search-form>button.button{width:100%;position:static;background:var(--brand);border-color:var(--brand)}
@media(min-width:760px){.search-form{display:flex}.search-form input{flex:1}.search-form select{width:auto;max-width:220px}.catalog-search-form>button.button{width:auto}}
.category-tabs{display:flex;gap:6px;overflow-x:auto;margin:6px 0 14px;padding:0 0 2px;border-bottom:1px solid var(--line);scrollbar-width:none}
.category-tabs a{flex:0 0 auto;padding:10px 14px;border:0;border-bottom:3px solid transparent;border-radius:0;font-size:15px;color:var(--muted);margin-bottom:-1px}
.category-tabs a:hover{color:var(--text);border-color:transparent}
.category-tabs a[aria-current="page"]{background:none;color:var(--text);font-weight:700;border-bottom-color:var(--brand)}
.compact{margin-bottom:16px}.compact p,.compact a{font-size:13px}
.empty-state{grid-column:1/-1;border:1px dashed var(--line-strong);background:var(--surface);border-radius:var(--radius-card);padding:40px 20px;color:var(--text)}
.empty-state p{color:var(--muted)}.empty-letter{color:var(--muted);opacity:.6}

/* หน้ารายละเอียดหนังสือ */
.back-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px;color:var(--muted);margin-bottom:6px}
.back-link:hover{color:var(--text)}
.book-detail{display:grid;grid-template-columns:1fr;gap:20px;padding-bottom:18px}
.detail-cover{width:58%;max-width:200px;margin:0 auto}
.detail-cover .book-meta{display:none}
.detail-copy{min-width:0}
.detail-copy>.eyebrow{margin-bottom:2px}
.detail-copy h1{font-size:clamp(24px,5vw,32px);margin:0 0 6px;text-align:center}
.detail-copy>.eyebrow,.byline{text-align:center}
.byline{font-size:14px;color:var(--muted);margin-bottom:14px}
.adult-notice{display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border:1px solid var(--danger);border-left-width:4px;border-radius:var(--radius);background:rgba(229,72,77,.08);font-size:14px;line-height:1.6}
.inline-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 16px;padding:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);font-size:14px;color:var(--text);text-align:center;overflow:hidden}
.inline-facts span{padding:12px 6px;font-weight:600}
.inline-facts span+span{border-left:1px solid var(--line);padding-left:6px}
.description{max-width:46rem;font-size:15px;line-height:1.85;color:var(--text)}
.description p{margin-bottom:.7em}
.description.is-clamped{max-height:9.3em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.clamp-toggle{background:none;border:0;padding:6px 0;min-height:36px;color:var(--accent);font-weight:600;font-size:14px}
.clamp-toggle[hidden]{display:none}
.detail-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:14px 0}
.detail-actions .button,.detail-actions form,.detail-actions form .button{width:100%}
.demo-note{border-top:1px solid var(--line);margin-top:14px;padding:12px 0 0;font-size:12.5px;color:var(--muted)}
@media(min-width:760px){
  .book-detail{grid-template-columns:230px minmax(0,1fr);gap:36px}
  .detail-cover{width:100%;max-width:230px;margin:0}
  .detail-copy h1,.detail-copy>.eyebrow,.byline{text-align:left}
  .inline-facts{max-width:30rem}
  .detail-actions{display:flex;flex-wrap:wrap}.detail-actions .button,.detail-actions form,.detail-actions form .button{width:auto}
}

/* สารบัญ */
.contents-layout{display:block;grid-template-columns:none;border-top:1px solid var(--line);padding-top:22px;margin-top:10px}
.contents-layout .section-heading h2{font-size:20px}.contents-layout .section-heading .quiet{font-size:13px}
.chapter-list{list-style:none;margin:0;padding:0}
.chapter-list li{border-bottom:1px solid var(--line)}
.chapter-list a,.chapter-unavailable{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 4px;font-size:15px}
.chapter-list a:hover{background:var(--surface)}
.chapter-number{min-width:26px;font:600 14px var(--font-sans);color:var(--muted);font-variant-numeric:tabular-nums}
.chapter-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chapter-list small{margin-left:auto;flex:0 0 auto;white-space:nowrap;font-size:12px;color:var(--muted);display:inline-flex;gap:4px;align-items:center}
.chapter-list .is-free small{color:var(--success);font-weight:600}
.chapter-list .is-open small{color:var(--text)}
.chapter-list .is-locked .chapter-title{color:var(--muted)}
.chapter-list .is-locked small{color:var(--muted)}
.audio-episode-list{margin:18px 0 8px}

/* การ์ดกล่อง VIP */
.vipbox-cards{margin:18px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.vipbox-cards h2{font-size:18px;margin-bottom:0;grid-column:1/-1}
.vipbox-cards .vipbox-card{margin:0;flex-direction:column;align-items:stretch;justify-content:flex-start}
.vipbox-cards .vipbox-card p+p{flex:0 0 auto}
.vipbox-cards .vipbox-card .button{order:4;margin-top:auto;text-align:center}
@media(max-width:720px){.vipbox-cards{grid-template-columns:1fr 1fr;gap:10px}.vipbox-cards .vipbox-card{padding:12px}.vipbox-cards .vipbox-card p{font-size:13px}}
.notice-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:16px;margin:12px 0;max-width:none;color:var(--text)}
.notice-box p{font-size:14px;color:var(--muted);margin:6px 0 0}
.vipbox-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;border:1.5px solid var(--brand);background:rgba(245,164,0,.08);text-align:left}
.vipbox-card p{margin:0;color:var(--text)}.vipbox-card p+p{color:var(--muted);font-size:13px;flex:1 1 100%;order:3}
.vipbox-card .button{order:2}

/* หน้าอ่านตอน */
.reader-shell{--rd-bg:var(--bg);--rd-ink:var(--text);--rd-muted:var(--muted);--rd-line:var(--line);--rd-surface:var(--surface);background:var(--rd-bg);color:var(--rd-ink);min-height:70vh;transition:background .2s,color .2s}
.reader-shell[data-theme="paper"]{--rd-bg:#ffffff;--rd-ink:#111111;--rd-muted:#6b6b6b;--rd-line:#e7e7e8;--rd-surface:#f5f5f6}
.reader-shell[data-theme="sepia"]{--rd-bg:#f4ecd8;--rd-ink:#3b2f24;--rd-muted:#6f5f4c;--rd-line:#d8c9a9;--rd-surface:#eadfc4}
.reader-shell[data-theme="dark"]{--rd-bg:#121212;--rd-ink:#e8e8e8;--rd-muted:#a5a5a5;--rd-line:#2d2d2d;--rd-surface:#1b1b1b}
/* bookly vendor css paints every p/h1 black: let reader text follow the chosen paper theme */
.reader-shell .chapter-body p,.reader-shell .reading-page h1{color:inherit}
.reader-toolbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;max-width:none;margin:0;padding:8px var(--gutter);background:var(--rd-bg);border-bottom:1px solid var(--rd-line);font-size:14px}
.reader-toolbar>a{display:inline-flex;align-items:center;gap:4px;min-height:40px;color:var(--rd-ink)}
.reader-audio-link{font-weight:600}
.reader-controls{display:flex;align-items:center;gap:6px;margin-left:auto}
.reader-controls>button{min-width:42px;height:40px;padding:0 8px;border:1px solid var(--rd-line);border-radius:var(--radius);background:var(--rd-surface);color:var(--rd-ink);font-size:16px;font-weight:600}
.reader-controls>button:hover{border-color:var(--rd-muted)}
.reader-themes{display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding-left:10px;border-left:1px solid var(--rd-line)}
.reader-controls>.reader-themes>button,.theme-swatch{width:30px;height:30px;min-width:30px;padding:0;border-radius:50%;border:2px solid var(--rd-line);cursor:pointer}
.swatch-paper{background:#ffffff!important}.swatch-sepia{background:#f4ecd8!important}.swatch-dark{background:#121212!important}
.theme-swatch[aria-pressed="true"]{border-color:var(--brand);box-shadow:0 0 0 2px var(--rd-bg),0 0 0 4px var(--brand)}
.reading-page{max-width:680px;margin:0 auto;padding:28px var(--gutter) 24px}
.reading-page .eyebrow{color:var(--rd-muted);opacity:1;font-size:13px}
.reading-page h1{font-size:clamp(22px,5.5vw,30px);line-height:1.5;margin:4px 0 0;letter-spacing:0}
.reading-divider{height:3px;width:48px;margin:18px 0 22px;background:var(--brand);border-radius:2px}
.chapter-body{font-family:var(--font-read);font-size:var(--reader-size,19px);line-height:1.9;overflow-wrap:anywhere;color:var(--rd-ink)}
.chapter-body p{margin:0 0 .9em;text-indent:2.2em}
.chapter-body p.scene-break,.chapter-body p.adult-note{text-indent:0}
.adult-note{padding:10px 12px;border-left:4px solid var(--danger);background:var(--rd-surface);font-size:.85em;border-radius:6px}
.reading-end{text-align:center;color:var(--rd-muted);opacity:1;font-size:14px;margin:36px 0 12px}
.progress-form,.progress-hint{text-align:center;margin:8px 0}
.progress-form>span{display:block;font-size:13px;color:var(--rd-muted)}
.reading-page .text-button{color:var(--rd-muted)}
.reading-page .quiet,.reading-page .quiet a{color:var(--rd-muted)}
.report-form{text-align:center;margin:0}
.reading-page .small{text-align:center}
.chapter-navigation{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--rd-bg);border-top:1px solid var(--rd-line);max-width:none}
.chapter-navigation .button{flex:1 1 0;max-width:260px;min-height:46px;padding:8px 12px;font-size:15px}
.chapter-navigation .button-outline{color:var(--rd-ink);border-color:var(--rd-line)}
.chapter-navigation .button-outline:hover{background:var(--rd-surface)}
.reader-shell[data-theme="dark"] .button:not(.button-outline){background:var(--brand);color:var(--brand-ink)}
.nav-toc{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;min-height:46px;padding:2px 8px;font-size:11px;color:var(--rd-muted);border-radius:var(--radius)}
.nav-toc:hover{background:var(--rd-surface);color:var(--rd-ink)}
.nav-toc>span:first-child{font-size:20px;line-height:1.1}
.nav-spacer{flex:1 1 0;max-width:260px}
@media(min-width:760px){.reading-page{padding-top:44px}.nav-toc-label{font-size:12px}.chapter-navigation{justify-content:center;gap:16px}.chapter-navigation .button{flex:0 1 220px}}

/* หน้าตอนล็อก */
.lock-page{max-width:560px;padding-top:28px;padding-bottom:56px;text-align:center}
.lock-card{padding:28px 20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
.lock-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 10px;border-radius:50%;background:rgba(245,164,0,.2);font-size:30px}
.lock-page h1{font-size:clamp(22px,5vw,28px);margin-bottom:4px}
.lock-chapter{margin:0 0 4px;font-weight:600}
.lock-card .vipbox-cards{text-align:left}
.lock-card .button{width:100%;margin-top:6px}
.reader-unlocked-list{list-style:none;padding:0;margin:16px 0;border-top:1px solid var(--line)}
.reader-unlocked-list li{display:flex;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}
.reader-unlocked-list li>span{color:var(--muted);font-size:14px;min-width:84px}

/* บัญชี: เข้าสู่ระบบ / สมัคร / รีเซ็ตรหัส */
.auth-layout{display:grid;grid-template-columns:1fr;gap:16px;max-width:980px;padding-top:24px;padding-bottom:56px}
.auth-story{padding:0}
.auth-story h1{font-size:clamp(24px,6vw,36px);line-height:1.5;margin-bottom:8px}
.auth-story>p:last-child{color:var(--muted);font-size:15px}
.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:22px 18px;box-shadow:var(--shadow-soft)}
.auth-card h2{margin-bottom:6px}.auth-card>.quiet{font-size:13px}
.auth-card form>p{margin-bottom:14px}
.auth-card label{display:block;margin-bottom:6px;font-size:14px;font-weight:600}
.auth-card input:not([type='hidden']):not([type='checkbox']):not([type='radio']){width:100%;min-height:46px;border:1px solid var(--line-strong);background:var(--bg);color:var(--text);padding:8px 12px;border-radius:var(--radius);font-size:16px}
.auth-card input[type='checkbox']{width:18px;height:18px;margin-right:6px;vertical-align:middle}
.auth-card .helptext{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.auth-card ul{font-size:12px;color:var(--muted);padding-left:18px}
.auth-card .errorlist{color:var(--danger);font-size:13px;list-style:none;padding-left:0;margin:4px 0}
.form-error{color:var(--danger);font-size:14px}
.auth-card .button{width:100%;margin-top:6px}
.auth-footer{font-size:14px;text-align:center;padding-top:14px;margin-bottom:8px}
.auth-footer a,.auth-card .quiet a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.terms-consent label{font-weight:400;font-size:13px;line-height:1.7}
@media(min-width:860px){.auth-layout{grid-template-columns:1fr 420px;gap:64px;padding-top:56px;align-items:start}.auth-story{padding-top:24px}.auth-card{padding:28px}}

/* ชั้นหนังสือ + หน้าทั่วไป */
.library-grid{margin-top:18px}
.writer-area-form{margin:6px 0 14px}
.page-section>p>a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.listening-resume{margin:18px 0}
.resume-card{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
.policy-page{max-width:760px;padding-top:24px;padding-bottom:56px}
.policy-page h1{font-size:clamp(24px,5vw,32px)}.policy-page h2{font-size:20px;margin-top:26px}
.policy-page>p,.policy-page li{color:var(--text);line-height:1.9}
.community-post-form,.community-report,.community-feed{max-width:760px;margin:0 auto;padding-top:24px;padding-bottom:56px}
.community-post-form label,.community-report label{display:block;margin:14px 0 6px;font-weight:600;font-size:14px}
.community-post-form input:not([type=checkbox]),.community-post-form select,.community-post-form textarea,.community-report select,.community-report textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:16px}
.community-post-form .button,.community-report .button{margin-top:16px}
.post-list{list-style:none;padding:0;margin:18px 0}.post-card{padding:14px 0;border-bottom:1px solid var(--line)}
.post-card h2{font-size:18px;margin:0 0 4px}

/* ท้ายเว็บ */
.site-footer{max-width:1180px;margin:24px auto 0;padding:24px var(--gutter) 32px;display:grid;grid-template-columns:1fr;gap:14px;border-top:1px solid var(--line);color:var(--muted)}
.site-footer strong{font-size:18px;font-weight:700;color:var(--text)}
.site-footer p{font-size:13px;color:var(--muted);margin:4px 0 0}
.site-footer>div:nth-child(2){display:flex;flex-wrap:wrap;justify-content:flex-start;gap:4px 18px;font-size:13px;padding:0}
.site-footer>div:nth-child(2) a{display:inline-flex;align-items:center;min-height:32px}
.site-footer a:hover{color:var(--text);text-decoration:underline}
.site-footer>small{grid-column:auto;border-top:1px solid var(--line);padding-top:14px;font-size:12px;letter-spacing:0;color:var(--muted)}
@media(min-width:760px){.site-footer{grid-template-columns:1fr 2fr}.site-footer>div:nth-child(2){justify-content:flex-end}.site-footer>small{grid-column:1/-1}}

.skip-link{background:var(--text);color:var(--bg)}
@media(max-width:380px){.wordmark small{display:none}.account-menu .button-small{padding:6px 10px;font-size:13px}.chapter-navigation .button{font-size:14px;padding:8px}}
@media(prefers-reduced-motion:reduce){.cover-link,.reader-shell{transition:none}.cover-link:hover{transform:none}}
@media(max-width:759px){.catalog-search-form{grid-template-columns:1fr 1fr}.catalog-search-form input[type=search],.catalog-search-form>button.button{grid-column:1/-1}}

/* สารบัญแบบพับทุก 50 ตอน + แผ่นบังเล่มที่ยังไม่ได้ซื้อ */
.chapter-group{border:1px solid var(--line);border-radius:var(--radius-card);margin:0 0 10px;background:var(--surface);overflow:hidden}
.chapter-group>summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-weight:600}
.chapter-group>summary::-webkit-details-marker{display:none}
.chapter-group>summary:after{content:"›";margin-left:8px;transform:rotate(90deg);transition:transform .15s;color:var(--muted)}
.chapter-group[open]>summary:after{transform:rotate(-90deg)}
.group-badge{margin-left:auto;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.group-badge.is-free{color:var(--success)}
.is-pack-locked>summary .group-badge{color:var(--text)}
.chapter-group-body{position:relative;padding:0 16px}
.chapter-group .chapter-list li:last-child{border-bottom:0}
.is-pack-locked .chapter-group-body{max-height:300px;overflow:hidden}
.is-pack-locked .chapter-list{filter:blur(2px);opacity:.6;pointer-events:none;user-select:none}
.pack-veil{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:20px;background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(3px)}
.pack-veil p{margin:0;color:var(--text)}
.pack-veil .button{margin-top:8px;min-width:180px}

/* ===== D35 Google sign-in (login/signup) ===== */
.social-login{margin-bottom:18px}.social-login form{margin:0}.google-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:9px 14px;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:4px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer}.google-button:hover{background:#f8f9fa;box-shadow:0 1px 2px rgba(60,64,67,.25)}.google-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.google-button svg{flex:none}.social-divider{display:flex;align-items:center;gap:12px;margin:16px 0 0;color:var(--muted);font-size:12px}.social-divider:before,.social-divider:after{content:"";flex:1;height:1px;background:var(--line)}@media(max-width:400px){.google-button{font-size:13px;padding:9px 10px}}
/* D32: การ์ด "วิธีอ่านเรื่องนี้" บนหน้าเรื่อง */
.read-options { margin: 1.25rem 0; }
.read-options h2 { margin: 0 0 .75rem; }
.read-options-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.read-option { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; justify-content: space-between; }
.read-option-info { display: grid; gap: .15rem; min-width: 0; flex: 1 1 14rem; }
.read-option-save { color: var(--accent, inherit); font-size: .9em; }

/* ===== Writer profile page (/writers/<id>/) ===== */
.writer-head { margin-bottom: 1rem; }
.writer-head .page-title { overflow-wrap: anywhere; margin-bottom: .25rem; }
.writer-buffet { margin: 0 0 1.5rem; }
.writer-buffet .button { max-width: 100%; }

.chapter-body .scene-break{text-align:center;letter-spacing:.4em;opacity:.7;margin:1.6em 0}
