@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.p.0l2qk94b1u89y.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.01rdcbu-77uoy.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.p.0sn2213rkw2e_.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.p.0mrp_qm_8jqq_.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.05-22z7vt.jl1.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.p.0h6jagi-ln9qy.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.p.0p40-daftjh_g.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.07en.a1_ufzzv.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.0xhl7b6zs4.~j.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8ffc259da9d23054-s.p.0b_.2~bprftx..woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9e486ba39c38fb8a-s.0qxf2_hlpbci0.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6f42e0a3b0519c4d-s.p.0czffigx~77c..woff2)format("woff2");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:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.be_vietnam_pro_4b049b91-module__HxFAfa__className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.be_vietnam_pro_4b049b91-module__HxFAfa__variable{--font-body:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.p.0gfhww.tctz1o.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_f41e006d-module__3M_3iq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_f41e006d-module__3M_3iq__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:var(--font-mono);--spacing:.25rem;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[16\/10\]{aspect-ratio:16/10}.h-full{height:100%}.h-screen{height:100vh}.min-h-\[100dvh\]{min-height:100dvh}.w-full{width:100%}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--hairline\)\]{border-color:var(--hairline)}.bg-\[var\(--bg-page\)\]{background-color:var(--bg-page)}.object-contain{object-fit:contain}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-9{--tw-leading:calc(var(--spacing) * 9);line-height:calc(var(--spacing) * 9)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:var(--font-body);--bg-outer:#2d2d2d;--bg-page:#f8f6f1;--text-primary:#1a1a1a;--text-body:#1a1a1ac7;--text-muted:#1a1a1a85;--hairline:#1a1a1a1f;--hairline-strong:#1a1a1a38;--tab-1:#98d4bb;--tab-2:#c7b8ea;--tab-3:#f4b8c5;--tab-4:#a8d8ea;--tab-5:#ffe6a7;--button-bg:#2d2d2d;--button-text:#f8f6f1;--paper-shadow:0 4px 20px #00000026;--tab-font-size:clamp(.5rem, 1vh, .7rem);--type-hero:clamp(2.5rem, 5vw, 4rem);--type-h1:2.25rem;--type-h2:1.5rem;--type-body:1rem}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-outer:#1a1a1a;--bg-page:#2a2824;--text-primary:#f8f6f1;--text-body:#f8f6f1c7;--text-muted:#f8f6f185;--hairline:#f8f6f11f;--hairline-strong:#f8f6f138;--button-bg:#f8f6f1;--button-text:#1a1a1a;--paper-shadow:0 4px 20px #00000059}*{box-sizing:border-box}html{background:var(--bg-outer);scroll-behavior:smooth}body{background:var(--bg-outer);min-height:100dvh;color:var(--text-primary);font-family:var(--font-body), "Be Vietnam Pro", system-ui, sans-serif;margin:0}a{color:inherit;text-decoration:none}::selection{color:#1a1a1a;background:#c7b8ea}.nb-skip{z-index:500;background:var(--bg-page);padding:.5rem .75rem;position:absolute;top:-3rem;left:1rem}.nb-skip:focus{top:1rem}.nb-desk{background:var(--bg-outer);min-height:100dvh;padding:clamp(1rem,3vw,2.5rem)}.nb-notebook{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;max-width:1280px;margin:0 auto;display:grid;position:relative}.nb-paper{background-color:var(--bg-page);box-shadow:var(--paper-shadow);background-image:repeating-linear-gradient(#0000 0 31px,#1a1a1a0b 31px 32px);border-radius:8px;flex-direction:column;min-height:calc(100dvh - 2rem);padding:1.25rem 1.25rem 1.25rem 2.4rem;transition:box-shadow .3s,transform .3s,opacity .3s;animation:.42s ease-out notebook-enter;display:flex;position:relative}html[data-theme=dark] .nb-paper{background-image:repeating-linear-gradient(#0000 0 31px,#f8f6f10d 31px 32px)}.nb-binder{pointer-events:none;z-index:2;flex-direction:column;gap:2.35rem;padding-top:4.5rem;display:flex;position:absolute;top:0;left:.7rem}.nb-binder-hole{background:var(--bg-outer);border:2px solid #ccc;border-radius:50%;width:12px;height:12px;box-shadow:inset 0 1px 2px #0003}.nb-header{border-bottom:1px solid var(--hairline);z-index:100;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex;position:relative}.nb-brand{color:var(--text-primary);font-family:var(--font-display), "Be Vietnam Pro", sans-serif;letter-spacing:-.03em;font-size:1.35rem;font-weight:700}.nb-header-nav{flex-wrap:wrap;align-items:center;gap:.85rem 1rem;display:flex}.nb-nav-link,.nb-footer-link{color:var(--text-body);cursor:pointer;font-size:.92rem;font-weight:500;transition:color .2s,opacity .2s}.nb-nav-link:hover,.nb-footer-link:hover,.nb-inline-link:hover{color:var(--text-primary)}.nb-lang{color:var(--text-muted);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.08em;align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.nb-lang a[aria-current=true]{color:var(--text-primary);font-weight:600}.nb-theme-toggle{border:1.5px solid var(--hairline-strong);color:var(--text-primary);cursor:pointer;font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:.4rem .65rem;font-size:.68rem;transition:background .2s,transform .2s}.nb-theme-toggle:hover{background:#1a1a1a0a}.nb-theme-toggle:active{transform:translateY(1px)}.nb-button-primary{background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:8px;padding:.7rem 1.05rem;font-weight:600;transition:transform .2s,opacity .2s,box-shadow .2s;display:inline-flex}.nb-button-primary:hover{opacity:.92;box-shadow:0 4px 12px #0000001f}.nb-button-primary:active{transform:translateY(1px)}.nb-chips{flex-wrap:wrap;gap:.5rem;padding:.9rem 0 .2rem;display:flex}.nb-chip{color:#1a1a1a;cursor:pointer;font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.38rem .7rem;font-size:.68rem;transition:transform .2s,box-shadow .2s}.nb-chip.is-active,.nb-tab.is-active{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.nb-tabs{display:none}.nb-main{flex:1;padding:1.5rem 0 2rem}.nb-meta,.nb-label{color:var(--text-muted);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.nb-hero{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding:1.5rem 0 3rem;display:grid}.nb-hero-copy,.nb-section-copy{gap:1.15rem;display:grid}.nb-h1,.nb-article-title{font-family:var(--font-display), "Be Vietnam Pro", sans-serif;font-size:var(--type-hero);letter-spacing:-.04em;text-wrap:balance;max-width:18ch;font-weight:700;line-height:1.05}.nb-h2,.nb-article-h2{font-family:var(--font-display), "Be Vietnam Pro", sans-serif;letter-spacing:-.03em;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;line-height:1.15}.nb-body,.nb-body-lg,.nb-article-p{color:var(--text-body);font-size:var(--type-body);max-width:72ch;line-height:1.65}.nb-body-lg{font-size:1.05rem}.nb-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.nb-text-link,.nb-inline-link{color:var(--text-primary);cursor:pointer;text-underline-offset:.22rem;font-weight:600;text-decoration:underline}.nb-founder-card{aspect-ratio:4/5;background:var(--tab-5)}@supports (color:color-mix(in lab, red, red)){.nb-founder-card{background:color-mix(in srgb, var(--tab-5) 42%, var(--bg-page))}}.nb-founder-card{border:1px solid var(--hairline);flex-direction:column;justify-content:space-between;min-height:360px;padding:1.6rem;display:flex}.nb-founder-card h2{font-family:var(--font-display), "Be Vietnam Pro", sans-serif;letter-spacing:-.05em;max-width:10ch;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:.98}.nb-founder-card p:not(.nb-label){border-top:1px solid var(--hairline);color:var(--text-body);padding-top:.75rem;font-size:.95rem}.nb-founder-card div{gap:.75rem;display:grid}.nb-founder-figure{margin:0}.nb-founder-figure figcaption{color:var(--text-muted);font-family:var(--font-mono), "JetBrains Mono", monospace;letter-spacing:.14em;text-transform:uppercase;margin-top:.7rem;font-size:.68rem}.nb-featured,.nb-topics,.nb-recent,.nb-about{border-top:1px solid var(--hairline);padding:clamp(2.5rem,6vw,4.5rem) 0}.nb-featured{grid-template-columns:minmax(0,1fr);gap:2rem;display:grid}.nb-featured-image,.nb-recent-thumb,.nb-article-thumb{background:var(--tab-4)}@supports (color:color-mix(in lab, red, red)){.nb-featured-image,.nb-recent-thumb,.nb-article-thumb{background:color-mix(in srgb, var(--tab-4) 18%, var(--bg-page))}}.nb-featured-image,.nb-recent-thumb,.nb-article-thumb{border:1px solid var(--hairline);object-fit:contain;width:100%;display:block}.nb-featured-image{aspect-ratio:16/10;justify-content:center;align-items:center;padding:.8rem;transition:box-shadow .2s,transform .2s;display:flex}.nb-featured-image:hover,.nb-topic-card:hover,.nb-recent-item:hover,.nb-article-card:hover{transform:translateY(-2px);box-shadow:0 2px 12px #0000000f}.nb-topic-stack{gap:1rem;margin-top:1.5rem;display:grid}.nb-topic-card{background:var(--tab-1)}@supports (color:color-mix(in lab, red, red)){.nb-topic-card{background:color-mix(in srgb, var(--tab-1) 16%, var(--bg-page))}}.nb-topic-card{border:1px solid var(--hairline);cursor:pointer;gap:.65rem;padding:1.25rem 1.35rem;transition:transform .2s,box-shadow .2s;display:grid}.nb-topic-card:nth-child(2){background:var(--tab-2)}@supports (color:color-mix(in lab, red, red)){.nb-topic-card:nth-child(2){background:color-mix(in srgb, var(--tab-2) 18%, var(--bg-page))}}.nb-topic-card:nth-child(3){background:var(--tab-3)}@supports (color:color-mix(in lab, red, red)){.nb-topic-card:nth-child(3){background:color-mix(in srgb, var(--tab-3) 18%, var(--bg-page))}}.nb-topic-card h3{font-family:var(--font-display), "Be Vietnam Pro", sans-serif;font-size:1.45rem;font-weight:700}.nb-topic-card p{color:var(--text-body);line-height:1.55}.nb-recent-item,.nb-article-card{border-top:1px solid var(--hairline);cursor:pointer;grid-template-columns:minmax(0,1fr);gap:1.25rem;padding:1.6rem 0;transition:transform .2s,box-shadow .2s;display:grid}.nb-recent-item:last-child,.nb-article-card:last-child{border-bottom:1px solid var(--hairline)}.nb-recent-item h2,.nb-article-card h2{font-family:var(--font-display), "Be Vietnam Pro", sans-serif;letter-spacing:-.03em;font-size:clamp(1.45rem,3vw,1.9rem);font-weight:700}.nb-newsletter{color:#f8f6f1;background:#2d2d2d;justify-items:start;gap:1rem;margin:1rem 0 0;padding:2.4rem 1.5rem;display:grid}.nb-newsletter h2{font-family:var(--font-display), "Be Vietnam Pro", sans-serif;max-width:20ch;font-size:clamp(1.7rem,4vw,2.3rem);font-weight:700}.nb-newsletter p{color:#f8f6f1bd;max-width:62ch;line-height:1.6}.nb-newsletter form{grid-template-columns:1fr;gap:.7rem;width:100%;max-width:520px;display:grid}.nb-newsletter input{color:#f8f6f1;font:inherit;background:0 0;border:1.5px solid #f8f6f152;min-height:48px;padding:0 1rem}.nb-newsletter input:focus{outline-offset:2px;outline:2px solid #98d4bb}.nb-newsletter button{color:#1a1a1a;cursor:pointer;background:#98d4bb;border:0;min-height:48px;padding:0 1.1rem;font-weight:600}.nb-footer{border-top:1px solid var(--hairline);color:var(--text-body);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1.4rem;display:flex}.nb-footer-links{flex-wrap:wrap;gap:.85rem 1rem;display:flex}.nb-article-header{border-bottom:1px solid var(--hairline);gap:1rem;padding:1.2rem 0 2rem;display:grid}.nb-article-lede{color:var(--text-body);max-width:62ch;font-size:1.15rem;line-height:1.6}.nb-article-body{gap:1.25rem;padding:2rem 0 1rem;display:grid}.nb-article-h2{padding-top:.8rem}.nb-article-list{color:var(--text-body);gap:.55rem;max-width:72ch;margin:0;padding-left:1.2rem;display:grid}.nb-article-visual{gap:1.2rem;padding:1.4rem 0;display:grid}.nb-empty{color:var(--text-body);padding:2rem 0}@keyframes notebook-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px){.nb-notebook{grid-template-columns:minmax(0,1fr) 2.1rem;padding-right:.2rem}.nb-paper{min-height:calc(100dvh - 5rem);padding:1.6rem 2rem 1.6rem 3rem}.nb-chips{display:none}.nb-tabs{flex-direction:column;gap:.45rem;padding-top:5.5rem;display:flex}.nb-tab{color:#1a1a1a;cursor:pointer;font-family:var(--font-body), "Be Vietnam Pro", sans-serif;font-size:var(--tab-font-size);letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;border-radius:0 8px 8px 0;padding:12px 6px;font-weight:600;transition:transform .2s,box-shadow .2s}.nb-tab.is-active{transform:translate(-3px)}.nb-tab:hover{transform:translate(-2px)}.nb-recent-item,.nb-article-card{grid-template-columns:minmax(0,1fr) 240px}.nb-newsletter form{grid-template-columns:minmax(0,1fr) auto}.nb-footer{flex-direction:row;align-items:center}}@media (min-width:1024px){.nb-hero{grid-template-columns:minmax(0,.58fr) minmax(280px,.42fr);align-items:center;gap:4rem;padding:2.4rem 0 3.5rem}.nb-featured{grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);align-items:center;gap:3.5rem}.nb-featured.is-flip{grid-template-columns:minmax(0,.54fr) minmax(0,.46fr)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
