@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/caveat-latin-700-normal.D8_1Nw6V.woff2)format("woff2"),url(/_astro/caveat-latin-700-normal.cPyBTTZN.woff)format("woff")}:root{--paper:#fbf6e9;--paper-2:#f3ecd9;--sheet:#fffdf7;--ink:#1d1f33;--ink-soft:#4a4d66;--muted:#6d6f86;--rule:#4070d22b;--margin:#e2464673;--highlight:#ffe45c;--red:#e0413a;--blue:#2f6bff;--green:#15a34a;--note:#fff4a8;--note-2:#ffd6e5;--note-3:#cdeaff;--shadow:4px 4px 0 var(--ink);--shadow-lg:7px 7px 0 var(--ink);--display:"Bricolage Grotesque Variable", "Segoe UI", system-ui, sans-serif;--body:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--hand:"Caveat", "Segoe Print", "Comic Sans MS", cursive;--side:286px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=paper]){--paper:#1e2b25;--paper-2:#18231e;--sheet:#26352d;--ink:#f1eee2;--ink-soft:#cfd6cb;--muted:#a3b0a5;--rule:#ffffff0d;--margin:#ff8c8c40;--highlight:#f6d743;--red:#ff8a7a;--blue:#8fb4ff;--green:#7fe0a0;--note:#f3e48a;--note-2:#f5bdd2;--note-3:#b7dcf5;--shadow:4px 4px 0 #0000008c;--shadow-lg:7px 7px 0 #0000008c;color-scheme:dark}}:root[data-theme=chalk]{--paper:#1e2b25;--paper-2:#18231e;--sheet:#26352d;--ink:#f1eee2;--ink-soft:#cfd6cb;--muted:#a3b0a5;--rule:#ffffff0d;--margin:#ff8c8c40;--highlight:#f6d743;--red:#ff8a7a;--blue:#8fb4ff;--green:#7fe0a0;--note:#f3e48a;--note-2:#f5bdd2;--note-3:#b7dcf5;--shadow:4px 4px 0 #0000008c;--shadow-lg:7px 7px 0 #0000008c;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{font:17px/1.62 var(--body);color:var(--ink);background-color:var(--paper);background-image:linear-gradient(transparent 31px, var(--rule) 31px, var(--rule) 32px);background-size:100% 32px;margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--blue);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{color:var(--red)}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0 0 .5em;line-height:1.1}h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800}h2{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800}h3{font-size:1.15rem;font-weight:750}p{margin:0 0 1em}:focus-visible{outline:3px dashed var(--red);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--highlight);color:#1d1f33;z-index:60;border:2px solid #1d1f33;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.hand{font-family:var(--hand);font-weight:700}.hl{background:linear-gradient(transparent 55%, var(--highlight) 55%, var(--highlight) 92%, transparent 92%);color:inherit;padding:0 .12em}:root[data-theme=chalk] .hl{color:#1d1f33;background:var(--highlight);box-shadow:.08em 0 0 var(--highlight), -.08em 0 0 var(--highlight);-webkit-box-decoration-break:clone;box-decoration-break:clone}@media (prefers-color-scheme:dark){:root:not([data-theme=paper]) .hl{color:#1d1f33;background:var(--highlight);box-shadow:.08em 0 0 var(--highlight), -.08em 0 0 var(--highlight);-webkit-box-decoration-break:clone;box-decoration-break:clone}}.shell{grid-template-columns:var(--side) minmax(0, 1fr);min-height:100vh;display:grid}.toc{background:var(--paper-2);border-right:2px solid var(--ink);scrollbar-width:thin;height:100vh;padding:22px 18px 26px;position:sticky;top:0;overflow-y:auto}.brand{color:var(--ink);align-items:center;gap:12px;margin-bottom:18px;text-decoration:none;display:flex}.brand-mark{background:var(--highlight);color:#1d1f33;border:2.5px solid var(--ink);width:52px;height:52px;font:800 1.15rem/1 var(--display);box-shadow:3px 3px 0 var(--ink);border-radius:50% 46% 52% 44%/48% 52% 46% 54%;flex-shrink:0;place-items:center;display:grid;transform:rotate(-6deg)}.brand-name{font:800 1.55rem/1 var(--display);letter-spacing:-.03em}.brand-name small{font:700 1.05rem/1.1 var(--hand);color:var(--red);letter-spacing:0;margin-top:3px;display:block}.findx{margin:6px 0 20px;position:relative}.findx label{font:700 1.25rem/1 var(--hand);color:var(--ink-soft);margin-bottom:4px;display:block}.findx input{width:100%;height:44px;font:600 1rem var(--body);color:var(--ink);background:var(--sheet);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:10px;padding:0 12px 0 44px}.findx .x{font:700 1.35rem/1 var(--hand);color:var(--red);position:absolute;bottom:9px;left:12px}.toc .toc-h{font:700 1.5rem/1 var(--hand);color:var(--red);letter-spacing:0;margin:18px 0 8px}.toc ol,.toc ul{margin:0;padding:0;list-style:none}.toc li a{color:var(--ink);border-radius:6px;align-items:baseline;gap:8px;padding:5px 6px;font-size:.97rem;font-weight:600;text-decoration:none;display:flex}.toc li a .n{font:700 .8rem var(--body);color:var(--muted);flex-shrink:0;width:26px}.toc li a .dots{border-bottom:2px dotted color-mix(in srgb, var(--ink) 30%, transparent);flex:1;transform:translateY(-4px)}.toc li a .c{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.toc li a .sw{border:1.5px solid var(--ink);border-radius:3px;flex-shrink:0;width:10px;height:10px;transform:translateY(1px)}.toc li a:hover,.toc li a[aria-current=page]{background:color-mix(in srgb, var(--highlight) 70%, transparent);color:#1d1f33}.toc li a[aria-current=page] .n,.toc li a:hover .n,.toc li a:hover .c,.toc li a[aria-current=page] .c{color:#1d1f33}.toc-foot{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.page{min-width:0;padding-left:0;position:relative}.page:before{content:"";background:var(--margin);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:46px}.wrap{max-width:1180px;margin:0 auto;padding:0 28px 0 72px;position:relative}main{padding:28px 0 56px}.mbar{display:none}@media (width<=980px){.shell{grid-template-columns:minmax(0,1fr)}.toc{z-index:50;width:min(88vw,320px);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-104%);box-shadow:8px 0 #0000002e}body.nav-open .toc{transform:none}body.nav-open:after{content:"";z-index:40;background:#14141e73;position:fixed;inset:0}.mbar{z-index:30;background:var(--paper-2);border-bottom:2px solid var(--ink);align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}.mbar .brand{margin:0}.mbar .brand-mark{width:40px;height:40px;font-size:.95rem}.mbar .brand-name{font-size:1.3rem}.mbar .brand-name small{display:none}.mbar .sp{flex:1}.page:before{left:10px}.wrap{padding:0 16px 0 24px}main{padding-top:18px}}.btn{border:2px solid var(--ink);background:var(--sheet);min-height:42px;color:var(--ink);font:700 .95rem var(--body);cursor:pointer;box-shadow:3px 3px 0 var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:hover{color:var(--ink);box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn.yellow{background:var(--highlight);color:#1d1f33}.btn.icon{width:42px;padding:0}.btn[aria-pressed=true]{background:var(--note-2);color:#1d1f33}.section{margin-top:46px}.ex-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.ex-head h2{margin:0}.ex-head>a{margin-left:auto}.ex-num{border:2.5px solid var(--red);min-width:44px;height:44px;color:var(--red);font:700 1.5rem/1 var(--hand);border-radius:50%;flex-shrink:0;place-items:center;padding:0 6px;display:inline-grid;transform:rotate(-8deg)}.ex-head a{font:700 1.35rem/1 var(--hand);white-space:nowrap;text-decoration:none}.ex-head a:after{content:" →"}.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:28px 22px;padding-top:6px;display:grid}.cards.lg{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.cards>:nth-child(4n+1){--tilt:-1.4deg}.cards>:nth-child(4n+2){--tilt:.9deg}.cards>:nth-child(4n+3){--tilt:-.5deg}.cards>:nth-child(4n){--tilt:1.3deg}.card{--tape:#f9731a;color:var(--ink);background:var(--sheet);border:2px solid var(--ink);box-shadow:var(--shadow);transform:rotate(var(--tilt,0deg));border-radius:4px;padding:9px 9px 12px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;position:relative}.card:before{content:"";background:color-mix(in srgb, var(--tape) 72%, transparent);border-left:2px dashed #fff6;border-right:2px dashed #fff6;width:74px;height:20px;margin-left:-37px;position:absolute;top:-11px;left:50%;transform:rotate(-3deg)}.card:hover{box-shadow:var(--shadow-lg);color:var(--ink);transform:rotate(0)translate(-3px,-3px)}.card img{aspect-ratio:4/3;object-fit:cover;border:1.5px solid var(--ink);background:var(--paper-2);border-radius:2px;width:100%}.card .t{font:800 1.02rem/1.2 var(--display);letter-spacing:-.01em;margin-top:9px;display:block}.card .k{font:700 1.15rem/1 var(--hand);color:var(--ink-soft);align-items:center;gap:6px;margin-top:4px;display:flex}.card .k:before{content:"";background:var(--tape);border:1.5px solid var(--ink);border-radius:50%;width:9px;height:9px}.card .s{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin-top:5px;font-size:.84rem;line-height:1.35;display:-webkit-box;overflow:hidden}.cards.compact .s{display:none}@media (width<=640px){.cards,.cards.lg{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.card .s{display:none}.card .t{font-size:.95rem}}.prose{max-width:760px}.prose h2{margin-top:1.7em}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.45em 0}.prose li::marker{color:var(--red);font-weight:800}.lead{color:var(--ink-soft);max-width:720px;font-size:1.12rem}.sheet{background:var(--sheet);border:2px solid var(--ink);box-shadow:var(--shadow);border-radius:6px;padding:22px}.split{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:36px;display:grid}.split>*{min-width:0}@media (width<=1100px){.split{grid-template-columns:minmax(0,1fr)}}.faq details{border-bottom:2px dashed color-mix(in srgb, var(--ink) 25%, transparent);padding:4px 0}.faq summary{cursor:pointer;align-items:baseline;gap:12px;padding:10px 0;font-size:1.05rem;font-weight:750;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"Q.";font:700 1.5rem/1 var(--hand);color:var(--red);flex-shrink:0}.faq summary:after{content:"+";font:700 1.6rem/1 var(--hand);color:var(--ink-soft);margin-left:auto}.faq details[open] summary:after{content:"–"}.faq details>div{color:var(--ink-soft);gap:12px;padding:0 0 12px;display:flex}.faq details>div:before{content:"A.";font:700 1.5rem/1 var(--hand);color:var(--green);flex-shrink:0}.faq details>div p{margin:0}.crumbs ol{font:700 1.2rem/1.2 var(--hand);color:var(--muted);flex-wrap:wrap;gap:4px 8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:8px}.crumbs a{color:var(--ink-soft);text-decoration:none}.crumbs a:hover{color:var(--red)}.tag-row{flex-wrap:wrap;gap:10px;display:flex}.tag{border:2px solid var(--ink);background:var(--sheet);color:var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.tag:hover{background:var(--highlight);color:#1d1f33}.tag i{border:1.5px solid var(--ink);border-radius:3px;width:10px;height:10px}.foot{border-top:2px dashed color-mix(in srgb, var(--ink) 35%, transparent);color:var(--muted);margin-top:40px;padding:28px 0 36px;font-size:.93rem}.foot .end{font:700 1.6rem/1 var(--hand);color:var(--red);margin-bottom:14px}.foot nav{flex-wrap:wrap;gap:6px 18px;margin-bottom:12px;display:flex}.foot nav a{color:var(--ink-soft);font-weight:650;text-decoration:none}.foot nav a:hover{color:var(--red)}.empty{color:var(--muted);font:700 1.4rem/1.3 var(--hand);padding:24px 0}.hero{padding:6px 0 18px}.stats{font:700 1.35rem/1.2 var(--hand);color:var(--ink-soft);flex-wrap:wrap;gap:6px 22px;margin:14px 0 0;padding:0;list-style:none;display:flex}.stats li:before{content:"✓ ";color:var(--green)}.stats b{color:var(--red);font-weight:700}.chapter-mark{font:700 1.5rem/1 var(--hand);color:#fff;background:var(--c,var(--red));border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);margin-bottom:14px;padding:4px 12px 6px;display:inline-block;transform:rotate(-2deg)}.filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px;display:flex}.filters input,.filters select{border:2px solid var(--ink);background:var(--sheet);height:46px;color:var(--ink);font:600 1rem var(--body);box-shadow:3px 3px 0 var(--ink);border-radius:10px;padding:0 14px}.filters input{flex:260px}.brand-logo{width:52px;height:52px;filter:drop-shadow(3px 3px 0 var(--ink));flex-shrink:0}.mbar .brand-logo{width:40px;height:40px}.to-top{z-index:35;background:var(--highlight);color:#1d1f33;border:2px solid var(--ink);width:48px;height:48px;box-shadow:3px 3px 0 var(--ink);border-radius:50%;place-items:center;transition:transform .12s;display:grid;position:fixed;bottom:18px;right:18px}.to-top:hover{color:#1d1f33;transform:translateY(-3px)}.to-top[hidden]{display:none}.foot .social{flex-wrap:wrap;gap:8px 16px;margin:6px 0 14px;display:flex}.foot .social a{color:var(--ink-soft);font-weight:700}
