:root{--ground: #201819;--ink: #d0d1d4;--ink-soft: rgba(208, 209, 212, .62);--ink-faint: rgba(208, 209, 212, .22);--serif: "Newsreader", "Trirong", Georgia, serif;--measure: 34rem;color-scheme:dark}*{box-sizing:border-box}html{background:var(--ground);transition:background-color .6s ease}body{margin:0;background:var(--ground);color:var(--ink);font:500 17px/1.65 var(--serif);-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:1px solid var(--ink);outline-offset:3px}h1,h2,h3{font-weight:600;letter-spacing:.02em;line-height:1.2;margin:0;text-wrap:balance}em,i{font-style:italic}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.brand{position:fixed;top:24px;left:max(24px,env(safe-area-inset-left));z-index:20;display:flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{width:30px;height:30px;border:1px solid var(--ink);display:grid;place-items:center;font-size:15px}.brand b{display:block;font-size:17.6px;font-weight:600;letter-spacing:.02em;line-height:1.1}.brand i{font-size:16px;font-weight:600}.back{position:fixed;left:max(28px,env(safe-area-inset-left));top:92px;z-index:20;font-size:22px;text-decoration:none}.rail{position:fixed;left:max(28px,env(safe-area-inset-left));top:50%;transform:translateY(-50%);z-index:20;display:grid;gap:6px}.rail a{display:block;width:18px;height:7px;position:relative;text-decoration:none}.rail a:before{content:"";position:absolute;left:0;top:3px;width:16px;height:1px;background:var(--ink-soft);transition:width .2s,background .2s}.rail a[aria-current=true]:before,.rail a:hover:before{width:24px;background:var(--ink)}.rail a span{position:absolute;left:34px;top:-8px;white-space:nowrap;font-size:13px;opacity:0;transition:opacity .2s;pointer-events:none}.rail a:hover span,.rail a:focus-visible span{opacity:1}.stack-canvas{position:fixed;inset:0;width:100%;height:100%;display:block}.stack-spacer{position:relative}.caption{position:fixed;right:max(40px,env(safe-area-inset-right));bottom:40px;z-index:20;width:min(22rem,calc(100% - 80px));display:grid;gap:6px}.eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);display:flex;gap:10px;align-items:center}.eyebrow:before{content:"";width:28px;height:1px;background:var(--ink-soft)}.caption h2{font-size:28px}.caption .by{font-style:italic;color:var(--ink-soft);font-size:18px}.caption p{margin:4px 0 8px;color:var(--ink-soft);font-size:15px}.hint{position:fixed;bottom:32px;left:max(24px,env(safe-area-inset-left));font-size:12px;letter-spacing:.14em;color:var(--ink-soft);z-index:20}.fallback-list{list-style:none;padding:120px 24px;margin:0 auto;max-width:var(--measure);display:grid;gap:8px}.rows{display:grid}.row{display:grid;grid-template-columns:minmax(0,1fr) auto 40px;align-items:center;min-height:44px;border:1px solid var(--ink);margin-top:-1px;text-decoration:none;font-weight:700}.row>:first-child{padding:10px 16px}.row .meta{font-weight:500;color:var(--ink-soft);font-size:14px;padding-right:14px}.row .arr{border-left:1px solid var(--ink);align-self:stretch;display:grid;place-items:center;font-size:14px}.row:hover{background:#d0d1d40f}.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--ink);padding:8px 15px 6px;text-decoration:none;font-weight:600;letter-spacing:.02em;width:fit-content}.book{padding:0 max(24px,env(safe-area-inset-right)) 120px max(96px,env(safe-area-inset-left))}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--measure));gap:6vw;align-items:center;min-height:100vh;max-width:1180px;margin:0 auto;padding-block:120px 80px}.cover3d{width:100%;aspect-ratio:4 / 5;max-width:100%;cursor:grab;touch-action:none}.hero h1{font-size:clamp(28px,3.2vw,34px)}.hero .by{font-style:italic;color:var(--ink-soft);font-size:22px;margin-top:6px}.rule{width:60px;height:1px;background:var(--ink);margin:28px 0 40px;border:0}.prose{max-width:var(--measure)}.prose p{margin:0 0 1em}.prose h2{font-size:24px;margin:2em 0 .6em}.prose h3{font-size:19px;margin:1.8em 0 .5em}.prose ul,.prose ol{padding-left:1.2em}.prose blockquote{margin:1.4em 0;padding-left:18px;border-left:1px solid var(--ink);font-style:italic}.prose pre{overflow-x:auto;font-size:12px;line-height:1.35;border:1px solid var(--ink-faint);padding:16px}.prose code{font-size:.9em}.prose table{border-collapse:collapse;display:block;overflow-x:auto;font-size:15px}.prose td,.prose th{border:1px solid var(--ink-faint);padding:6px 10px;text-align:left;vertical-align:top}.prose hr{border:0;height:1px;background:var(--ink-faint);margin:2.4em 0}.wl{text-decoration:underline;text-decoration-color:var(--ink-soft);text-underline-offset:3px}.wl-x{border-bottom:1px dotted var(--ink-faint)}.section{max-width:1180px;margin:0 auto;padding-top:110px}.section>header{display:grid;gap:6px;margin-bottom:36px;max-width:var(--measure)}.section>header h2{font-size:30px}.section>header p{color:var(--ink-soft);margin:0}.free-tag{font-size:12px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink-faint);padding:2px 8px;width:fit-content}.checks{list-style:none;padding:0;margin:0;max-width:var(--measure);counter-reset:q}.checks li{counter-increment:q;border-top:1px solid var(--ink-faint);padding:16px 0 16px 44px;position:relative}.checks li:before{content:counter(q,decimal-leading-zero);position:absolute;left:0;top:17px;font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.map-part{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:24px;border-top:1px solid var(--ink);padding:22px 0 34px}.map-part h3{font-size:20px}.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:0 28px}.topic{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:2px 8px;padding:12px 0;border-bottom:1px solid var(--ink-faint);text-decoration:none}.topic .n{color:var(--ink-soft);font-size:13px;font-variant-numeric:tabular-nums;padding-top:3px}.topic b{font-weight:600}.topic small{grid-column:2;color:var(--ink-soft);font-size:13px;line-height:1.5}.lvl{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.lvl:before{content:"●";margin-right:6px;font-size:8px;vertical-align:2px}.lvl-FOUNDATION:before{content:"●"}.lvl-BRIDGE:before{content:"◐"}.lvl-ADVANCED:before{content:"○"}.waves{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px;padding:0;list-style:none;font-size:14px}.waves li{border:1px solid var(--ink-faint);padding:4px 10px}.flow-block{border-top:1px solid var(--ink);padding:22px 0 40px}.flow-block h3{font-size:20px;margin-bottom:14px}.flow-scroll{overflow-x:auto;padding-bottom:8px}.flow{display:block;max-width:none}.fl-box{fill:transparent;stroke:var(--ink);stroke-width:1}.fl-node:hover .fl-box,.fl-node:focus-visible .fl-box{fill:#d0d1d41a}.fl-missing .fl-box{stroke-dasharray:3 3;stroke:var(--ink-soft)}.fl-label{fill:var(--ink);font:600 13.5px var(--serif)}.fl-edge{fill:none;stroke:var(--ink-soft);stroke-width:1}.fl-arrow{fill:var(--ink-soft)}.fl-verb{fill:var(--ink-soft);font:italic 500 12.5px var(--serif);paint-order:stroke;stroke:var(--ground);stroke-width:5px}details.fl-text{max-width:var(--measure);margin-top:10px;font-size:15px;color:var(--ink-soft)}details.fl-text summary{cursor:pointer}details.fl-text li{margin:6px 0}.shelf-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:0 28px}.shelf-mini a{display:grid;grid-template-columns:10px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--ink-faint);text-decoration:none}.shelf-mini i{display:block;width:10px;height:100%;min-height:34px}.shelf-mini small{display:block;color:var(--ink-soft);font-style:italic}.page{max-width:1280px;margin:0 auto;padding:130px max(24px,env(safe-area-inset-right)) 120px max(96px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,var(--measure)) minmax(0,18rem);gap:6vw}.page aside{position:sticky;top:120px;align-self:start;display:grid;gap:10px;font-size:15px}.page aside h4{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.page aside ul{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:6px}@media(max-width:860px){.book{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.hero{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:96px;gap:24px}.cover3d{max-width:22rem;margin:0 auto}.map-part{grid-template-columns:minmax(0,1fr)}.page{grid-template-columns:minmax(0,1fr);padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.page aside{position:static}.rail,.back{display:none}.caption{left:20px;right:20px;width:auto;bottom:24px}.hint{display:none}}@media(prefers-reduced-motion:reduce){html{transition:none}*{transition:none!important}}[data-lang=th] .en,[data-lang=en] .th{display:none!important}.lang-note{display:none}[data-lang=en] .lang-note.only-en,[data-lang=th] .lang-note.only-th{display:block}.lang-note{position:fixed;bottom:18px;right:max(24px,env(safe-area-inset-right));z-index:30;margin:0;font-size:13px;border:1px solid var(--ink-soft);padding:6px 12px;background:var(--ground);max-width:22rem}html[data-reading=paper]{--ground: #f3ecdf !important;--ink: #2b2620 !important;--ink-soft: #7a6f60 !important;--ink-faint: rgba(43, 38, 32, .2) !important;--chrome: #2b2620 !important}.brand,.rail a,.back,.prefs button,.hint{color:var(--chrome);transition:color .3s}.rail a:before{background:color-mix(in srgb,var(--chrome) 55%,transparent)}.rail a[aria-current=true]:before,.rail a:hover:before{background:var(--chrome)}.brand-mark{border-color:var(--chrome)}.prefs{position:fixed;top:24px;right:max(24px,env(safe-area-inset-right));z-index:30;display:flex;gap:0}.prefs button{background:transparent;border:1px solid var(--chrome);font:600 14px var(--serif);padding:6px 12px 4px;cursor:pointer;margin-left:-1px}.prefs button[aria-pressed=true]{background:var(--chrome);color:var(--ground)}.stack-zone{position:relative}.stack-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.stack-sticky .stack-canvas,.stack-sticky .caption,.stack-sticky .hint{position:absolute}.vol{background:var(--ground);color:var(--ink);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--measure));gap:6vw;padding:0 max(40px,env(safe-area-inset-right)) 0 max(110px,env(safe-area-inset-left))}.vol-cover{position:sticky;top:12vh;height:76vh;align-self:start}.vol-cover canvas,.vol-cover img{width:100%;height:100%;display:block;object-fit:contain}.vol-cover canvas{cursor:grab;touch-action:none}.vol-text{padding-block:22vh 24vh;display:grid;gap:28px;align-content:start}.vol-text h2{font-size:clamp(30px,3vw,40px);line-height:1.15}.vol-text .by{font-style:italic;color:var(--ink-soft);font-size:22px;margin-top:-18px}.group{display:flex;flex-wrap:wrap}.group a{border:1px solid var(--ink);margin-left:-1px;padding:12px 20px 10px;font-weight:700;text-decoration:none}.group a:first-child{margin-left:0}.group a:hover{background:color-mix(in srgb,var(--ink) 10%,transparent)}.hook{font-size:24px;line-height:1.5;font-weight:600;margin:0}.vol-text .body{margin:0}.question{border-top:1px solid var(--ink);padding-top:20px;margin:0;font-style:italic;font-size:21px;line-height:1.55}.question small{display:block;font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}.dive{background:var(--card);color:var(--ground);padding:34px 34px 30px;display:grid;gap:14px;text-decoration:none;font-family:IBM Plex Sans Thai,system-ui,sans-serif;min-height:20rem;align-content:space-between}.dive .top{display:grid;grid-template-columns:auto 1fr;gap:6px 28px;font-size:15px;line-height:1.35;font-weight:500}.dive .top em{font-style:normal;opacity:.75}.dive .idea{font-size:15px;line-height:1.6;opacity:.92;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.dive .go{border:1px solid currentColor;width:fit-content;padding:8px 14px;font-weight:600;font-size:14px}.vol .rows{max-width:var(--measure)}.vol .row,.vol .row .arr{border-color:var(--ink)}.vol .soon{color:var(--ink-soft);font-style:italic;margin:0}.end-note{text-align:center;padding:80px 20px;color:var(--ink-soft)}@media(max-width:860px){.vol{grid-template-columns:minmax(0,1fr);padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));gap:0}.vol-cover{position:relative;top:0;height:56vh;margin-top:10vh}.vol-text{padding-block:24px 90px}.prefs{top:auto;bottom:16px;right:16px}}.hero-short{min-height:0;padding-block:120px 20px}.hero-short .cover3d{max-width:22rem}.start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5vw;align-items:start}.sec-head{display:grid;gap:6px;margin-bottom:26px}.sec-head h2{font-size:30px}.sec-head p{color:var(--ink-soft);margin:0}.lesson-rows .row{transition:opacity .25s,background .25s}.lesson-rows.filtering .row:not(.pick){opacity:.35}.lesson-rows .row.pick{background:color-mix(in srgb,var(--ink) 12%,transparent)}.pick-tag{display:none;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink);padding:1px 6px;margin-right:10px;vertical-align:2px}.lesson-rows.filtering .row.pick .pick-tag{display:inline-block}.qs{list-style:none;padding:0;margin:0;display:grid}.qs li{border-top:1px solid var(--ink-faint)}.q{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:8px;padding:14px 10px 14px 0;width:100%;font-size:16px;line-height:1.6;color:var(--ink)}.q .qn{color:var(--ink-soft);font-size:13px;padding-top:3px;font-variant-numeric:tabular-nums}.q:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.q:focus-visible{outline:1px solid var(--ink)}.q[aria-pressed=true]{background:color-mix(in srgb,var(--ink) 12%,transparent);font-weight:600}.q[aria-pressed=true] .qn:before{content:"→ "}.q-notes{display:none;margin:0 0 14px 2.4rem;font-size:14px;color:var(--ink-soft)}.q[aria-pressed=true]+.q-notes{display:block}.wcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:14px}.wcard{border:1px solid var(--ink-faint);padding:18px 18px 16px;display:grid;gap:10px;align-content:start;text-decoration:none;transition:border-color .2s,background .2s}.wcard:hover{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.wc-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.wcard b{font-size:18px;line-height:1.3;font-weight:600}.wc-ex{font-size:14.5px;line-height:1.6;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.wc-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}@media(max-width:860px){.start{grid-template-columns:minmax(0,1fr)}}.start>div:first-child{position:sticky;top:100px}@media(max-width:860px){.start>div:first-child{position:static}}.vol{display:block;padding:0 max(40px,env(safe-area-inset-right)) 52vh max(110px,env(safe-area-inset-left))}.vol-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--measure));gap:6vw}.vol-cover{position:sticky;top:12vh;height:76vh;margin-top:-30vh;z-index:2}.vol-text{padding-block:20vh 10vh}.vol-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw;padding-top:12vh;max-width:1280px}.hl{display:grid;gap:14px;align-content:start;text-decoration:none}.hl-label{display:flex;align-items:center;gap:16px;font-style:italic;font-size:22px;color:var(--ink-soft)}.hl-label:before{content:"";width:80px;height:1px;background:currentColor}.hl b{font-size:22px;font-weight:600}.hl p{margin:0;line-height:1.65}.hl-quote{font-size:56px;line-height:.6;height:26px;color:var(--ink-soft);font-weight:700}.hl-src{border-top:1px solid var(--ink-soft);width:fit-content;min-width:60px;padding-top:14px;margin-top:6px;color:var(--ink-soft);font-size:15px}.hl-src b{font-size:17px;color:var(--ink)}.hl-flow{border:1px solid var(--ink-faint);padding:12px;overflow:hidden}.hl-flow svg{width:100%;height:auto;pointer-events:none}.hl:hover b,.hl:hover .hl-label{color:var(--ink)}@media(max-width:860px){.vol{padding-bottom:30vh}.vol-main{grid-template-columns:minmax(0,1fr);gap:0}.vol-cover{position:relative;top:0;margin-top:-12vh;height:52vh}.vol-highlights{grid-template-columns:minmax(0,1fr);gap:48px}}.hl-head{grid-column:1 / -1;margin-bottom:8px}.vol-highlights .hl-quote{font-size:72px;height:34px;margin-bottom:6px}.vol-highlights .hl{padding:22px 24px 24px;margin:-22px -24px 0;transition:background-color .25s,color .25s}.vol-highlights .hl:hover,.vol-highlights .hl:focus-visible{background:var(--card);color:var(--ground)}.vol-highlights .hl:hover :is(b,p,.hl-src,.hl-quote),.vol-highlights .hl:focus-visible :is(b,p,.hl-src,.hl-quote){color:var(--ground)}.vol-highlights .hl:hover .hl-src{border-top-color:var(--ground)}.fl-edge{stroke:color-mix(in srgb,var(--ink) 62%,transparent);stroke-width:1.5;transition:opacity .2s,stroke .2s}.fl-arrow{fill:color-mix(in srgb,var(--ink) 62%,transparent)}.fl-verb{fill:var(--ink);font-size:13px;stroke-width:7px;transition:opacity .2s}.fl-node,.fl-edge,.fl-verb{transition:opacity .2s}.flow.focus .fl-edge,.flow.focus .fl-verb,.flow.focus .fl-node{opacity:.12}.flow.focus .on{opacity:1!important}.flow.focus .fl-edge.on{stroke:var(--ink);stroke-width:2.2}.flow.focus .fl-node.on .fl-box{fill:color-mix(in srgb,var(--ink) 12%,transparent)}.fl-box{fill:var(--ground)}.vol-highlights .flip{perspective:1400px;aspect-ratio:3 / 4.2;outline:none;cursor:pointer}.flip-in{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}.flip:hover .flip-in,.flip:focus-visible .flip-in,.flip.flipped .flip-in{transform:rotateY(180deg)}.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--ink-faint);display:grid;overflow:hidden}.flip-front{grid-template-rows:minmax(0,1fr) auto auto;background:color-mix(in srgb,var(--ground) 82%,#000)}.flip-front .dither{width:100%;height:100%;display:block}.flip-meta{display:grid;gap:6px;padding:18px 20px 6px}.flip-meta b{font-size:21px;line-height:1.25;font-weight:600}.flip-meta .hl-src{border:0;padding:0;margin:0}.flip-no{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.flip-hint{padding:6px 20px 16px;font-size:12px;color:var(--ink-soft)}.flip-back{transform:rotateY(180deg);background:var(--card);color:var(--ground);padding:26px 24px 22px;align-content:space-between;gap:16px}.flip-back .flip-no{color:var(--ground);opacity:.75}.flip-back p{margin:0;font-size:15.5px;line-height:1.65;overflow:hidden}.flip-back .go{border:1px solid currentColor;width:fit-content;padding:9px 15px 7px;font-weight:700;text-decoration:none}.flip-back .go:hover{background:var(--ground);color:var(--card)}@media(hover:none){.flip:hover .flip-in{transform:none}.flip.flipped .flip-in{transform:rotateY(180deg)}}@media(prefers-reduced-motion:reduce){.flip-in{transition:none}}@media(max-width:860px){.vol-highlights .flip{aspect-ratio:3 / 3.6}}.folder{display:grid;align-content:start;gap:14px;--r: 14px}.folder-btn{all:unset;position:relative;width:150px;height:182px;margin-top:44px;cursor:pointer;display:block;perspective:900px}.folder-btn:focus-visible{outline:1px solid var(--ink);outline-offset:8px;border-radius:var(--r)}.folder-back{position:absolute;inset:4px -8px 4px 10px;border-radius:var(--r);background:color-mix(in srgb,var(--folder) 62%,var(--ground))}.folder-page{position:absolute;inset:12px 0 12px 14px;border-radius:8px;background:#f6f1e7;opacity:0;transition:opacity .3s}.folder-stamps{position:absolute;left:22px;top:22px;width:84px;height:108px}.folder-front{position:absolute;inset:0;border-radius:var(--r);padding:14px 14px 16px;display:grid;align-content:end;gap:2px;z-index:3;background:color-mix(in srgb,var(--folder) 78%,transparent);color:var(--folder-ink);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);box-shadow:inset 0 1px #ffffff4d,0 16px 34px -16px #00000080;transform-origin:left center;transition:transform .6s cubic-bezier(.2,.75,.2,1);backface-visibility:hidden}.folder-title{font:600 15px IBM Plex Sans Thai,system-ui,sans-serif}.folder-count{font:500 10.5px IBM Plex Sans Thai,system-ui,sans-serif;opacity:.78}.folder-lines{display:grid;gap:5px;margin-top:11px}.folder-lines i{display:block;height:1px;background:currentColor;opacity:.35}.folder-seal{position:absolute;top:12px;left:14px;font:700 10px IBM Plex Sans Thai,system-ui,sans-serif;letter-spacing:.08em;border:1px solid currentColor;border-radius:999px;padding:2px 8px}.stamp{position:absolute;left:0;top:0;width:84px;height:108px;padding:4px;text-decoration:none;z-index:2;background:radial-gradient(circle,transparent 2.2px,#f6f1e7 2.6px) -4px -4px / 8px 8px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.18));transform:translate(calc(var(--i) * 3px),calc(var(--i) * -3px)) rotate(calc(var(--i) * 3deg - 2deg));transition:transform .6s cubic-bezier(.2,.75,.2,1) calc(var(--i) * 40ms)}.stamp-face{display:grid;grid-template-rows:1fr auto;height:100%;background:#f6f1e7;color:#2b2620;border:1px solid rgba(43,38,32,.14);overflow:hidden}.stamp-art{width:100%;height:100%;display:block;background:var(--ground);--card: var(--folder)}.stamp-txt{padding:4px 5px 5px;display:grid;gap:1px;font:600 9.5px/1.2 IBM Plex Sans Thai,system-ui,sans-serif}.stamp-txt small{font-weight:500;font-size:8.5px;opacity:.65;display:flex;justify-content:space-between}.stamp-empty{background:none;border:1px dashed color-mix(in srgb,var(--ink) 45%,transparent);filter:none}.stamp-empty .stamp-face{background:none;border:0;color:var(--ink-soft);place-items:center;text-align:center;font:500 10px IBM Plex Sans Thai,system-ui,sans-serif;padding:6px;grid-template-rows:none}.folder-btn:hover .folder-front{transform:rotateY(-26deg)}.folder-btn:hover .stamp{transform:translate(calc(104px + var(--i) * 10px),calc(var(--i) * -2px)) rotate(calc(var(--i) * 4deg + 6deg))}.folder.open .folder-front{transform:rotateY(-72deg)}.folder.open .folder-page{opacity:1}.folder.open .stamp{transform:translate(calc(var(--i) * min(92px,260px / var(--n)))) rotate(0)}.folder-note{margin:0;font-size:13px;color:var(--ink-soft)}.finish{margin-top:56px;width:100%;border:1px solid var(--ink);background:transparent;color:var(--ink);font:700 17px var(--serif);padding:16px 18px 14px;cursor:pointer;text-align:left}.finish:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.finish.done{background:var(--ink);color:var(--ground)}.finish.pop{animation:pop .5s ease}@keyframes pop{30%{transform:scale(1.03)}to{transform:none}}@media(prefers-reduced-motion:reduce){.stamp,.folder-front{transition:none}.finish.pop{animation:none}}.stamp.todo{opacity:0;filter:grayscale(1)}.stamp.todo .stamp-face{background:transparent;border:1px dashed color-mix(in srgb,var(--ink) 50%,transparent);color:var(--ink-soft)}.stamp.todo{background:none}.stamp.todo .stamp-art{opacity:.25}.folder-btn:hover .stamp.todo,.folder.open .stamp-empty{opacity:0}.folder.open .stamp{opacity:1;z-index:4;transform:translate(calc(cos(var(--a))*170px + 40px),calc(sin(var(--a))*170px)) rotate(calc(var(--a) * .35))}.folder.open .stamp.todo{opacity:.55}.folder.open .stamp.todo:hover{opacity:.9}.zoom{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#0a0c0c00;transition:background .35s;padding:24px}.zoom.on{background:#0a0c0c9e}.zoom-card{width:min(340px,86vw);aspect-ratio:3 / 4.4;perspective:1600px;cursor:pointer;outline:none;transition:transform .55s cubic-bezier(.2,.75,.2,1),opacity .35s}.zoom:not(.on) .zoom-card{opacity:0}.zoom-in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.75,.2,1)}.zoom-card.flipped .zoom-in{transform:rotateY(180deg)}.zoom-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f7f3ec;color:#1f1c18;box-shadow:0 30px 80px -30px #0009;display:grid;padding:22px 22px 20px}.zoom-front{grid-template-rows:auto 1fr auto auto auto;text-align:center}.zl{font:500 10px/1.5 IBM Plex Mono,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}.zl small{font-size:9px;opacity:.7}.zoom-front h3{align-self:center;font:400 clamp(30px,5.4vw,40px)/1.02 "Newsreader","Trirong",serif;text-transform:uppercase;letter-spacing:.01em;margin:0}.zsub{margin:10px 0 18px;font:italic 400 16px/1.35 Newsreader,Trirong,serif}.zl-b{margin-top:8px}.zhint{margin-top:12px;font-size:11px;opacity:.55}.zoom-back{transform:rotateY(180deg);background:var(--card, #d9b56a);color:var(--ground, #111);align-content:space-between;gap:16px}.zoom-back p{margin:0;font:500 15.5px/1.7 Trirong,Newsreader,serif;overflow:hidden}.zgo{border:1px solid currentColor;width:fit-content;padding:10px 16px 8px;font:700 15px Newsreader,Trirong,serif;text-decoration:none;color:inherit}.zgo:hover{background:var(--ground);color:var(--card)}.zclose{position:fixed;top:calc(20px + env(safe-area-inset-top,0px));right:max(20px,env(safe-area-inset-right));width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;font-size:22px;cursor:pointer;opacity:0;transition:opacity .3s}.zoom.on .zclose{opacity:1}@media(prefers-reduced-motion:reduce){.zoom-card,.zoom-in{transition:none}}.zoom-front{grid-template-rows:auto auto auto minmax(0,1fr) auto auto;text-align:left;gap:0}.zoom-front h3{align-self:start;font-size:clamp(30px,5vw,38px)}.zoom-front .zsub{margin:6px 0 14px}.zrow{display:flex;justify-content:space-between;gap:10px;font:500 9.5px/1.4 IBM Plex Mono,ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;padding-bottom:6px}.zrow-b{padding:8px 0 0}.zart{width:100%;height:100%;min-height:0;display:block;background:var(--ground)}.zoom-front .zhint{text-align:center;margin-top:8px}.vol-highlights .hl:hover,.vol-highlights .hl:focus-visible{background:none;color:var(--hl, var(--card))}.vol-highlights .hl:hover :is(b,p,.hl-src,.hl-quote),.vol-highlights .hl:focus-visible :is(b,p,.hl-src,.hl-quote){color:var(--hl, var(--card))}.vol-highlights .hl:hover .hl-src{border-top-color:var(--hl, var(--card))}.hl-off{cursor:default}.zgo-off{opacity:.7;border-style:dashed}.album{position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:24px;background:#0a0c0c00;transition:background .3s}.album.on{background:#0a0c0c9e}.album-page{width:min(860px,100%);max-height:86vh;overflow:auto;background:#f7f3ec;color:#1f1c18;padding:26px 28px 22px;border-radius:14px;display:grid;gap:22px;transform:translateY(16px) scale(.98);opacity:0;transition:transform .35s cubic-bezier(.2,.75,.2,1),opacity .3s}.album.on .album-page{transform:none;opacity:1}.album-page header{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;font:500 13px IBM Plex Sans Thai,system-ui,sans-serif}.album-page header b{font:600 22px Newsreader,Trirong,serif}.album-bar{grid-column:1 / -1;height:4px;background:#1f1c181a;border-radius:2px;overflow:hidden;display:block}.album-bar i{display:block;height:100%;background:var(--folder)}.album-page h4{margin:0 0 12px;font:500 11px IBM Plex Mono,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}.album-page h4 small{opacity:.55;margin-left:6px}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:16px 14px}.album .stamp{position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:84 / 108;transform:none;opacity:1;transition:transform .2s}.album .stamp:hover{transform:translateY(-4px) rotate(-1.5deg)}.album .stamp.todo{opacity:.5;filter:grayscale(1)}.album .stamp.todo .stamp-face{border-color:#1f1c1859;color:#6f675c}.album .stamp.todo:hover{opacity:.85}.album-note{margin:0;font-size:12px;opacity:.6}.zoom{z-index:70}.folders{position:relative;width:186px;height:210px;margin-top:30px}.fset{position:absolute;left:0;bottom:0;z-index:calc(10 - var(--p));transform:translate(calc(var(--p) * 16px),calc(var(--p) * -14px)) scale(calc(1 - var(--p) * .05));transform-origin:left bottom;transition:transform .5s cubic-bezier(.2,.75,.2,1),filter .4s}.fset:not(.front){filter:brightness(.82)}.fset:not(.front):hover{transform:translate(calc(var(--p) * 16px + 4px),calc(var(--p) * -14px - 6px)) scale(calc(1 - var(--p) * .05));filter:none}.fset .folder-btn{margin-top:0}.folder.open .fset:not(.front){opacity:.25}.ftabs{display:flex;flex-wrap:wrap;gap:6px}.ftabs button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ink-faint);background:transparent;color:var(--ink-soft);border-radius:999px;padding:5px 11px 5px 7px;font:500 12px IBM Plex Sans Thai,system-ui,sans-serif;cursor:pointer;transition:all .25s}.ftabs button i{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px #00000026}.ftabs button small{opacity:.7}.ftabs button[aria-selected=true]{border-color:var(--ink);color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.folder.open .fset.front .stamp{transform:translate(calc(cos(var(--a))*170px + 96px),calc(sin(var(--a))*150px - 20px)) rotate(calc(var(--a) * .35))}.folder.open .stamp.todo{opacity:.8}.stamp.todo .stamp-face{background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink)}.folders{width:230px;height:236px}.fset{transform:translate(calc(var(--p) * 34px),calc(var(--p) * -26px)) scale(calc(1 - var(--p) * .04))}.fset:not(.front):hover{transform:translate(calc(var(--p) * 34px + 4px),calc(var(--p) * -26px - 6px)) scale(calc(1 - var(--p) * .04))}.folder{position:relative}.folder.open .fset.front .stamp{transform:translate(var(--gx),var(--gy)) rotate(0)}.folder.open .stamp.todo{opacity:.9}.folder:after{content:"";position:absolute;left:252px;top:0;width:calc(var(--cols, 4) * 104px + 28px);height:calc(var(--rows, 1) * 132px + 24px);border-radius:16px;background:color-mix(in srgb,var(--ground) 70%,#000);border:1px solid var(--ink-faint);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s;pointer-events:none;z-index:1}.folder.open:after{opacity:.92;transform:none}.folder .fset{z-index:calc(10 - var(--p))}.folder.open .fset.front{z-index:12}.folder.open .fset.front .stamp:hover{transform:translate(var(--gx),calc(var(--gy) - 6px)) rotate(-1.5deg)}.folder.open{z-index:20}.folder:after{background:color-mix(in srgb,var(--ground) 82%,#000)}.folder.open:after{opacity:1;box-shadow:0 24px 60px -20px #00000080}.folder.open .stamp.todo .stamp-face{background:color-mix(in srgb,var(--ink) 16%,var(--ground))}.folder.open .stamp.todo .stamp-art{opacity:.45}.folder:after{top:36px;height:calc(var(--rows, 1) * 132px);left:258px;width:calc(var(--cols, 4) * 104px + 20px)}.folder:after{background:color-mix(in srgb,var(--ground) 35%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-color:color-mix(in srgb,var(--ink) 18%,transparent)}.folder:after{background:color-mix(in srgb,var(--ground) 70%,transparent)}.folder:after{background:color-mix(in srgb,var(--ground) 70%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-color:color-mix(in srgb,var(--ink) 22%,transparent)}.folder.open:after{opacity:1}.folder.open .fset:not(.front){opacity:1}.folder.open .fset:not(.front) .folder-front{transform:none}.folder.open .fset:not(.front) .folder-page{opacity:0}.folder-btn:hover .folder-front{transform:none}.fset.front .folder-btn:hover .folder-front{transform:rotateY(-26deg)}.folder.open .fset.front .folder-front{transform:rotateY(-72deg)}.folder:after{background:color-mix(in srgb,var(--ground) 90%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.folder:after{background:color-mix(in srgb,var(--ground) 80%,transparent)}.vol-highlights .folder{align-self:start}.folders{margin-top:0}.folders{margin-top:-17px}.ftabs{margin-top:18px}.ftabs{margin-top:30px}.folder:after{top:-14px}.fset{transition:transform .5s cubic-bezier(.2,.75,.2,1),filter .35s,opacity .35s}.folders:has(.fset.front .folder-btn:hover) .fset:not(.front){filter:blur(2px) brightness(.82);opacity:.45}.fset.rising{animation:rise .6s cubic-bezier(.2,.75,.2,1)}@keyframes rise{0%{translate:0 0}40%{translate:-14px -46px;rotate:-3deg}to{translate:0 0;rotate:0deg}}@media(prefers-reduced-motion:reduce){.fset.rising{animation:none}}.fset{transition:transform .9s cubic-bezier(.33,1,.68,1),filter .5s ease,opacity .5s ease}.fset.rising{animation:rise .9s cubic-bezier(.45,0,.2,1)}@keyframes rise{0%{translate:0 0;rotate:0deg}45%{translate:-8px -30px;rotate:-2deg}to{translate:0 0;rotate:0deg}}.fset{transition:transform .7s cubic-bezier(.33,1,.68,1),filter .4s ease,opacity .4s ease}.fset.rising{animation-duration:.7s}.rail{gap:0;padding:0;margin-left:0;z-index:40}.rail a{width:16px;height:13px;padding:5px 0;position:relative;display:block;text-decoration:none}.rail a:before{content:"";position:static;display:block;width:16px;height:3px;border-radius:0;background:var(--chrome);opacity:.3;transform:scaleX(var(--s, 1));transform-origin:0 0;transition:transform .2s,opacity .2s}.rail a[aria-current=true]:before{opacity:1}.rail:hover a[aria-current=true]:not(.peak):before{opacity:.3}.rail a.peak:before{opacity:1}.rail a span{position:absolute;left:90px;top:50%;transform:translateY(-50%);opacity:0;max-width:none;white-space:nowrap;font:600 15px var(--serif);letter-spacing:.32px;color:var(--chrome);pointer-events:none;transition:none}.rail a.peak span{opacity:1}.rail:not(:hover) a span{opacity:0}body:after{content:"";position:fixed;inset:0;z-index:35;pointer-events:none;opacity:0;transition:opacity .3s;background:var(--ground)}html.rail-peek body:after{opacity:.9}.rail a:before{animation:tick-in .3s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(.4s + var(--i, 0) * .1s)}@keyframes tick-in{0%{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.rail a:before{animation:none;transition:none}}body:has(.sheet) .brand,body:has(.sheet) .back{display:none}body:has(.sheet) .prefs{top:7px;right:64px}body:has(.sheet) .prefs button{padding:3px 9px 2px;font:500 11px IBM Plex Mono,monospace;letter-spacing:.1em}.rbar{position:fixed;left:0;right:0;z-index:30;display:flex;align-items:center;gap:10px;padding:9px max(24px,env(safe-area-inset-right)) 9px max(24px,env(safe-area-inset-left));background:var(--ground);font:500 12px/1 IBM Plex Mono,ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.rbar-top{top:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.rbar-bot{bottom:0;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.rbar i{font-style:normal;opacity:.5}.rb-grow{flex:1}.rb-chip{background:var(--ink);color:var(--ground);padding:5px 9px 4px;border-radius:5px;text-decoration:none}.rb-link{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}.rb-link:hover{text-decoration:underline}.rb-pct{position:relative;border:1px solid var(--ink);border-radius:999px;padding:4px 10px 3px;min-width:76px;text-align:center;overflow:hidden}.rb-pct b{position:absolute;left:0;top:0;bottom:0;background:var(--ink)}.rb-pct em{position:relative;font-style:normal;mix-blend-mode:difference;color:#fff}.rb-menu{background:none;border:0;font-size:20px;line-height:1;cursor:pointer;color:var(--ink);padding:0 2px}.sheet{min-height:100vh;margin:0 max(24px,2vw);padding:96px 20px 120px;border-left:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-right:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.rtext{max-width:46rem;margin:0 auto}.rhead{text-align:center;padding:30px 0 46px;display:grid;gap:10px}.rk{font:500 11px IBM Plex Mono,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.rhead h1{font:400 clamp(36px,5vw,56px)/1.05 "Instrument Serif","Newsreader","Trirong",serif;font-style:italic;letter-spacing:-.01em}.rsub{margin:0;font:italic 400 21px Newsreader,Trirong,serif;color:var(--ink-soft)}.rbody{font:400 20px/1.62 Newsreader,Trirong,Georgia,serif;text-align:justify;hyphens:auto;color:var(--ink)}.rbody p{margin:0;text-indent:2.6em}.rbody h2+p,.rbody h3+p,.rbody blockquote+p,.rbody pre+p,.rbody ul+p,.rbody ol+p,.rbody table+p{text-indent:0}.rbody h2{margin:2.4em 0 1.1em;text-align:center;font:500 12px IBM Plex Mono,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:14px}.rbody h2:before,.rbody h2:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--ink) 18%,transparent)}.rbody h3{margin:1.6em 0 .4em;font:italic 600 21px Newsreader,Trirong,serif;text-align:left}.rbody ul,.rbody ol{margin:.4em 0 .8em;padding-left:1.4em;text-align:left}.rbody li{margin:.2em 0}.rbody strong{font-weight:600}.rbody blockquote{margin:1em 0;padding:0 0 0 1.2em;border-left:1px solid var(--ink);font-style:italic;text-align:left}.rbody blockquote.pull{margin:1.6em 4% 1.8em;padding:0;border:0;font:italic 400 clamp(30px,4.2vw,46px)/1.16 "Instrument Serif","Newsreader","Trirong",serif;letter-spacing:-.01em}.rbody blockquote.pull p{text-indent:0;text-align:left}.rbody pre{margin:1.4em 0;padding:18px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);font:13px/1.45 IBM Plex Mono,ui-monospace,monospace;overflow-x:auto;text-align:left}.rbody table{width:100%;border-collapse:collapse;font-size:16px;margin:1.2em 0;text-align:left;display:block;overflow-x:auto}.rbody td,.rbody th{border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);padding:6px 10px}.rbody hr{border:0;text-align:center;margin:2em 0}.rbody hr:after{content:"· · ·";letter-spacing:.6em;color:var(--ink-soft)}.rside{position:fixed;inset:0;z-index:50;background:color-mix(in srgb,var(--ink) 25%,transparent);display:flex;justify-content:flex-end}.rside-in{width:min(380px,90vw);height:100%;overflow:auto;background:var(--ground);border-left:1px solid var(--ink);padding:70px 26px 40px;display:grid;gap:18px;align-content:start}.rside ol{list-style:none;margin:0;padding:0;display:grid}.rside li a{display:grid;grid-template-columns:2.4em 1fr;padding:10px 0;border-top:1px solid color-mix(in srgb,var(--ink) 15%,transparent);text-decoration:none;font:17px/1.35 Newsreader,Trirong,serif}.rside li a small{font:500 11px IBM Plex Mono,monospace;color:var(--ink-soft);padding-top:4px}.rside li a[aria-current=page]{font-weight:600}.lang-note{bottom:52px}@media(max-width:760px){.rbar-top>:nth-child(n+6):not(.rb-pct):not(.rb-menu):not(i:last-of-type){display:none}.rbody{font-size:18px;text-align:left}.sheet{margin:0;border:0}}.rside[hidden]{display:none}body:has(.sheet) .prefs{z-index:31;top:9px;right:110px}.rtext{max-width:39rem}.rhead{text-align:left;padding:24px 0 40px;gap:8px}.rhead h1{font:600 clamp(32px,4.4vw,44px)/1.15 "Geist","IBM Plex Sans Thai",system-ui,sans-serif;font-style:normal;letter-spacing:-.02em}.rsub{font:400 19px/1.5 Geist,IBM Plex Sans Thai,system-ui,sans-serif;font-style:normal;color:var(--ink-soft)}.rbody{font:400 19px/1.62 Geist,IBM Plex Sans Thai,system-ui,sans-serif;letter-spacing:-.003em;text-align:left;hyphens:manual;text-wrap:pretty;color:#262523}.rbody :lang(th),.rbody{word-break:normal}.rbody p{text-indent:0;margin:0 0 1.25em}.rbody h2{display:block;margin:2.4em 0 .7em;text-align:left;font:600 22px/1.3 Geist,IBM Plex Sans Thai,system-ui,sans-serif;letter-spacing:-.01em;text-transform:none;color:var(--ink)}.rbody h2:before,.rbody h2:after{content:none}.rbody h3{margin:1.8em 0 .5em;font:600 19px/1.4 Geist,IBM Plex Sans Thai,system-ui,sans-serif;font-style:normal}.rbody ul,.rbody ol{margin:0 0 1.25em;padding-left:1.25em}.rbody li{margin:0 0 .45em;padding-left:.2em}.rbody li::marker{color:var(--ink-soft)}.rbody strong{font-weight:600;color:var(--ink)}.rbody a,.rbody .wl{color:inherit;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:color-mix(in srgb,var(--ink) 18%,transparent);text-underline-offset:4px}.rbody blockquote{margin:1.4em 0;padding:0 0 0 1em;border-left:2px solid color-mix(in srgb,var(--ink) 20%,transparent);font-style:normal;color:var(--ink-soft)}.rbody blockquote.pull{margin:1.2em 0 1.6em -1.2em;padding:0;border:0;font:400 30px/1.3 Gochi Hand,Mali,cursive;letter-spacing:0;color:#6f6c66}.rbody blockquote p{margin:0 0 .6em}.rbody pre{font-size:13px;line-height:1.5;border-radius:6px;background:color-mix(in srgb,var(--ink) 4%,transparent);border-color:transparent}@media(max-width:760px){.rbody{font-size:17.5px;line-height:1.68}.rbody blockquote.pull{margin-left:0;font-size:25px}}body:has(.sheet) .prefs{top:8px;right:auto;left:50%;transform:translate(-50%)}.rbody{line-height:1.72}.rbody h2{margin:2.6em 0 .8em}.rb-toc{position:relative}#rb-sec{max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#rb-sec:after{content:" ▾";opacity:.6}.rb-drop{position:absolute;top:calc(100% + 12px);right:0;min-width:300px;max-height:70vh;overflow:auto;display:grid;background:var(--ground);border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-radius:8px;padding:6px;box-shadow:0 18px 40px -18px #00000059}.rb-drop[hidden]{display:none}.rb-drop button{all:unset;cursor:pointer;padding:9px 12px;border-radius:5px;font:500 14px/1.35 Geist,IBM Plex Sans Thai,sans-serif;letter-spacing:0;text-transform:none;color:var(--ink)}.rb-drop button:hover,.rb-drop button:focus-visible{background:color-mix(in srgb,var(--ink) 8%,transparent)}body:has(.sheet) .prefs{top:auto;bottom:6px;left:auto;right:max(16px,env(safe-area-inset-right));transform:none;z-index:31}body:has(.sheet) .rbar-bot{padding-right:80px}.rail a:hover:before,.rail a[aria-current=true]:before{width:16px;height:3px;top:auto;left:auto}.rail{padding:60px 280px 60px 28px;margin-left:-28px}.rail{pointer-events:none}.rail a{pointer-events:auto;width:40px;margin-right:-24px}html.rail-peek .rail{pointer-events:auto}.rail a[aria-current=true]:before{opacity:1;transform:scaleX(calc(var(--s, 1) * 1.6))}.rail:hover a[aria-current=true]:not(.peak):before{opacity:.85;transform:scaleX(var(--s, 1))}body:after{background:var(--veil, var(--ground))}html.reel-open{overflow:hidden}.reel{position:fixed;inset:0;z-index:80;background:color-mix(in srgb,var(--ground) 55%,#000 45%);display:grid;grid-template-rows:auto 1fr auto;overscroll-behavior:contain}.reel-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));color:#f3efe7}.reel-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:500 12px IBM Plex Mono,monospace;letter-spacing:.06em;opacity:.8;min-width:0}.reel-crumbs span{max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reel-crumbs span:last-child{opacity:1;font-weight:600}.reel-crumbs i{font-style:normal;opacity:.5}.reel-x{width:40px;height:40px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:22px;cursor:pointer}.reel-stage{display:grid;place-items:center;min-height:0;padding:10px 16px}.reel-hint{text-align:center;padding:0 0 calc(14px + env(safe-area-inset-bottom));font:500 11px IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c}.reel-slide{display:grid;justify-items:center;gap:10px;animation:reel-in .42s cubic-bezier(.2,.75,.2,1)}.reel-slide.from-below{--from: 60px}.reel-slide.from-above{--from: -60px}@keyframes reel-in{0%{transform:translateY(var(--from, 0));opacity:0}}.reel-via{font:italic 500 15px Newsreader,Trirong,serif;color:#ffffffbf}.reel-card{width:min(680px,92vw,calc((100vh - 170px)*.8));aspect-ratio:4 / 5;perspective:1600px;cursor:pointer;outline:none}.reel-in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.75,.2,1)}.reel-card.flipped .reel-in{transform:rotateY(180deg)}.reel-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f7f3ec;color:#1f1c18;border-radius:14px;padding:22px;box-shadow:0 30px 80px -30px #000000b3;display:grid;overflow:hidden}.reel-front{grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px}.reel-front h3{margin:0;font:600 clamp(26px,3.4vw,34px)/1.12 "Geist","IBM Plex Sans Thai",sans-serif;letter-spacing:-.015em}.reel-front .zart{border-radius:8px;--card: var(--card)}.reel-quote{margin:0;font:italic 400 16px/1.5 Newsreader,Trirong,serif;color:#4a463f;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.reel-back{transform:rotateY(180deg);grid-template-rows:minmax(0,1fr) auto auto;gap:10px}.reel-page{overflow:auto;padding:6px 14px 0 6px;font:400 17px/1.72 Geist,IBM Plex Sans Thai,sans-serif}.reel-page p{margin:0 0 .9em}.reel-page h2,.reel-page h3{font:600 17px/1.35 Geist,IBM Plex Sans Thai,sans-serif;margin:.6em 0 .4em}.reel-page ul,.reel-page ol{padding-left:1.2em;margin:0 0 .9em}.reel-page blockquote{margin:.6em 0;padding-left:.8em;border-left:2px solid rgba(0,0,0,.2);font-style:italic}.reel-page a{color:inherit}.reel-page pre{font-size:12px;overflow:auto}.reel-links{list-style:none;padding:10px 0 0;margin:10px 0 0;border-top:1px solid rgba(0,0,0,.12);font-size:14px;display:grid;gap:4px}.reel-links em{font-style:italic;color:#6f6a62}.reel-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.reel-arr{width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,0,0,.2);background:transparent;font-size:20px;cursor:pointer;color:inherit}.reel-arr:disabled{opacity:.25;cursor:default}.reel-dots{display:flex;gap:8px}.reel-dots i{width:10px;height:10px;border-radius:50%;background:#00000026;transition:background .2s,transform .2s}.reel-dots i.on{background:var(--card, #d9b56a);transform:scale(1.25);box-shadow:0 0 0 2px #f7f3ec,0 0 0 3px #00000040}.reel-full{justify-self:center;font:500 11px IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:#6f6a62;text-decoration:none}.reel-fork{width:min(440px,90vw);display:grid;gap:12px;color:#f3efe7;text-align:center}.reel-fork .rk{color:#ffffffa6}.reel-opt{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:4px;text-align:left;background:#f7f3ec;color:#1f1c18;border-radius:12px;padding:16px 18px;transition:transform .2s,box-shadow .2s}.reel-opt em{font:italic 500 14px Newsreader,serif;color:#6f6a62}.reel-opt b{font:600 19px/1.25 Geist,IBM Plex Sans Thai,sans-serif}.reel-opt small{font-size:13px;color:#6f6a62;line-height:1.45}.reel-opt:hover,.reel-opt.on{transform:translate(6px);box-shadow:-4px 0 0 var(--card, #d9b56a)}.reel-play{margin-bottom:18px}@media(prefers-reduced-motion:reduce){.reel-slide{animation:none}.reel-in{transition:none}}.reel-card{width:min(680px,92vw);height:calc(100vh - 130px);aspect-ratio:auto;perspective:none;cursor:auto;background:#f7f3ec;color:#1f1c18;border-radius:14px;box-shadow:0 30px 80px -30px #000000b3;overflow:hidden}.reel-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;overscroll-behavior:contain;padding:26px 34px 0}.reel-scroll .zrow{display:flex;justify-content:space-between;font:500 11px/1 Geist Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:#6d6a64}.reel-scroll .reel-full{color:inherit;text-decoration:none;font-size:15px}.reel-scroll h3{margin:14px 0 12px;font:600 clamp(26px,3.4vw,34px)/1.12 "Geist","IBM Plex Sans Thai",sans-serif;letter-spacing:-.015em}.reel-scroll .reel-quote{display:block;-webkit-line-clamp:unset;margin:0 0 20px;padding-left:14px;border-left:3px solid var(--card);font:italic 400 19px/1.5 Newsreader,Trirong,serif;color:#4a463f}.reel-scroll .reel-page{overflow:visible;padding:0}.reel-end{display:flex;justify-content:flex-end;padding:30px 0 46px}.reel-end svg{width:34px;height:34px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.reel-end .rg{stroke:#0000001f}.reel-end .rp{stroke:var(--card);stroke-dasharray:107;stroke-dashoffset:107;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .12s}.reel-save{all:unset;cursor:pointer;display:grid}.reel-end path{stroke:#00000040;fill:transparent;transition:stroke .3s,fill .2s,transform .2s;transform-origin:center}.reel-end.done path{stroke:#1f1c18}.reel-save.on path{fill:#1f1c18;stroke:#1f1c18}.reel-save:active path{transform:scale(.85)}.reel-saved{margin:0 0 18px 8px}path.saved-mark{pointer-events:none}svg.saved-mark{position:absolute;top:6px;right:6px;width:12px;height:12px;pointer-events:none}.reel-rel{margin:18px 0 0;border-top:1px solid rgba(0,0,0,.1);padding-top:10px}.reel-rel summary{cursor:pointer;list-style:none;font:500 12px/1.4 Geist Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:#6d6a64}.reel-rel summary::-webkit-details-marker{display:none}.reel-rel summary:after{content:" +"}.reel-rel[open] summary:after{content:" −"}.reel-rel>:not(summary){margin-top:10px}.reel-slide{position:relative}.reel-slide .reel-card{position:relative;z-index:1}.reel-prev{all:unset;box-sizing:border-box;position:absolute;top:0;left:50%;z-index:0;width:min(680px,92vw);height:calc(100vh - 130px);padding:26px 34px;overflow:hidden;background:#ece6db;color:#1f1c18;border-radius:14px;cursor:pointer;box-shadow:0 20px 60px -30px #0009;transform:translate(-50%) translate(-110px) rotate(-7deg) scale(.92);transform-origin:bottom center;opacity:.55;filter:saturate(.7);transition:transform .3s cubic-bezier(.2,.75,.2,1),opacity .3s}.reel-prev:hover,.reel-prev:focus-visible{opacity:.85;transform:translate(-50%) translate(-150px) rotate(-9deg) scale(.92)}.reel-prev .zrow{display:flex;font:500 11px/1 Geist Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:#6d6a64}.reel-prev h3{margin:14px 0 12px;font:600 clamp(22px,3vw,30px)/1.12 "Geist","IBM Plex Sans Thai",sans-serif}.reel-prev .reel-quote{margin:0;padding-left:14px;border-left:3px solid var(--card);font:italic 400 17px/1.5 Newsreader,Trirong,serif;color:#4a463f}@media(max-width:760px){.reel-prev{transform:translate(-50%) translateY(-14px) rotate(-3deg) scale(.94)}.reel-prev:hover{transform:translate(-50%) translateY(-22px) rotate(-4deg) scale(.94)}}.reel-prev{transform:translate(-50%) translate(calc(var(--k) * -80px)) rotate(calc(var(--k) * -5deg)) scale(calc(1 - var(--k) * .04));opacity:calc(.75 - var(--k) * .15)}.reel-prev:hover,.reel-prev:focus-visible{opacity:.95;transform:translate(-50%) translate(calc(var(--k) * -80px - 40px)) rotate(calc(var(--k) * -5deg - 2deg)) scale(calc(1 - var(--k) * .04))}@media(max-width:760px){.reel-prev,.reel-prev:hover{transform:translate(-50%) translateY(calc(var(--k) * -12px)) rotate(calc(var(--k) * -2deg)) scale(calc(1 - var(--k) * .03))}}.reel-top{display:flex;align-items:center;gap:12px}.reel-board-btn{all:unset;cursor:pointer;margin-left:auto;padding:8px 14px;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;font:500 12px/1 Geist Mono,monospace;letter-spacing:.06em}.reel-board-btn:hover,.reel.boarding .reel-board-btn{background:#fff;color:#1f1c18}.reel-board{width:min(1180px,100%);max-height:100%;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;padding:8px 4px 40px;align-self:start;animation:reel-in .35s cubic-bezier(.2,.75,.2,1);scrollbar-width:thin}.reel-tile{all:unset;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;cursor:pointer;aspect-ratio:3 / 4;overflow:hidden;padding:18px 20px;background:#f7f3ec;color:#1f1c18;border-radius:12px;box-shadow:0 18px 40px -24px #000000b3;transition:transform .2s}.reel-tile:hover{transform:translateY(-4px) rotate(-1deg)}.reel-tile.on{outline:3px solid var(--card);outline-offset:3px}.reel-tile small{display:block;margin-bottom:10px;font:500 10px/1 Geist Mono,monospace;color:#6d6a64}.reel-tile .zrow{font:500 10px/1 Geist Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:#6d6a64}.reel-tile h3{margin:10px 0 8px;font:600 19px/1.15 Geist,IBM Plex Sans Thai,sans-serif}.reel-tile .reel-quote{margin:0;padding-left:10px;border-left:2px solid var(--card);font:italic 400 14px/1.45 Newsreader,Trirong,serif;color:#4a463f;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.reel-tile{position:relative}.reel-tile-x{position:absolute;top:8px;right:8px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:16px;line-height:1;color:#6d6a64;opacity:0;transition:opacity .15s,background .15s}.reel-tile:hover .reel-tile-x,.reel-tile:focus-visible .reel-tile-x{opacity:1}.reel-tile-x:hover{background:#00000014;color:#1f1c18}@media(hover:none){.reel-tile-x{opacity:1}}.reel{background:color-mix(in srgb,#14120f 72%,transparent);backdrop-filter:blur(14px) saturate(.8);-webkit-backdrop-filter:blur(14px) saturate(.8)}.reel-deck{position:relative;width:min(680px,92vw);height:calc(100vh - 130px)}.reel-deck .reel-card{position:absolute;inset:0;width:auto;height:auto;z-index:calc(10 - var(--k, 0));border-radius:18px;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px #fff9 inset,0 40px 90px -40px #000000bf,0 12px 30px -18px #0006;transform-origin:50% 100%;transform:translate(calc(var(--k, 0) * -78px)) translateY(calc(var(--k, 0) * 6px)) rotate(calc(var(--k, 0) * -4.5deg)) scale(calc(1 - var(--k, 0) * .045));transition:transform .6s cubic-bezier(.22,.9,.25,1),opacity .45s ease,filter .45s ease;will-change:transform}.reel-deck .reel-card.is-back{cursor:pointer;filter:brightness(.86) saturate(.75)}.reel-deck .reel-card.is-back .reel-scroll{pointer-events:none;overflow:hidden}.reel-deck .reel-card.is-back:hover{filter:brightness(.95);transform:translate(calc(var(--k) * -78px - 34px)) translateY(calc(var(--k) * 6px)) rotate(calc(var(--k) * -4.5deg - 1.5deg)) scale(calc(1 - var(--k) * .045))}.reel-deck .reel-card.enter-below{transform:translateY(78vh) rotate(3deg) scale(.96);opacity:0;transition:none}.reel-deck .reel-card.leave-down{transform:translateY(80vh) rotate(4deg) scale(.96);opacity:0}.reel-deck .reel-card.leave-back{transform:translate(-340px) rotate(-18deg) scale(.82);opacity:0}@media(max-width:760px){.reel-deck .reel-card,.reel-deck .reel-card.is-back:hover{transform:translateY(calc(var(--k, 0) * -14px)) rotate(calc(var(--k, 0) * -1.5deg)) scale(calc(1 - var(--k, 0) * .04))}}@media(prefers-reduced-motion:reduce){.reel-deck .reel-card{transition-duration:.01s}}.reel-deck .reel-card{z-index:calc(10 - var(--a, 0));transform:translate(calc(var(--k, 0) * -78px)) translateY(calc(var(--a, 0) * 6px)) rotate(calc(var(--k, 0) * -4.5deg)) scale(calc(1 - var(--a, 0) * .045))}.reel-deck .reel-card.is-back:hover{transform:translate(calc(var(--k) * -78px - var(--k) / var(--a) * 34px)) translateY(calc(var(--a) * 6px)) rotate(calc(var(--k) * -4.5deg - var(--k) / var(--a) * 1.5deg)) scale(calc(1 - var(--a) * .045))}@media(max-width:760px){.reel-deck .reel-card,.reel-deck .reel-card.is-back:hover{transform:translateY(calc(var(--k, 0) * -14px)) rotate(calc(var(--k, 0) * -1.5deg)) scale(calc(1 - var(--a, 0) * .04))}}.lock-note{margin:0 0 14px;font-size:14px;color:var(--ink-soft)}.prefs-link{margin-right:8px;padding:6px 10px;color:inherit;text-decoration:none;font:500 13px/1 IBM Plex Sans Thai,sans-serif}.prefs-link:hover{text-decoration:underline}.gallery{max-width:1080px;margin:0 auto;padding:140px 16px 96px}.g-head h1{margin:10px 0 40px;font:500 clamp(32px,5vw,52px)/1.1 "Newsreader","Trirong",serif}.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.g-card{display:flex;flex-direction:column;gap:10px;min-height:260px;padding:24px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;box-shadow:0 20px 40px -30px #0006}.g-kind{align-self:flex-start;padding:4px 9px;border-radius:99px;background:#1f1c18;color:#f4f0e8;font:500 11px/1 IBM Plex Mono,monospace;letter-spacing:.06em}.g-card h2{margin:6px 0 0;font:600 22px/1.2 Geist,IBM Plex Sans Thai,sans-serif}.g-card p{margin:0;color:#4a463f;line-height:1.6;flex:1}.g-go{align-self:flex-start}.g-soon{color:#6d6a64;font-size:14px}
