@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f8092a6a9ad7a44c-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/96ad5eed80b1484c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0ab56aae8cf76709-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a1a058a3e6543db0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f33c62bdbd09f5b8-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2b74019ebf7a71b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/33387a3e1220e613-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2f6258ffdaf4644f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1f1bc71f0d981582-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21b3ec5f6f7ed992-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/760a9ea75c6166f6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21502afb5d341639-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sarabun;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/513413b711088711-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/1a12b027fdded216-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Sarabun;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9c10c573cc87fc67-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sarabun;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/a979d3d6cbff0fe3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sarabun Fallback;src:local("Arial");ascent-override:109.45%;descent-override:23.78%;line-gap-override:0.00%;size-adjust:97.58%}.__className_baee44{font-family:Sarabun,Sarabun Fallback;font-style:normal}.__variable_baee44{--font-sarabun:"Sarabun","Sarabun Fallback"}:root{--ground:#efe9df;--paper:#faf6ee;--ink:#241f19;--ink-soft:#5c5347;--brick:#a6392f;--brick-deep:#7e2a22;--navy:#17456b;--gold:#b07c10;--line:#d8cfc0;--line-soft:#e4dccd;--ok:#3f6f4f}*{box-sizing:border-box}html{color-scheme:light only}body,html{background:var(--ground)}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--font-sarabun),-apple-system,"Segoe UI",sans-serif;font-size:16.5px;line-height:1.8}a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2.5px solid var(--navy);outline-offset:2px}.wrap{max-width:860px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}.brand{font-weight:800;color:var(--navy);text-decoration:none;letter-spacing:.04em}.site-nav{display:flex;gap:20px;font-size:15px}.site-nav a{text-decoration:none;font-weight:600;color:var(--ink-soft)}.site-nav a:hover{color:var(--brick)}.site-footer{border-top:1px solid var(--line);margin-top:72px;padding:26px 0 40px;font-size:13.5px;color:var(--ink-soft);text-align:center}.site-footer p{margin:4px 0}main{padding-top:40px}h1{font-size:clamp(28px,5vw,40px);line-height:1.35;margin:0 0 12px;text-wrap:balance}h1,h2{font-weight:800}h2{font-size:23px;margin:48px 0 12px;line-height:1.4}p{margin:0 0 14px;max-width:70ch}.muted{color:var(--ink-soft)}.small{font-size:14px}.card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px 26px;margin:18px 0}.card h3{margin:0 0 8px;font-size:17.5px;font-weight:800;color:var(--navy)}.btn{display:inline-block;font-weight:700;font-size:15.5px;padding:10px 24px;border-radius:8px;border:none;cursor:pointer;text-decoration:none;font-family:inherit}.btn-primary{background:var(--brick);color:#fff}.btn-primary:hover{background:var(--brick-deep)}.btn-secondary{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}.btn[disabled]{opacity:.55;cursor:default}.hero{text-align:center;padding:28px 0 8px}.series-band{display:flex;align-items:center;gap:12px;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--navy)}.series-band:after,.series-band:before{content:"";height:1px;background:var(--navy);opacity:.3;width:64px}.hero p.sub{margin:10px auto 0;max-width:56ch}.rules{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:22px 0 0;padding:0;list-style:none}.rules li{font-size:13.5px;font-weight:600;color:var(--ink-soft);border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:5px 16px}.book-card{display:flex;gap:26px;align-items:flex-start}.book-cover{flex:0 0 96px;height:136px;border-radius:4px;background:linear-gradient(160deg,var(--brick) 0,var(--brick-deep) 100%);box-shadow:4px 5px 0 rgba(36,31,25,.16);display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;color:#f3d9a9;font-size:11px;font-weight:700;letter-spacing:.14em}.book-card .label{font-size:12.5px;font-weight:700;letter-spacing:.1em;color:var(--gold);margin:0 0 4px}.book-card h2{margin:0 0 2px;font-size:26px}.book-card .author{font-weight:600;color:var(--ink-soft);margin-bottom:10px}.status-chip{display:inline-block;font-size:13px;font-weight:600;color:var(--navy);border:1px dashed var(--navy);border-radius:6px;padding:4px 12px;margin-top:6px}@media (max-width:560px){.book-card{flex-direction:column}}.duty-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:20px 0}@media (max-width:720px){.duty-grid{grid-template-columns:1fr}}.duty-grid .card{margin:0;display:flex;flex-direction:column}.duty-grid .card p{flex:1 1;font-size:14.5px}.duty-grid .card a{font-weight:700;font-size:14.5px}.field{margin-bottom:20px}.field label{display:block;font-weight:700;margin-bottom:4px}.field .hint{font-size:13.5px;color:var(--ink-soft);margin:0 0 6px}.field input[type=text],.field textarea{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px}.field textarea{min-height:140px;resize:vertical}.field .fixed-value{background:var(--ground);border:1px solid var(--line-soft);border-radius:8px;padding:10px 14px;font-weight:600}.form-error{background:#f7ece9;border:1px solid var(--brick);color:var(--brick-deep);border-radius:8px;padding:10px 16px;margin-bottom:16px;font-weight:600}.form-success{border-left:4px solid var(--ok)}.hp-field{position:absolute;left:-9999px;top:-9999px}.tbl-wrap{overflow-x:auto;margin:18px 0;border:1px solid var(--line);border-radius:10px;background:var(--paper)}table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:560px}th{text-align:left;font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--paper);background:var(--navy);padding:10px 16px}td{padding:11px 16px;border-top:1px solid var(--line-soft);vertical-align:top;line-height:1.65}.dot-partial{color:var(--gold)}.dot-ok{color:var(--ok)}.dot-unknown{color:var(--brick)}.sample-section h2{margin-top:8px;color:var(--brick-deep)}.sample-h3{margin:26px 0 8px;font-size:18px;font-weight:800}.sample-lead{font-weight:700;font-size:18px;color:var(--brick-deep);max-width:60ch}.sample-hr{border:none;border-top:1px solid var(--line);margin:24px 0}.sample-note{font-size:14px;color:var(--ink-soft);border-left:3px solid var(--gold);padding-left:14px}.promise-list{padding-left:22px}.promise-list li{margin-bottom:10px;max-width:70ch}.series-list{list-style:none;padding:0;margin:16px 0;display:grid;grid-gap:10px;gap:10px}.series-list li{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 20px}.series-list .t{font-weight:800}.series-list .s{color:var(--ink-soft)}.admin-table td,.series-list .s{font-size:13.5px}.report-msg{white-space:pre-wrap;max-width:48ch}.badge{font-size:12px;font-weight:700;border-radius:99px;padding:2px 10px;white-space:nowrap}.badge-new{background:var(--brick);color:#fff}.badge-reading{background:var(--gold);color:#fff}.badge-verified{background:var(--navy);color:#fff}.badge-fixed{background:var(--ok);color:#fff}.badge-rejected{background:var(--line);color:var(--ink-soft)}.overdue-banner{background:#f7ece9;border:1px solid var(--brick);border-radius:10px;padding:12px 18px;font-weight:700;color:var(--brick-deep);margin:16px 0}.status-actions{display:flex;gap:6px;flex-wrap:wrap}.status-actions button{font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:6px;padding:3px 10px}.status-actions button:hover{border-color:var(--navy);color:var(--navy)}