@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-border-style:solid;--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}}}@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}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/newsreader-vietnamese-400-normal.DdKr49mV.woff2)format("woff2"),url(/_astro/newsreader-vietnamese-400-normal.BekUZro8.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-ext-400-normal.svq1FPys.woff2)format("woff2"),url(/_astro/newsreader-latin-ext-400-normal.DYA1XoQK.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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-400-normal.BFBkh4jY.woff2)format("woff2"),url(/_astro/newsreader-latin-400-normal.gRTjlS2D.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}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--radius-md:.375rem;--default-font-family:var(--font-sans);--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;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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mb-\[20vh\]{margin-bottom:20vh}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-\[14px\]{height:14px}.w-\[14px\]{width:14px}.w-fit{width:fit-content}.shrink-0{flex-shrink:0}.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}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-4{gap:calc(var(--spacing) * 4)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\(--light\){color:var(--light)}.underline{text-decoration-line:underline}.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,)}}:root{--bg:#0c0c0c;--panel:#0b0b0b;--panel-2:#0d0d0d;--light:#e5e5e5;--text:#9a9a9a;--muted:#9a9a9a;--line:#1a1a1a;--lime:#b8ff5c;--code-bg:#101214;--code-inline-bg:#171a1f;--code-text:#d4d7dd;--code-keyword:#f6d877;--code-string:#95d5ff;--code-comment:#7d838f;--code-variable:#c7f8a1;color-scheme:dark}:root[data-color-mode=light]{--bg:#f2efe9;--panel:#f8f6f0;--panel-2:#efebe3;--light:#181818;--text:#404040;--muted:#6f6a62;--line:#d9d2c7;--lime:#36af4e;--code-bg:#f4f0e8;--code-inline-bg:#ece7dd;--code-text:#2b2a28;--code-keyword:#8f5414;--code-string:#005a8d;--code-comment:#7b766e;--code-variable:#1f6a3a;color-scheme:light}:root[data-color-mode=summer]{--bg:#fff;--panel:#f8f6f0;--panel-2:#efebe3;--light:#181818;--text:#404040;--muted:#6f6a62;--line:#d9d2c7;--lime:#36af4e;--code-bg:#f4f0e8;--code-inline-bg:#ece7dd;--code-text:#2b2a28;--code-keyword:#8f5414;--code-string:#005a8d;--code-comment:#7b766e;--code-variable:#1f6a3a;color-scheme:light}*{box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar{display:none}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Fragment Mono,monospace;line-height:1.55;transition:background-color .28s ease-in-out,background-image .28s ease-in-out,color .28s ease-in-out}:root[data-color-mode=summer] body,:root[data-color-mode=summer] .portfolio-root{background-color:#fff;background-image:linear-gradient(#ffffffd9,#ffffffd9),url(/background/beach.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}:root[data-color-mode=summer] .left-panel,:root[data-color-mode=summer] .content-panel{background-image:linear-gradient(#f8f6f0d9,#f8f6f0d9),url(/background/beach.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}:root[data-color-mode=summer] .metadata-panel{background-image:linear-gradient(#efebe3d9,#efebe3d9),url(/background/beach.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}.circle{--circle-size:48px;height:var(--circle-size);width:var(--circle-size);border:.5px solid var(--light);top:calc(var(--circle-size) / 2 * -1);left:calc(var(--circle-size) / 2 * -1);pointer-events:none;opacity:0;z-index:9999;border-radius:100%;transition:opacity .1s;position:fixed;transform:translate(-9999px,-9999px)}.circle.is-visible{opacity:.85}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.circle{display:none}}::selection{background:var(--lime);color:var(--bg)}.portfolio-root{min-height:100vh}.portfolio-shell{min-height:100vh;display:flex}.portfolio-column{min-width:0;transition:width .32s ease-in-out,opacity .22s ease-in-out}.portfolio-column.grow{flex:auto}.sidebar-column{overflow:hidden}.sidebar-column.is-collapsed{opacity:0;pointer-events:none}.portfolio-panel{border-right:1px solid var(--line);height:100vh;padding:1.25rem;transition:background-color .28s ease-in-out,background-image .28s ease-in-out,border-color .28s ease-in-out,color .28s ease-in-out;overflow-y:auto}.content-panel{background:var(--panel);border-right:0}.metadata-panel{background:var(--panel-2)}.left-panel{background:var(--panel);flex-direction:column;gap:1.75rem;display:flex;container-type:inline-size}.logo{color:var(--light);margin:0;font-size:2rem;line-height:.95}.logo-button{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:row;justify-content:flex-start;padding:0;display:flex}.logo-img{height:1.6rem}.fancy-font{transform-origin:0;font-family:Newsreader,serif;font-style:italic;transform:scaleX(.78)}.intro-copy{color:var(--muted);max-width:none;margin:1rem 0 0;line-height:1.5}.shortcut-hints{color:var(--muted);flex-direction:column;gap:.3rem;margin:1.2rem 0 0;display:flex}.shortcut-hints kbd{border:1px solid var(--line);color:var(--light);background:var(--panel-2);border-radius:.25rem;margin-right:.4rem;padding:.08rem .35rem}@supports (color:color-mix(in lab,red,red)){.shortcut-hints kbd{background:color-mix(in oklab,var(--panel-2) 80%,var(--bg))}}.shortcut-hints kbd{font:inherit}.group-label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:.65rem;margin-bottom:.65rem;font-size:.75rem;display:block}.divider-line{border-color:var(--line);border-style:solid;border-width:1px}.nav-group,.social-group{flex-direction:column;gap:.45rem;display:flex}.section-block{flex-direction:column;gap:.25rem;display:flex}.subnav-group{border-left:1px solid var(--line);flex-direction:column;gap:.22rem;margin-left:.6rem;padding-left:.55rem;display:flex}.social-group{margin-top:auto}.social-icons{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.social-icon-link{border:1px solid var(--line);width:2rem;height:2rem;color:var(--text);background:0 0;border-radius:.35rem;justify-content:center;align-items:center;text-decoration:none;transition:color .28s ease-in-out,border-color .28s ease-in-out,background-color .28s ease-in-out;display:inline-flex}.social-icon-link svg{width:1rem;height:1rem}.social-brand-icon{fill:currentColor}.social-lucide-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.social-icon-link:hover,.social-icon-link:focus-visible{color:var(--lime);border-color:var(--lime);background:var(--panel-2)}@supports (color:color-mix(in lab,red,red)){.social-icon-link:hover,.social-icon-link:focus-visible{background:color-mix(in oklab,var(--panel-2) 72%,transparent)}}.social-icon-link:hover,.social-icon-link:focus-visible{outline:0}.metadata-link-button{border-color:var(--line);color:var(--text);text-decoration:none;transition:color .28s ease-in-out,border-color .28s ease-in-out,background-color .28s ease-in-out}.metadata-link-button:hover,.metadata-link-button:focus-visible{color:var(--lime);border-color:var(--lime);background:var(--panel-2)}@supports (color:color-mix(in lab,red,red)){.metadata-link-button:hover,.metadata-link-button:focus-visible{background:color-mix(in oklab,var(--panel-2) 72%,transparent)}}.metadata-link-button:hover,.metadata-link-button:focus-visible{outline:0}.nav-link,.subnav-link,.text-link{width:fit-content;color:var(--text);font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .28s ease-in-out,text-decoration-color .28s ease-in-out;display:inline-block}.subnav-link{color:var(--muted);font-size:.78rem;text-decoration:none}.nav-link.active,.subnav-link.active,.text-link:hover,.text-link:focus-visible,.nav-link:hover,.nav-link:focus-visible,.subnav-link:hover,.subnav-link:focus-visible{color:var(--lime);-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime);outline:0}.contact-section{color:var(--muted);border:1px solid var(--line);margin-top:1rem;margin-bottom:1rem;padding:.75rem}.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}.entry-card{border:1px solid var(--line);background:#090909;margin-bottom:.85rem;padding:.75rem;transition:border-color .28s ease-in-out,background-color .28s ease-in-out}.entry-card.active{border-color:var(--line)}.entry-button{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.entry-button h2{margin:0;font-size:1rem}.entry-button p{color:var(--muted);margin:.4rem 0 .75rem;font-size:.84rem}.metadata-list{flex-direction:column;gap:.65rem;margin:1rem 0 0;display:flex}.metadata-item{min-width:0;padding:.5rem 0}.metadata-item-compact{grid-column:span 1}.metadata-item-wide{grid-column:1/-1}.metadata-list dt{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:.2rem;font-size:.72rem}.metadata-list dt.metadata-label-light{color:var(--light)}.metadata-list dd{color:var(--text);margin:0;font-size:.82rem}.metadata-list dd span{display:block}@media(max-width:920px){.metadata-list{grid-template-columns:1fr}.metadata-item-compact,.metadata-item-wide{grid-column:1/-1}}.content-header h2{margin:0;font-size:clamp(1.1rem,2.2vw,1.7rem)}.content-header p{color:var(--muted);margin:.5rem 0 1.1rem}.content-markdown{width:min(80%,80ch);color:var(--light);overflow-wrap:anywhere;word-break:break-word;margin-left:auto;margin-right:auto;padding-top:0;line-height:1.5}.content-markdown.is-home{text-align:center;flex-direction:column;justify-content:center;min-height:calc(100vh - 8rem);display:flex}.content-markdown.is-home h1{transform-origin:50%}.content-markdown h2,.content-markdown h3{color:var(--light);margin-top:1.5rem;margin-bottom:.55rem}.content-markdown h1{letter-spacing:.01em;transform-origin:0;margin-top:1.5rem;margin-bottom:.6rem;font-family:Newsreader,serif;font-size:1.5rem;font-style:italic;transform:scaleX(.7)}.content-markdown p,.content-markdown li{color:var(--text)}.content-markdown a{color:var(--lime);text-decoration:underline;-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime);text-underline-offset:.2em}.content-markdown p{white-space:pre-line}.content-markdown ul{margin:1rem 0;padding-left:1.2rem;list-style:outside}.content-markdown ol{margin:.7rem 0;padding-left:1.2rem;list-style:decimal}.content-markdown li+li{margin-top:.4rem}.content-markdown li::marker{color:var(--light)}.content-markdown img{cursor:zoom-in;border:1px solid var(--line);background:#111;border-radius:.6rem;width:100%;margin:1rem 0;display:block}.content-markdown .content-image-trigger{width:100%;text-align:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.content-markdown .content-image{cursor:zoom-in;margin:0}.content-markdown .content-image-trigger:focus-visible .content-image{outline:2px solid var(--lime);outline-offset:3px}.image-lightbox{z-index:10000;cursor:zoom-out;background:#000c;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.image-lightbox-image{cursor:default;background:#111;border-radius:.65rem;width:auto;max-width:min(96vw,1200px);max-height:90vh;box-shadow:0 28px 70px #0000008c}.content-markdown code{font-family:Fragment Mono,monospace}.content-markdown :not(pre)>code{background:var(--code-inline-bg);border:1px solid var(--line);color:var(--code-text);border-radius:.3rem;padding:.08rem .3rem;font-size:.9em}.content-markdown pre{border:1px solid var(--line);background:var(--code-bg);border-radius:.5rem;margin:1rem 0;padding:.95rem 1rem;overflow-x:auto}.content-markdown pre code{color:var(--code-text);font-size:.84rem;line-height:1.6;display:block}.content-markdown pre.astro-code{border:1px solid var(--line);background-color:var(--code-bg)!important}:root[data-color-mode=dark] .content-markdown pre.astro-code,:root[data-color-mode=dark] .content-markdown pre.astro-code span{color:var(--shiki-dark,var(--code-text))!important;background-color:var(--shiki-dark-bg,var(--code-bg))!important}:root[data-color-mode=light] .content-markdown pre.astro-code,:root[data-color-mode=light] .content-markdown pre.astro-code span,:root[data-color-mode=summer] .content-markdown pre.astro-code,:root[data-color-mode=summer] .content-markdown pre.astro-code span{color:var(--shiki-light,var(--code-text))!important;background-color:var(--shiki-light-bg,var(--code-bg))!important}.content-markdown pre code.hljs .hljs-keyword,.content-markdown pre code.hljs .hljs-selector-tag,.content-markdown pre code.hljs .hljs-title.function_{color:var(--code-keyword)}.content-markdown pre code.hljs .hljs-string,.content-markdown pre code.hljs .hljs-number,.content-markdown pre code.hljs .hljs-literal{color:var(--code-string)}.content-markdown pre code.hljs .hljs-comment,.content-markdown pre code.hljs .hljs-quote{color:var(--code-comment)}.content-markdown pre code.hljs .hljs-variable,.content-markdown pre code.hljs .hljs-attr,.content-markdown pre code.hljs .hljs-property,.content-markdown pre code.hljs .hljs-title.class_{color:var(--code-variable)}.content-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.content-links{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-left:auto;display:flex}.content-toc{z-index:5;pointer-events:none;height:0;position:sticky;top:.95rem}.content-toc-inner{border:1px solid var(--line);background:var(--panel);border-radius:.65rem;width:2.2rem;margin-left:auto;padding:.5rem .35rem}@supports (color:color-mix(in lab,red,red)){.content-toc-inner{background:color-mix(in oklab,var(--panel) 88%,transparent)}}.content-toc-inner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;transition:width .22s,padding .22s,border-color .22s;overflow:hidden;box-shadow:0 12px 30px #0000002e}.content-toc:hover .content-toc-inner{width:min(16rem,36vw);padding:.65rem .75rem}.content-toc-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;opacity:0;max-height:0;margin:0;font-size:.68rem;transition:opacity .18s}.content-toc:hover .content-toc-title{opacity:1;max-height:2rem}.content-toc-list{flex-direction:column;gap:.04rem;margin:0;padding:0;list-style:none;display:flex}.content-toc:hover .content-toc-list{gap:.34rem;margin:.6rem 0 0}.content-toc-list li{margin:0}.content-toc-link{color:#0000;white-space:nowrap;text-overflow:ellipsis;border-left:0;font-size:.75rem;line-height:1;text-decoration:none;transition:color .22s ease-in-out,border-color .22s ease-in-out,padding .22s ease-in-out;display:block;position:relative;overflow:hidden;padding:.04rem .14rem!important}.content-toc:not(:hover) .content-toc-link{border-left:0;color:#0000!important}.content-toc-link:before{content:"-";text-align:center;color:var(--text);transition:color .22s ease-in-out,border-color .22s ease-in-out;display:block}.content-toc:hover .content-toc-link{color:var(--text);border-left:1px solid var(--line);line-height:1.32;padding:.12rem .2rem!important}.content-toc:hover .content-toc-link:before{content:""}.content-toc:hover .content-toc-link:hover,.content-toc:hover .content-toc-link:focus-visible,.content-toc:hover .content-toc-link.is-active{color:var(--lime);border-color:var(--lime);outline:0}.content-toc-link.is-active:before{color:var(--lime)}.collapse-toggle{border:1px solid var(--line);background:var(--panel-2);border-radius:1rem}@supports (color:color-mix(in lab,red,red)){.collapse-toggle{background:color-mix(in oklab,var(--panel-2) 94%,var(--light))}}.collapse-toggle{color:var(--light);font:inherit;cursor:pointer;padding:.38rem .72rem;line-height:1}.collapse-toggle:hover,.collapse-toggle:focus-visible{color:var(--lime);border-color:var(--line);outline:0}.split-handle{background:var(--bg);border-right:1px solid var(--line);border-left:1px solid var(--line);cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:.65rem;transition:width .32s ease-in-out,opacity .22s ease-in-out,background-color .28s ease-in-out,border-color .28s ease-in-out;display:flex;overflow:hidden}.split-handle.is-collapsed{opacity:0;pointer-events:none;border-left:0;border-right:0;width:0}.split-handle span{background:#2d2d2d;width:2px;height:2.25rem}.split-handle:hover span{background:var(--lime)}.is-dragging-columns,.is-dragging-columns *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.is-dragging-columns .portfolio-column,.is-dragging-columns .split-handle{transition:none!important}@media(max-width:1024px){.portfolio-shell{flex-direction:column}.portfolio-column{width:100%!important}.portfolio-panel{border-right:0;border-bottom:1px solid var(--line);height:auto;min-height:auto}.content-panel{border-bottom:0}.split-handle,.content-toc{display:none}.content-markdown{width:min(92%,70ch)}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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}
