@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/sarabun-latin-400-normal.URPBxl-K.woff2)format("woff2"),url(/_astro/sarabun-latin-400-normal.DmguIS-7.woff)format("woff")}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/sarabun-latin-600-normal.DMD3TROr.woff2)format("woff2"),url(/_astro/sarabun-latin-600-normal.9FonlkKx.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/chakra-petch-latin-600-normal.DVQm9bgb.woff2)format("woff2"),url(/_astro/chakra-petch-latin-600-normal.DQKfcdKo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}@layer site{:root{--paper:#f6f1e6;--card:#fffdf7;--ink:#14213d;--muted:#4f586b;--rule:#d8ccb4;--perf:#c9bb9f;--pink:#c4005f;--pink-bg:#ff3d97;--orange:#b24f00;--orange-bg:#f28c28;--green:#2f6b1f;--meter-bg:#121212;--meter-on:#ff3b5c;--meter-off:#3a1a20;--focus:#1a5fd0;--font-body:"Sarabun", system-ui, sans-serif;--font-display:"Chakra Petch", "Sarabun", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-led:"Sixtyfour Variable", var(--font-mono);--measure:68ch;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0f1218;--card:#171b23;--ink:#ece6d9;--muted:#a8afbd;--rule:#2c3240;--perf:#3a4152;--pink:#ff6fb1;--pink-bg:#ff3d97;--orange:#ffa45c;--orange-bg:#f28c28;--green:#8fd16f;--meter-bg:#050505;--meter-on:#ff4d6a;--meter-off:#2a1217;--focus:#7fb0ff;color-scheme:dark}}:root[data-theme=dark]{--paper:#0f1218;--card:#171b23;--ink:#ece6d9;--muted:#a8afbd;--rule:#2c3240;--perf:#3a4152;--pink:#ff6fb1;--pink-bg:#ff3d97;--orange:#ffa45c;--orange-bg:#f28c28;--green:#8fd16f;--meter-bg:#050505;--meter-on:#ff4d6a;--meter-off:#2a1217;--focus:#7fb0ff;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--font-body);overflow-wrap:break-word;margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--pink);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}h1,h2,h3{margin:1.8em 0 .5em;line-height:1.2}h1{font:600 clamp(2rem, 5.2vw, 3.4rem)/1.08 var(--font-display);letter-spacing:-.01em;overflow-wrap:break-word;margin-top:.3em}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.18rem;font-weight:600}p,ul,ol{margin:0 0 1em}li+li{margin-top:.3em}small,.small{font-size:.9rem}hr{border:0;border-top:1px dashed var(--perf);margin:2.5rem 0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--card);z-index:10;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{left:1rem}.wrap{max-width:72rem;margin:0 auto;padding:0 16px}.prose{max-width:var(--measure)}.label{font:500 .78rem/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.label b{color:var(--ink);font-weight:500}.site-head{border-bottom:2px solid var(--ink);background:var(--paper)}.site-head .wrap{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding-block:.8rem;display:flex}.brand{font:600 1.15rem/1 var(--font-display);color:var(--ink);align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.brand-flag{background:var(--orange-bg);border:2px solid var(--ink);width:.9rem;height:.9rem}.route{font:500 .82rem/2 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;gap:0 1.1rem;margin:0;padding:0;list-style:none;display:flex}.route li{margin:0}.route a{color:var(--ink);text-decoration:none}.route a:before{content:"●";color:var(--orange-bg);vertical-align:.1em;margin-right:.35rem;font-size:.7em}.route a[aria-current=page]{text-decoration:underline 2px}main{padding-block:1.5rem 4rem}.site-foot{border-top:2px solid var(--ink);padding-block:2rem 3rem;font-size:.95rem}.site-foot nav ul{flex-wrap:wrap;gap:.4rem 1.2rem;padding:0;list-style:none;display:flex}.site-foot li{margin:0}.crumbs ol{flex-wrap:wrap;gap:.25rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.crumbs li{margin:0}.crumbs li+li:before{content:"›";color:var(--muted);margin-right:.25rem}.crumbs a{color:var(--muted)}.tickets{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.tickets>li{margin:0}.ticket{background:var(--card);border:1.5px solid var(--ink);border-radius:3px;grid-template-columns:1fr auto;min-height:9.5rem;display:grid;position:relative}.ticket:focus-within{outline:3px solid var(--focus);outline-offset:3px}.ticket-body{padding:1rem 1.1rem 1rem 1.2rem}.ticket-body h3{margin:.35rem 0 .4rem;font-size:1.12rem}.ticket-body h3 a{color:var(--ink);text-decoration:none}.ticket-body h3 a:after{content:"";position:absolute;inset:0}.ticket-body h3 a:focus-visible{outline:none}.ticket-body p{color:var(--muted);margin:0;font-size:.97rem}.ticket-stub{border-left:2px dashed var(--perf);justify-content:center;align-items:center;width:4.2rem;display:flex;position:relative}.ticket-stub:before,.ticket-stub:after{content:"";background:var(--paper);border:1.5px solid var(--ink);border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;left:-.6rem}.ticket-stub:before{clip-path:inset(50% 0 0);top:-.6rem}.ticket-stub:after{clip-path:inset(0 0 50%);bottom:-.6rem}.ticket-stub span{writing-mode:vertical-rl;font:500 .74rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);transform:rotate(180deg)}.ticket:hover{border-color:var(--pink)}.ticket:hover .ticket-body h3 a{text-decoration:underline;text-decoration-color:var(--pink)}figure{margin:1.5rem 0}figure img{border:1.5px solid var(--ink);background:var(--rule)}figcaption{color:var(--muted);margin-top:.4rem;font-size:.92rem}figcaption .credit{font:400 .76rem/1.4 var(--font-mono);margin-top:.15rem;display:block}figcaption .credit a{color:var(--muted)}.callout{border:1.5px solid var(--ink);background:var(--card);border-left-width:8px;margin:1.5rem 0;padding:.9rem 1.1rem}.callout.warn{border-left-color:var(--orange-bg)}.callout.info{border-left-color:var(--pink-bg)}.callout>:last-child{margin-bottom:0}.callout .label{margin-bottom:.3rem;display:block}.board{border:1.5px solid var(--ink);background:var(--card);margin:1.5rem 0}.board dl{grid-template-columns:minmax(8rem,max-content) 1fr;margin:0;display:grid}.board dt,.board dd{border-top:1px dashed var(--perf);margin:0;padding:.55rem .9rem}.board dt:first-of-type,.board dd:first-of-type{border-top:0}.board dt{font:500 .78rem/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.board .board-head{border-bottom:1.5px solid var(--ink);padding:.5rem .9rem}.takeaways{border:1.5px solid var(--ink);background:var(--card);margin:1.5rem 0;padding:1rem 1.2rem .4rem}.takeaways h2{margin:0 0 .5rem;font-size:1.1rem}table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:.97rem}.table-scroll{overflow-x:auto}th,td{text-align:left;border-bottom:1px dashed var(--perf);vertical-align:top;padding:.5rem .6rem}th{font:500 .78rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1.5px solid var(--ink)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.toc{margin:1.5rem 0}.toc ol{padding-left:1.2rem}.sources ol{padding-left:1.2rem;font-size:.95rem}.sources li{margin-bottom:.6rem}details{border-top:1px dashed var(--perf);padding:.6rem 0}details summary{cursor:pointer;font-weight:600}.cite{font:500 .75em/1 var(--font-mono);vertical-align:super;margin-left:.1em;text-decoration:none}.button{border:2px solid var(--ink);background:var(--pink-bg);color:#14213d;font:600 1rem/1.2 var(--font-body);border-radius:3px;padding:.65rem 1.1rem;text-decoration:none;display:inline-block}.button:hover{background:var(--card);color:var(--ink)}.button.secondary{color:var(--ink);background:0 0}}
