@font-face{font-family:'MW';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/mw-700-vi.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:'MW';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/mw-700-la.woff2) format('woff2');unicode-range:U+0000-00FF, 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:'MS';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ms-400-vi.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:'MS';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ms-400-la.woff2) format('woff2');unicode-range:U+0000-00FF, 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:'MS';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ms-600-vi.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:'MS';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ms-600-la.woff2) format('woff2');unicode-range:U+0000-00FF, 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}
:root{--bg:#f2f5f4;--paper:#fffdf7;--ink:#14302f;--mute:#4f6463;--line:#d9e2df;--teal:#0f5257;--teal-l:#dcebea;--copper:#b5652b;--max:1040px;--g:20px;--head:'MW',Georgia,serif;--ff:'MS',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:70px;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.7 var(--ff);overflow-x:hidden}
a{color:var(--teal);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--copper);outline-offset:2px;border-radius:4px}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.2;margin:0 0 .5em}
h2{font-size:clamp(24px,3vw,32px)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:#fff;padding:8px 14px}.skip:focus{left:8px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--g)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--teal);color:#fff;font-weight:600;border-radius:8px;padding:0 18px;min-height:46px;text-decoration:none}
.btn--sm{min-height:40px;font-size:15px}
.linkbtn{border:0;background:none;color:var(--teal);text-decoration:underline;padding:6px 0;font-size:15px}
.hd{position:sticky;top:0;z-index:50;background:var(--teal);color:#fff}
.hd__in{display:flex;align-items:center;gap:18px;min-height:58px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font:700 19px var(--head)}
.brand__mk{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--copper);color:#fff;font-weight:700}
.hd__nav{margin-left:auto}
.hd__nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.hd__nav a{display:block;padding:8px 12px;border-radius:6px;text-decoration:none;color:#d6eceb;font-weight:600;font-size:15px}
.hd__nav a:hover{background:#0b4044;color:#fff}
.hd__btn{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:8px;background:none;position:relative}
.hd__btn span:first-child,.hd__btn span:first-child::before,.hd__btn span:first-child::after{position:absolute;left:12px;right:12px;height:2px;background:#fff;content:''}
.hd__btn span:first-child{top:21px}.hd__btn span:first-child::before{top:-6px;left:0;right:0}.hd__btn span:first-child::after{top:6px;left:0;right:0}
.intro{padding:36px 0 20px}
.intro__h{font-size:clamp(28px,4.2vw,44px);max-width:820px}
.intro__h span{display:block;color:var(--copper)}
.intro__p{color:var(--mute);max-width:700px;margin:0}
.book{background:var(--paper);border-radius:6px 18px 18px 6px;box-shadow:inset 14px 0 0 var(--teal),0 26px 50px -36px rgba(20,48,47,.7);padding:20px 22px 14px 40px}
.book__set{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;font-size:15px;border-bottom:1px dashed var(--line);padding-bottom:12px;margin-bottom:12px}
.book__set label{display:flex;align-items:center;gap:8px}
.book__set input,.book__set select{border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:#fff;min-height:40px}
.book__next{margin-left:auto;font-weight:600;color:var(--copper)}
.book__pages{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.page__h{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);margin-bottom:4px}
.page__h h2{margin:0;font-size:24px}
.prog{font:700 15px var(--ff);color:var(--mute)}
.page.is-all .prog{color:#15803d}
.page.is-all .prog::after{content:' · xong hết!'}
.todo{list-style:none;margin:0;padding:0;background:repeating-linear-gradient(transparent 0 47px,var(--line) 47px 48px)}
.todo li{display:flex;align-items:center;min-height:48px}
.todo label{flex:1;display:flex;align-items:center;gap:12px;cursor:pointer;min-height:48px}
.todo input{width:22px;height:22px;accent-color:var(--teal);flex:none}
.todo .is-done span{text-decoration:line-through;color:#8aa09e}
.todo .empty{color:var(--mute);font-style:italic}
.del{border:0;background:none;color:#a7b8b6;font-size:22px;width:40px;height:40px;border-radius:50%}
.del:hover{background:#fbe9e2;color:var(--copper)}
.add{display:flex;gap:6px;margin-top:10px}
.add input{flex:1;min-width:0;border:0;border-bottom:1.5px solid var(--teal);background:none;padding:8px 2px;outline:none}
.add button{width:44px;height:44px;border:0;border-radius:50%;background:var(--teal);color:#fff;font-size:20px}
.book__foot{margin:8px 0 0;text-align:right}
.sec{padding-top:40px;padding-bottom:10px}
.tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tips p{margin:0;background:#fff;border-radius:12px;padding:18px;border-left:4px solid var(--copper);font-size:15px;color:var(--mute)}
.tips b{display:block;color:var(--ink);font-family:var(--head);font-size:17px;margin-bottom:4px}
.faq{display:grid;gap:8px;margin-bottom:24px}
.faq details{background:#fff;border-radius:10px;padding:2px 16px;border:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;padding:12px 0;min-height:44px}
.faq p{margin:0 0 14px;color:var(--mute)}
.fb{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between}
.fb__head{display:flex;gap:12px;align-items:center}
.fb__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--teal-l);color:var(--teal);flex:none}
.fb__t{font-size:20px;margin:0}
.fb__s{margin:2px 0 0;font-size:14px;color:var(--mute)}
.fb__btns{display:flex;gap:8px}
.fb__b{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:0 14px;font-weight:600;min-height:44px}
.fb__b--up[aria-pressed=true]{border-color:#15803d;color:#15803d}.fb__b--down[aria-pressed=true]{border-color:var(--copper);color:var(--copper)}
.fb__form,.fb__thx{flex-basis:100%;margin:0}.fb__form{display:grid;gap:8px}
.fb__form textarea{border:1px solid var(--line);border-radius:8px;padding:10px;width:100%}
.fb__thx{color:#15803d;font-weight:600}
.pg{max-width:780px;padding-top:40px}.pg__t{font-size:clamp(30px,4vw,44px)}.prose{overflow-wrap:anywhere}
.list{list-style:none;padding:0}.list li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}
.pg--404{text-align:center}.code404{font:700 90px/1 var(--head);color:var(--copper);margin:0}
.ft{margin-top:50px;background:var(--ink);color:#c8d9d7;padding:28px 0}
.ft p{margin:0 0 10px;font-size:14px;max-width:820px}.ft__copy{opacity:.7}
@media (max-width:860px){
 .hd__btn{display:block;margin-left:auto}
 .hd__nav{position:absolute;left:0;right:0;top:58px;background:var(--teal);display:none;padding:6px var(--g) 12px}
 .hd__nav.is-open{display:block}.hd__nav ul{flex-direction:column}.hd__nav a{padding:12px 4px}
 .book__pages,.tips{grid-template-columns:minmax(0,1fr)}
 .book{padding-left:30px}
 .book__next{margin-left:0;flex-basis:100%}
}
@media (max-width:480px){:root{--g:12px}.book{padding:16px 14px 12px 26px;box-shadow:inset 8px 0 0 var(--teal),0 20px 40px -30px rgba(20,48,47,.7)}}
