@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}@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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-ext-wght-normal.B5bTHO_g.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.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:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAWUAA4AAAAABvAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABRAAAABYAAAAWABEABEdQT1MAAAFcAAAAHgAAAB5EdEx1R1NVQgAAAXwAAAAnAAAAKLj8uOpPUy8yAAABpAAAAFUAAABgYo+sRGNtYXAAAAH8AAAAQgAAAFxB0OJbZ2FzcAAAAkAAAAAIAAAACAAAABBnbHlmAAACSAAAAT0AAAFaNhXKIGhlYWQAAAOIAAAANgAAADYqgLJdaGhlYQAAA8AAAAAfAAAAJBAY8MdobXR4AAAD4AAAABkAAAAiEYUB02xvY2EAAAP8AAAAFAAAABQBUAHKbWF4cAAABBAAAAAcAAAAIAAjAQBuYW1lAAAELAAAARoAAAJuNApRAXBvc3QAAAVIAAAASwAAAF2B645zAAEAAAAMAAAAAAAAAAIAAQABAAMAAQAAAAEAAAAKABwAHAABREZMVAAIAAQAAAAA//8AAAAAAAB42mNgZGBg4GJQA0ImFzefEAahnMSSPAY+BhBgARH//4NIAFpJBVUAeNotxbENQEAYhuH3/87hwhA3g1KvEANQGcAoKolJJKLR2AwJT/OQaLIFD5o1AN23jVRWgwofnF4JkAHi1zctXMS4u+NOwW0WIrYCqNQJRPIH7S0K2QAAAHjaY2BgYAJiZiAWAZKMYJqFwQNI8zFwAOXYGBQYHBkWMBxkZFLY8v8/UByF///J/wP/U/87/me8HwTUjQIAZb8SQgAAAAEAAf//AA942mJgAvQ4zXARx1H8vd8x2zx8riX/lW3btt2SzS3M7VN7t4Qte7q2ptx++sVnvy9UABBHogURyAAUCgcFUiWOxjTcMzbhnHGKaA2NZJ5O+tLJHDopA0s6GaCSqZwYJ2RE+Bz3GdfwMKozLh81XV3R+VT0wwyT6WdDtEk0gAB0T2Yywu5/ff2/Lqe1XfrB2/RG8sgJuEAQgJOC51iNSimVqXieCXd1cZYxLoovlro4uzLhvMDYEpVSw7G8oPLGVceU6KR8cYF4vK12yLbUcE7CjS2WxRlpRViAsR3J/RNiaRoeeAcJybFcWXN7pUadlJHkqYpJT4yMLA/rrXbwswNAlJACvCePIKKJwMhQ0jC4TQq2tmgKO6QUT4gOrCg6hkIQGKmUItiJlhcXy6PFhYkJhUSXlJSWmAhmxutO9wAAAAABAAAAAQLRsUtkZV8PPPUADwPoAAAAAN9+te8AAAAA3362EvlE/vcTHAOxAAAABgACAAAAAAAAeNpjYGRgYN72n42BgSnrp8t7P2EZoAgq4AAAe9wE3gB42mPKYogAYjkkzADFMgwMjKwM8wFSaARoAAAAAAAAFQAuADoARgBGAEYAiACWAK142mNgZGBg4GTIZ2Bn6GfgAvMQgIOBEQAZTQEkeNqNkQVOREEQRB/uxIPEfgR3d3d3iKHr7rvhWpyCQ3AYKpN1T6emvbvSA7TjpImG5g7gt2E3bTcw2DCcthvpbehP201s8pe2mxnnJ2238Mhb2m5llOW03SsL3MQlYWKsMyOJYSOKR5G47GnBg186RBSX8jcccylE+ZQfwEFQlVfKB4Up7hVxkVDPJ1Ge5UXNDOWxmGOaWeYkG1hms5NPEtIh3HjMLItRkqZyVVgUVphiCbvwxVjJbiu73Sranr/thSPOpOtkXuRV3nkghPk2N3PhNrl5ZoV5WY+41WGV9E/lcb4lKu1Vxma698w93ObiMXON4j9y4TEVCb6YVleIgKIpTfCkX+X4JIgrz5rBWcIikGYx9g9ueGIvAAB42mNgYgCD/3MYjIAUIwM64ARiFYaTjEwMzIzMjCyMrIxsbI5JRallqeyleZkGBo4GINrIwMmEMzG5tCQ1OT83CSxjbGAGANg9D2UA)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fragment-mono-latin-ext-400-normal.BbKYyvR9.woff2)format("woff2"),url(/_astro/fragment-mono-latin-ext-400-normal.CT4YFKeK.woff)format("woff");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:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fragment-mono-latin-400-normal.yxdJ5AmL.woff2)format("woff2"),url(/_astro/fragment-mono-latin-400-normal.BYwT3kSJ.woff)format("woff");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}:root{--paper:#faf6ef;--paper-2:#f2ecdf;--paper-3:#eae2d1;--ink:#17150f;--ink-2:#575243;--ink-3:#8a8471;--line:#17150f24;--line-strong:#17150f52;--accent:#ff4d00;--accent-soft:#ff4d001a;--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--font-body:"Instrument Sans Variable", "Instrument Sans", system-ui, sans-serif;--font-mono:"Fragment Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius:16px;--radius-sm:10px;--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100dvh;font-size:1.0625rem;line-height:1.65;display:flex}img,svg,canvas{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}a,button{touch-action:manipulation}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media (pointer:fine){::selection{border-radius:0}}.display{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2.6rem,7vw,5rem);font-weight:700;line-height:1.02}.h2{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:600;line-height:1.1}.h3{font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.2}.lede{color:var(--ink-2);text-wrap:pretty;max-width:58ch;font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.55}.mono-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem}.mono{font-family:var(--font-mono);font-size:.85rem}p+p{margin-top:1em}.prose p{text-wrap:pretty;max-width:68ch}.container{width:100%;max-width:1120px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}main{flex:1;padding-block:clamp(40px,7vh,84px)}.section{border-top:1px solid var(--line);padding-block:clamp(36px,6vh,72px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:clamp(24px,4vh,44px);display:flex}.section-head .mono-label{white-space:nowrap}.site-header{z-index:40;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .inner{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:8px;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.logo .dot{background:var(--accent);border-radius:50%;width:9px;height:9px}.site-nav{scrollbar-width:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:7px 12px;font-size:.95rem;text-decoration:none;transition:color .2s,background-color .2s}.site-nav a:hover{color:var(--ink);background:var(--paper-2)}.site-nav a[aria-current=true]{color:var(--ink);background:var(--paper-3)}.site-nav .nav-cta{background:var(--ink);color:var(--paper)}.site-nav .nav-cta:hover{background:var(--accent);color:var(--paper)}@media (width<=720px){.site-header .inner{flex-wrap:wrap;height:auto;padding-block:10px 0}.site-nav{order:2;width:100%;padding-block:8px 10px;-webkit-mask-image:linear-gradient(90deg,#000 91%,#0000);mask-image:linear-gradient(90deg,#000 91%,#0000)}.site-nav a{padding:9px 14px;font-size:.92rem}}.badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);background:var(--paper);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.72rem;display:inline-flex}.badge .dot{background:var(--ink-3);border-radius:50%;width:8px;height:8px}.badge.open .dot{background:var(--accent);animation:pulse 2.4s var(--ease-medium) infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ff4d0059}50%{box-shadow:0 0 0 5px #ff4d0000}}.btn{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);cursor:pointer;transition:translate .4s var(--ease-quick), background-color .2s, color .2s, border-color .2s;will-change:translate;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;font-size:.95rem;font-weight:550;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink);translate:0 -2px}@media (hover:none){.btn:hover{translate:0}}.btn:active{translate:0;scale:.98}.btn-accent{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-accent:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{border-color:var(--line-strong)}.chip{font-family:var(--font-mono);border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer;transition:all .25s var(--ease-quick);will-change:translate;border-radius:999px;padding:7px 14px;font-size:.78rem}.chip:hover{border-color:var(--ink);color:var(--ink);translate:0 -2px}@media (hover:none){.chip:hover{translate:0}}.chip.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .25s, translate .5s var(--ease-quick);padding:clamp(20px,3vw,32px)}a.card{text-decoration:none;display:block}@media (hover:hover){a.card:hover{border-color:var(--ink);translate:0 -3px}}.card-2{background:var(--paper-2);border-color:#0000}.work-row{border-top:1px solid var(--line);transition:padding-left .5s var(--ease-medium);grid-template-columns:64px 1fr auto;align-items:baseline;gap:clamp(12px,3vw,32px);padding:clamp(20px,3vw,32px) 8px;text-decoration:none;display:grid}@media (hover:hover){.work-row:hover{padding-left:20px}}@media (width<=600px){.work-row{grid-template-columns:1fr auto;gap:10px;padding-block:18px}.work-row .idx{display:none}}.work-row .idx{font-family:var(--font-mono);color:var(--ink-3);font-size:.85rem}.work-row .arrow{color:var(--ink-3);transition:color .25s, translate .5s var(--ease-quick)}.work-row:hover .arrow{color:var(--accent);translate:4px}.stat-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;display:grid;overflow:hidden}.stat{background:var(--paper);padding:20px 22px}.stat .value{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.6rem;font-weight:650}.stat .label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;font-size:.7rem}.reveal{opacity:0;transition:opacity .5s ease, translate .8s var(--ease-spring);transition-delay:calc(var(--i,0) * 70ms);translate:0 16px}.reveal.in{opacity:1;translate:0}@keyframes vt-out{to{opacity:0;translate:0 -10px;scale:.996}}@keyframes vt-in{0%,30%{opacity:0;translate:0 16px;scale:.996}to{opacity:1;translate:0;scale:1}}.hud{bottom:max(14px, env(safe-area-inset-bottom,14px));right:max(14px, env(safe-area-inset-right,14px));z-index:90;font-family:var(--font-mono);position:fixed}.hud-chip{letter-spacing:.04em;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .2s, color .2s, scale .4s var(--ease-quick);border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:.72rem;display:inline-flex}.hud-chip:hover{border-color:var(--ink);color:var(--ink)}.hud-chip:active{scale:.96}.hud-chip .dot{background:#2e9e44;border-radius:50%;width:7px;height:7px}.hud-chip.warn .dot{background:var(--accent);animation:pulse 1.2s var(--ease-medium) infinite}.hud-panel{background:var(--paper);border:1px solid var(--ink);border-radius:var(--radius-sm);opacity:0;pointer-events:none;width:240px;transition:opacity .25s ease, translate .45s var(--ease-quick), scale .45s var(--ease-quick);padding:14px 16px;position:absolute;bottom:calc(100% + 8px);right:0;translate:0 8px;scale:.98;box-shadow:0 12px 40px #17150f24}.hud-panel.open{opacity:1;pointer-events:auto;translate:0;scale:1}.hud-panel canvas{width:100%;height:44px;margin-top:10px}.hud-row{color:var(--ink-2);justify-content:space-between;padding:2px 0;font-size:.72rem;display:flex}.hud-row strong{color:var(--ink);font-weight:400}.hud-note{color:var(--ink-3);margin-top:8px;font-size:.64rem;line-height:1.5}.field{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.field label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);font-size:.72rem}.field input,.field textarea,.field select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);padding:12px 14px;font-size:16px;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field .hint{color:var(--ink-3);font-size:.8rem}.banner{border-radius:var(--radius-sm);border:1px solid;margin-bottom:22px;padding:14px 18px;font-size:.95rem}.banner.ok{background:#2e9e4414;border-color:#2e9e4459}.banner.err{background:var(--accent-soft);border-color:#ff4d0059}.site-footer{border-top:1px solid var(--line);color:var(--ink-2);padding-block:40px 56px;font-size:.9rem}.site-footer .inner{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px 32px;display:flex}.site-footer a{color:inherit}.site-footer a:hover{color:var(--accent)}.admin-body{background:var(--paper-2)}.admin-shell{grid-template-columns:200px 1fr;align-items:start;gap:32px;display:grid}@media (width<=720px){.admin-shell{grid-template-columns:1fr}}.admin-nav{flex-direction:column;gap:2px;display:flex;position:sticky;top:88px}.admin-nav a{border-radius:var(--radius-sm);color:var(--ink-2);padding:9px 14px;font-size:.95rem;text-decoration:none;transition:background-color .2s,color .2s}.admin-nav a:hover{background:var(--paper);color:var(--ink)}.admin-nav a[aria-current=true]{background:var(--ink);color:var(--paper)}.admin-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,32px);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-table th{text-align:left;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line-strong);padding:10px;font-size:.68rem;font-weight:400}.admin-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}.inline-form{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.inline-form .field{margin-bottom:0}.btn-sm{padding:8px 14px;font-size:.85rem}.btn-danger:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.unread{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block}@media print{.site-header,.site-footer,.hud,.no-print{display:none!important}body{background:#fff;font-size:11pt}main{padding:0}a{color:inherit;text-decoration:none}.print-only{display:block!important}}.print-only{display:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;translate:0}.badge.open .dot,.hud-chip.warn .dot{animation:none}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.header-badge[data-astro-cid-fzpbxy5g]{flex-shrink:0}@media (width<=900px){.header-badge[data-astro-cid-fzpbxy5g]{display:none}}
