
:root{--bg:#f5f0e8;--surface:#faf6f0;--surface2:#eee5d8;--ink:#201e1b;--muted:#746d63;--line:#dfd3c1;--primary:#2b59ff;--gold:#d89f19;--danger:#b33b3b;--reader:#f5f0e8;--readerInk:#2c2925;--fs:18px;--measure:770px;--readerFont:Georgia,'Noto Serif Thai',serif;--shadow:0 14px 40px rgba(75,55,35,.09)}
html[data-theme='white']{--bg:#f7f7f7;--surface:#fff;--surface2:#f0f0f0;--ink:#202020;--muted:#6c6c6c;--line:#e1e1e1;--reader:#fff;--readerInk:#222}
html[data-theme='dark']{--bg:#171717;--surface:#202020;--surface2:#292929;--ink:#f1ede6;--muted:#aaa29a;--line:#36322e;--reader:#181818;--readerInk:#eee9e2;--shadow:0 18px 50px rgba(0,0,0,.3)}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:light}html[data-theme='dark']{color-scheme:dark}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Noto Sans Thai',sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;transition:background .2s,color .2s}button,input,select,textarea{font:inherit}button,a{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px rgba(43,89,255,.28)}a{color:inherit;text-decoration:none}.wrap{max-width:1280px;margin:auto;padding:0 24px}.contentMain{padding-top:18px;padding-bottom:92px}.header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.bar{min-height:62px;display:flex;align-items:center;gap:22px}.brand{font-weight:900;font-size:20px;letter-spacing:-.045em;white-space:nowrap}.brand span{color:#d33b31}.nav{display:flex;gap:20px;color:var(--muted);font-size:14px;font-weight:750}.nav a{padding:20px 0}.nav .active{color:var(--ink)}.search{flex:1;max-width:430px;margin-left:auto}.search input{width:100%;padding:9px 14px 9px 38px;border:1px solid var(--line);border-radius:999px;background:var(--surface2);color:var(--ink);outline:none;background-image:radial-gradient(circle at 18px 50%,transparent 5px,currentColor 5.5px,currentColor 6.5px,transparent 7px);background-size:30px 100%;background-repeat:no-repeat}.search input::placeholder{color:var(--muted)}.actions{display:flex;align-items:center;gap:8px}.btn,.icon,.pill,.vipBtn,.selectPill,.tab,.readBtn,.coinChapter,.chapterTools button,.fontChoice,.themeBtn,.sizeRow button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;cursor:pointer;transition:.18s}.btn:hover,.icon:hover,.pill:hover,.selectPill:hover,.tab:hover,.readBtn:hover,.chapterTools button:hover{transform:translateY(-1px);filter:brightness(1.02)}.btn{padding:9px 14px;font-weight:800}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.full{width:100%;display:block}.icon{width:38px;height:38px;padding:0;display:grid;place-items:center;position:relative}.vipBtn{padding:7px 12px;font-size:12px;font-weight:850;background:linear-gradient(135deg,#fff0b5,#f2c34f);border-color:#ddb443;color:#714900}.noteBadge{position:absolute;right:-3px;top:-4px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:#d8403a;color:#fff;font-size:10px;font-weight:900}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0 18px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);margin-bottom:22px}.genreScroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.genreScroll::-webkit-scrollbar{display:none}.pill{padding:8px 13px;font-size:12px;font-weight:800;white-space:nowrap;background:var(--surface2);color:var(--muted)}.pill.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.toolbarRight{display:flex;gap:8px;flex-shrink:0}.selectPill{display:flex;align-items:center;gap:5px;padding:6px 10px;background:var(--surface)}.selectPill select{border:0;background:transparent;color:var(--ink);font-weight:800;font-size:12px;outline:none;max-width:160px}.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 20px}.card{min-width:0;cursor:pointer;transition:transform .2s}.card:hover{transform:translateY(-4px)}.cover{aspect-ratio:3/4;border-radius:18px;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 80%,#fff),color-mix(in srgb,var(--accent) 55%,#1d1713) 56%,#17120f);box-shadow:0 8px 24px rgba(40,30,20,.12)}.coverArt{position:absolute;inset:0;background:radial-gradient(circle at 70% 18%,rgba(255,255,255,.36),transparent 23%),linear-gradient(35deg,transparent 15%,rgba(255,255,255,.08) 16% 17%,transparent 18% 43%,rgba(255,255,255,.08) 44% 45%,transparent 46%),radial-gradient(circle at 28% 72%,rgba(255,190,100,.26),transparent 26%);transform:scale(1.03)}.cover:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 32%,rgba(0,0,0,.78))}.coverText{position:absolute;z-index:2;left:13px;right:13px;bottom:13px;color:#fff}.coverText small{text-transform:uppercase;letter-spacing:.1em;font-size:10px;opacity:.82}.coverText h3{font-family:Georgia,'Noto Serif Thai',serif;font-size:15px;line-height:1.23;margin:5px 0 4px}.coverText span{font-size:10px;opacity:.8}.mark{position:absolute;z-index:3;right:10px;top:10px;border:1px solid rgba(255,255,255,.5);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-weight:900;color:#fff;font-size:10px;background:rgba(20,15,10,.18);backdrop-filter:blur(6px)}.meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin:8px 2px 4px}.meta span:first-child{color:#b07900}.title{font-weight:850;font-size:13px;line-height:1.3;margin:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.author{font-size:11px;color:var(--muted);margin:3px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submeta{font-size:10px;color:color-mix(in srgb,var(--muted) 80%,transparent);margin:2px}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(360px,92vw);z-index:70;background:var(--surface);border-left:1px solid var(--line);box-shadow:-18px 0 60px rgba(20,15,10,.18);padding:20px;transform:translateX(104%);transition:transform .22s ease;overflow:auto}.drawer.show{transform:translateX(0)}.settingsHeader{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line)}.settingsHeader>div:first-child{display:flex;align-items:center;gap:10px}.settingsHeader h3{margin:0;font-size:16px}.settingsHeader p{margin:2px 0 0;color:var(--muted);font-size:11px}.settingsIcon{width:34px;height:34px;border-radius:11px;background:#edf2ff;color:#2b59ff;display:grid;place-items:center}.setting{margin-top:22px}.setting label{display:block;font-size:12px;font-weight:850;color:var(--muted);margin-bottom:10px}.fontChoices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.fontChoice{border-radius:16px;padding:11px;background:var(--surface2);display:flex;flex-direction:column;align-items:center}.fontChoice.on{background:var(--surface);border-color:#9d8e79;box-shadow:0 0 0 2px rgba(157,142,121,.2)}.fontChoice small{font-size:9px;color:var(--muted);margin-top:2px}.serifPreview{font-family:Georgia,serif}.sizeRow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:10px}.sizeRow button{border-radius:12px;padding:7px;background:var(--surface2);font-size:11px}.sizeRow strong{font-size:12px}.themeChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.themeBtn{border-radius:15px;padding:9px 5px;display:flex;flex-direction:column;gap:4px;align-items:center;background:var(--surface2)}.themeBtn.on{box-shadow:0 0 0 2px rgba(160,120,55,.23);border-color:#9e7c49}.themeBtn span{font-size:10px}.rangeLabels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin:11px 0 4px}.setting input[type=range]{width:100%;accent-color:#a06d2d}.comfort{margin-top:26px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface2);font-size:11px;color:var(--muted)}.comfort b{color:var(--ink)}.comfort p{margin:5px 0 0;line-height:1.5}.modalWrap{position:fixed;inset:0;z-index:90;background:rgba(14,12,10,.5);backdrop-filter:blur(3px);display:none;place-items:center;padding:18px}.modalWrap.show{display:grid}.modal{position:relative;width:min(520px,100%);max-height:88vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal.wide{width:min(760px,100%)}.modalClose{position:absolute;right:14px;top:14px}.center{text-align:center}.small{font-size:11px}.muted{color:var(--muted)}.authMark{margin:6px auto 12px;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#2b59ff,#7f91ff);color:#fff;display:grid;place-items:center;font-weight:900}.googleBtn{width:100%;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font-weight:800;cursor:pointer}.or{display:flex;align-items:center;gap:8px;margin:16px 0;color:var(--muted);font-size:9px}.or:before,.or:after{content:'';height:1px;background:var(--line);flex:1}.fieldLabel{display:block;font-size:11px;font-weight:800;color:var(--muted);margin:10px 0 5px}.field{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);outline:none}.secondaryField{margin-top:9px}.textarea{min-height:120px;resize:vertical}.textBtn{border:0;background:transparent;color:var(--primary);font-weight:850;cursor:pointer}.accountHero{display:flex;align-items:center;gap:12px;padding:6px 0 16px}.avatar{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#5b70ff,#2b59ff);color:white;display:grid;place-items:center;font-size:22px;font-weight:900}.accountHero h2{margin:0;font-size:19px}.accountHero p{margin:3px 0;color:var(--muted);font-size:12px}.accountGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.statCard{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:11px;text-align:center}.statCard span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase}.statCard b{font-size:17px}.accountActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.dangerBtn{border:1px solid color-mix(in srgb,var(--danger) 40%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);padding:9px 12px;border-radius:999px;font-weight:800;cursor:pointer}.modalHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modalHead h2{margin:0}.modalHead p{margin:3px 0;color:var(--muted);font-size:11px}.noticeRow,.ledgerRow,.supportRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line)}.noticeRow.unread{background:color-mix(in srgb,var(--primary) 5%,transparent);margin:0 -8px;padding-left:10px;padding-right:10px;border-radius:10px}.noticeRow p,.supportRow p{margin:3px 0;color:var(--muted);font-size:11px}.noticeRow small,.ledgerRow small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.noticeRow button{border:0;background:#edf2ff;color:#2b59ff;border-radius:9px;width:28px;height:28px;cursor:pointer}.statusBadge{padding:5px 8px;border-radius:999px;background:var(--surface2);font-size:10px;font-weight:800}.subheading{font-size:13px;margin:20px 0 6px}.walletHero,.vipHero{border-radius:20px;padding:20px;background:linear-gradient(145deg,#29251f,#5a4222);color:#fff;text-align:center;margin-bottom:12px}.walletHero span{font-size:10px;letter-spacing:.18em}.walletHero strong{display:block;font-size:42px;line-height:1.1;margin:6px 0;color:#ffd66f}.walletHero small{opacity:.75}.demoNotice{padding:10px 12px;border-radius:12px;background:#fff5d8;color:#75510a;border:1px solid #ead28f;font-size:10px;margin:10px 0}.ledgerRow b.plus{color:#2b8a57}.ledgerRow b.minus{color:#b4473b}.vipHero span{font-size:35px;color:#ffd66f}.vipHero h2{margin:5px 0}.vipHero p{margin:0;opacity:.8}.benefits{display:grid;gap:8px;margin:12px 0}.benefits>div{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:12px}.benefits b{display:block;font-size:12px}.benefits span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.vipActivate{width:100%;padding:12px;border:1px solid #c99a34;border-radius:14px;background:linear-gradient(135deg,#ffe8a0,#eebd48);color:#6e4800;font-weight:900;cursor:pointer}.quickTopup{position:fixed;z-index:45;right:22px;bottom:22px;border:1px solid #d7a63c;border-radius:18px;background:linear-gradient(135deg,#fff0b7,#e8b443);color:#6b4700;box-shadow:0 12px 34px rgba(80,55,10,.2);padding:8px 12px;display:grid;grid-template-columns:auto auto;column-gap:6px;align-items:center;cursor:pointer}.quickTopup span{grid-row:1/3;font-size:20px}.quickTopup b{font-size:11px;text-align:left}.quickTopup small{font-size:8px;text-align:left}.bottomDock{display:none}.pageIntro{display:flex;justify-content:space-between;align-items:flex-end;padding:14px 0 18px}.pageIntro h1{font-family:Georgia,'Noto Serif Thai',serif;font-size:32px;margin:3px 0}.pageIntro p{margin:0;color:var(--muted);font-size:12px}.eyebrow,.chapterKicker{text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:900;color:#a2682c}.genreStats{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:16px}.genreTile{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:15px;padding:12px;text-align:left;cursor:pointer}.genreTile b{display:block}.genreTile span{font-size:10px;color:var(--muted)}.genreTile.on{box-shadow:0 0 0 2px rgba(43,89,255,.15);border-color:#6e88ff}.libraryTabs{display:flex;gap:7px;margin-bottom:18px}.tab{padding:8px 13px;background:var(--surface2);font-weight:800;font-size:11px}.tab.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.backLink{display:inline-block;color:var(--muted);font-size:12px;margin:8px 0 14px}.novelHero{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start;padding-bottom:28px}.detailCover{width:220px}.novelInfo{padding-top:4px}.genreBadge{display:inline-block;padding:6px 9px;border-radius:999px;background:var(--surface2);font-size:10px;font-weight:850;color:var(--muted)}.novelInfo h1{font-family:Georgia,'Noto Serif Thai',serif;font-size:clamp(34px,5vw,58px);line-height:1.04;margin:10px 0 8px}.authorLine{color:var(--muted);font-size:13px}.stats{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-size:11px}.stats b{color:var(--ink)}.synopsis{line-height:1.75;color:var(--muted);max-width:800px}.heroActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:22px 0 10px}.sectionHead h2{margin:0;font-family:Georgia,'Noto Serif Thai',serif}.sectionHead p{margin:4px 0 0;color:var(--muted);font-size:11px}.chapterTools{display:flex;gap:7px}.chapterTools input{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);max-width:180px}.chapterTools button{padding:8px 10px;font-size:10px}.chapters{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden}.chapter{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:0 12px}.chapter:last-child{border-bottom:0}.chapterMain{display:flex;align-items:center;gap:12px;flex:1;text-align:left;border:0;background:transparent;color:var(--ink);padding:12px 0;cursor:pointer;min-width:0}.num{width:34px;color:var(--muted);font-variant-numeric:tabular-nums}.ct{min-width:0}.ct strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.ct small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.readBtn,.coinChapter{padding:6px 10px;font-size:10px;font-weight:850}.coinChapter{background:#fff0b5;border-color:#e1bc58;color:#78520a}.reader{min-height:100vh;background:var(--reader);color:var(--readerInk)}.readerTop{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--reader) 91%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--readerInk) 12%,transparent)}.readerBar{height:58px;max-width:1080px;margin:auto;padding:0 14px;display:flex;align-items:center;gap:10px}.readerTitle{flex:1;text-align:center;font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readerProgress{height:2px;background:color-mix(in srgb,var(--readerInk) 10%,transparent)}.readerProgress span{display:block;height:100%;width:0;background:#b07c39;transition:width .15s}.article{max-width:var(--measure);margin:auto;padding:52px 22px 100px;font-family:var(--readerFont);font-size:var(--fs);line-height:1.95}.article h1{font-family:var(--readerFont);font-size:clamp(28px,4vw,42px);line-height:1.25}.article p{margin:1.35em 0}.readerNav{display:flex;justify-content:space-between;gap:12px;margin-top:48px}.lockedArticle{display:grid;place-items:center;min-height:70vh}.lockedCard{width:min(520px,100%);padding:28px;border:1px solid color-mix(in srgb,var(--readerInk) 14%,transparent);border-radius:22px;background:color-mix(in srgb,var(--reader) 85%,#fff);text-align:center}.lockIcon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff0b5;color:#8a5a00;font-size:22px}.walletInline{display:flex;justify-content:space-between;border:1px solid color-mix(in srgb,var(--readerInk) 12%,transparent);border-radius:13px;padding:10px 12px;margin:14px 0;font-family:Inter,system-ui,sans-serif;font-size:12px}.empty{padding:58px 20px;text-align:center;border:1px dashed color-mix(in srgb,var(--line) 90%,transparent);border-radius:20px;background:color-mix(in srgb,var(--surface) 75%,transparent)}.empty.compact{padding:20px;border-radius:12px;font-size:11px}.empty h2{margin:0 0 8px}.empty p{color:var(--muted)}.skeleton{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;padding-top:30px}.skeleton div{aspect-ratio:3/4;border-radius:18px;background:linear-gradient(90deg,var(--surface2),var(--surface),var(--surface2));background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.toast{position:fixed;bottom:24px;left:50%;z-index:120;transform:translate(-50%,28px);background:#171512;color:#fff;padding:10px 15px;border-radius:12px;opacity:0;transition:.2s;box-shadow:0 12px 30px rgba(0,0,0,.2);font-size:12px}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.grid,.skeleton{grid-template-columns:repeat(5,1fr)}.nav{gap:13px}.wrap{padding:0 18px}}
@media(max-width:900px){.grid,.skeleton{grid-template-columns:repeat(4,1fr)}.nav{display:none}.search{max-width:none}.hideSm{display:none}.genreStats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.header .bar{gap:8px;min-height:58px;flex-wrap:wrap;padding:9px 0}.brand{font-size:18px}.search{order:3;flex-basis:100%;max-width:100%}.actions{margin-left:auto}.hideXs{display:none}.contentMain{padding-top:12px;padding-bottom:104px}.toolbar{align-items:stretch;flex-direction:column}.toolbarRight{justify-content:space-between}.selectPill{flex:1}.selectPill select{max-width:130px}.grid,.skeleton{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.cover{border-radius:15px}.quickTopup{right:14px;bottom:78px}.bottomDock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:44;left:10px;right:10px;bottom:10px;height:58px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(16px);box-shadow:0 14px 40px rgba(0,0,0,.16);overflow:hidden}.bottomDock button{border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:16px}.bottomDock button span{font-size:8px}.bottomDock button.on{color:var(--primary);font-weight:900}.pageIntro h1{font-size:28px}.genreStats{grid-template-columns:repeat(2,1fr)}.novelHero{grid-template-columns:120px 1fr;gap:16px}.detailCover{width:120px}.novelInfo h1{font-size:28px}.stats{gap:8px}.sectionHead{align-items:stretch;flex-direction:column}.chapterTools{width:100%}.chapterTools input{flex:1;max-width:none}.accountGrid{grid-template-columns:repeat(2,1fr)}.article{padding:36px 18px 100px}.modal{padding:20px}.hideMobile{display:none}}
@media(max-width:420px){.wrap{padding:0 13px}.grid{gap:15px 10px}.coverText{left:10px;right:10px;bottom:10px}.coverText h3{font-size:13px}.meta{font-size:10px}.title{font-size:12px}.author,.submeta{font-size:9px}.novelHero{grid-template-columns:1fr}.detailCover{width:150px;margin:auto}.novelInfo{text-align:center}.stats,.heroActions{justify-content:center}.chapter{padding:0 9px}.readBtn,.coinChapter{padding:6px 8px}.ct strong{font-size:11px}.fontChoices{grid-template-columns:1fr 1fr}.toolbarRight{gap:5px}.selectPill{padding:6px 7px}.selectPill select{font-size:10px}}
