@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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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}}}@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;--color-yellow-100:#fef9c2;--color-yellow-700:#a36100;--color-green-100:#dcfce7;--color-green-700:#008138;--color-gray-100:#f3f4f6;--color-gray-600:#4a5565;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-bold:700;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-yellow-100:lab(97.3564% -4.51407 27.344);--color-yellow-700:lab(47.8202% 25.2426 66.5015);--color-green-100:lab(96.1861% -13.8464 6.52365);--color-green-700:lab(47.0329% -47.0239 31.4788);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-600:lab(35.6337% -1.58697 -10.8425)}}}@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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#364153;--tw-prose-headings:#101828;--tw-prose-lead:#4a5565;--tw-prose-links:#101828;--tw-prose-bold:#101828;--tw-prose-counters:#6a7282;--tw-prose-bullets:#d1d5dc;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#101828;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6a7282;--tw-prose-kbd:#101828;--tw-prose-kbd-shadows:#1018281a;--tw-prose-code:#101828;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1e2939;--tw-prose-th-borders:#d1d5dc;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5dc;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#99a1af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#99a1af;--tw-prose-invert-bullets:#4a5565;--tw-prose-invert-hr:#364153;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#364153;--tw-prose-invert-captions:#99a1af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5dc;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4a5565;--tw-prose-invert-td-borders:#364153;font-size:1rem;line-height:1.75}@supports (color:lab(0% 0 0)){.prose{--tw-prose-body:lab(27.1134% -.956401 -12.3224);--tw-prose-headings:lab(8.11897% .811279 -12.254);--tw-prose-lead:lab(35.6337% -1.58697 -10.8425);--tw-prose-links:lab(8.11897% .811279 -12.254);--tw-prose-bold:lab(8.11897% .811279 -12.254);--tw-prose-counters:lab(47.7841% -.393182 -10.0268);--tw-prose-bullets:lab(85.1236% -.612259 -3.7138);--tw-prose-hr:lab(91.6229% -.159115 -2.26791);--tw-prose-quotes:lab(8.11897% .811279 -12.254);--tw-prose-quote-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-captions:lab(47.7841% -.393182 -10.0268);--tw-prose-kbd:lab(8.11897% .811279 -12.254);--tw-prose-kbd-shadows:lab(8.11897% .811279 -12.254/.1);--tw-prose-code:lab(8.11897% .811279 -12.254);--tw-prose-pre-code:lab(91.6229% -.159115 -2.26791);--tw-prose-pre-bg:lab(16.1051% -1.18239 -11.7533);--tw-prose-th-borders:lab(85.1236% -.612259 -3.7138);--tw-prose-td-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-invert-body:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-lead:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-counters:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-bullets:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-hr:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-quotes:lab(96.1596% -.0823438 -1.13575);--tw-prose-invert-quote-borders:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-captions:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-pre-code:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-th-borders:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-td-borders:lab(27.1134% -.956401 -12.3224)}}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.77778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.09091em;margin-bottom:1.09091em;font-size:1.22222em;line-height:1.45455}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.833333em;font-size:2.66667em;line-height:1}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.86667em;margin-bottom:1.06667em;font-size:1.66667em;line-height:1.33333}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.66667em;margin-bottom:.666667em;font-size:1.33333em;line-height:1.5}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:.444444em;line-height:1.55556}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.222222em;padding-inline-end:.444444em;padding-bottom:.222222em;border-radius:.3125rem;padding-inline-start:.444444em;font-size:.888889em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.866667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;border-radius:.375rem;margin-top:2em;margin-bottom:2em;padding-inline-start:1.5em;font-size:.888889em;line-height:1.75}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.55556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;margin-bottom:.666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em}.prose-lg :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.33333em}.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.33333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;padding-inline-start:1.55556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.11111em;margin-bottom:3.11111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1em;font-size:.888889em;line-height:1.5}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.max-w-\[1140px\]{max-width:1140px}.max-w-none{max-width:none}.flex-1{flex:1}.-rotate-\[2deg\]{rotate:-2deg}.-rotate-\[3deg\]{rotate:-3deg}.-rotate-\[5deg\]{rotate:-5deg}.rotate-\[2deg\]{rotate:2deg}.rotate-\[4deg\]{rotate:4deg}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-dark-navy{border-color:var(--c-ink)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-light-cyan{background-color:var(--c-soft)}.bg-off-white{background-color:var(--c-paper)}.bg-yellow-100{background-color:var(--color-yellow-100)}.object-cover{object-fit:cover}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-\[15px\]{padding-inline:15px}.py-1{padding-block:calc(var(--spacing) * 1)}.py-16{padding-block:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.2rem\]{font-size:1.2rem}.text-\[1rem\]{font-size:1rem}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[2rem\]{font-size:2rem}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.text-dark-navy{color:var(--c-ink)}.text-dark-text{color:var(--c-muted)}.text-gray-600{color:var(--color-gray-600)}.text-green-700{color:var(--color-green-700)}.text-yellow{color:var(--c-yellow)}.text-yellow-700{color:var(--color-yellow-700)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}}@media not all and (min-width:48rem){.max-md\:mb-0{margin-bottom:calc(var(--spacing) * 0)}.max-md\:flex-col{flex-direction:column}.max-md\:self-start{align-self:flex-start}}@media (min-width:48rem){.md\:mt-4{margin-top:calc(var(--spacing) * 4)}.md\:mt-8{margin-top:calc(var(--spacing) * 8)}.md\:mt-14{margin-top:calc(var(--spacing) * 14)}.md\:mt-16{margin-top:calc(var(--spacing) * 16)}.md\:mt-20{margin-top:calc(var(--spacing) * 20)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--c-ink:#111;--c-paper:#fbfaf8;--c-white:#fff;--c-pink:#ff6b8a;--c-blue:#4d8dff;--c-yellow:#ffd84d;--c-green:#2ad4a8;--c-purple:#9b72ff;--c-soft:#f0edff;--c-muted:#5f5f63}:root[data-palette=alt-1]{--c-pink:#ff4f79;--c-blue:#5b6cff;--c-yellow:#ffbc42;--c-green:#45e0a8;--c-purple:#c066ff;--c-soft:#fff0f5}:root[data-palette=alt-2]{--c-pink:#ff7c6b;--c-blue:#1f9cff;--c-yellow:#ffe66d;--c-green:#27d7c1;--c-purple:#7f7cff;--c-soft:#eaf9ff}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--c-paper)}html *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--c-paper);color:var(--c-ink);margin:0;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.55}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--c-blue);outline-offset:4px}label:has(input:focus-visible){outline:3px solid var(--c-blue);outline-offset:4px}::selection{background:var(--c-yellow);color:var(--c-ink)}#about-me,#timeline,#fun-facts,#events,#writing{scroll-margin-top:74px}.page-shell{width:min(100% - 40px,1180px);margin-inline:auto}.eyebrow{color:currentColor;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 16px;font-family:Space Mono,monospace;font-size:.75rem;font-weight:700;line-height:1.3;display:flex}.status-dot{background:var(--c-green);width:10px;height:10px;box-shadow:0 0 0 4px var(--c-green);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.status-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--c-green), transparent 70%)}}.section-title{max-width:880px;margin:0;font-size:3.6rem;font-weight:900;line-height:1;display:block}.section-intro{color:var(--c-muted);margin:22px 0 0;font-size:1.1rem;line-height:1.65}.color-text{letter-spacing:0}.color-word{white-space:nowrap;color:inherit;transform-origin:50% 80%;transition:color .18s,background-color .18s,transform .18s;display:inline-block}.color-word:not(.space){border-radius:3px;margin-inline:-.04em;padding-inline:.04em}.color-word.space{min-width:.24em;transition:none}.color-word:not(.space):is(:hover,.is-highlighted){background-color:var(--word-color);color:var(--c-ink);transform:translateY(-.12em) rotate(var(--word-turn)) scale(1.04)}.button{border:2px solid var(--c-ink);border-radius:6px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:11px 18px;font-weight:800;line-height:1;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover{box-shadow:5px 5px 0 var(--c-ink);transform:translate(-2px,-2px)}.button-dark{background:var(--c-ink);color:var(--c-white)}.button-light{background:var(--c-white);color:var(--c-ink)}.site-nav{z-index:80;border-bottom:2px solid var(--c-ink);background:var(--c-paper);height:73px;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-nav{background:color-mix(in srgb, var(--c-paper), transparent 5%)}}.site-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-inner{align-items:center;gap:28px;height:100%;display:flex}.brand-cluster{flex:none;align-items:center;gap:8px;display:flex}.brand-mark{color:var(--c-ink);align-items:center;text-decoration:none;display:inline-flex}.brand-mark strong{font-size:.95rem;line-height:1}.brand-swatches,.palette-button>span{border:2px solid var(--c-ink);border-radius:5px;width:44px;height:28px;display:flex;overflow:hidden}.brand-swatches i,.palette-button i{flex:1}.brand-swatches i:first-child,.palette-button i:first-child,.color-ribbon span:first-child,.footer-ribbon span:first-child,.portrait-colors span:first-child{background:var(--c-pink)}.brand-swatches i:nth-child(2),.palette-button i:nth-child(2),.color-ribbon span:nth-child(2),.footer-ribbon span:nth-child(2),.portrait-colors span:nth-child(2){background:var(--c-blue)}.brand-swatches i:nth-child(3),.palette-button i:nth-child(3),.color-ribbon span:nth-child(3),.footer-ribbon span:nth-child(3),.portrait-colors span:nth-child(3){background:var(--c-yellow)}.brand-swatches i:nth-child(4),.palette-button i:nth-child(4),.color-ribbon span:nth-child(4),.footer-ribbon span:nth-child(4),.portrait-colors span:nth-child(4){background:var(--c-green)}.brand-swatches i:nth-child(5),.palette-button i:nth-child(5),.color-ribbon span:nth-child(5),.footer-ribbon span:nth-child(5),.portrait-colors span:nth-child(5){background:var(--c-purple)}.nav-links{justify-content:flex-end;align-items:center;gap:28px;width:max-content;margin-left:auto;display:flex}.nav-links a{color:var(--c-ink);white-space:nowrap;font-size:.86rem;font-weight:750;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--c-pink);transform-origin:0;height:4px;transition:transform .16s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.nav-links a:nth-child(2):after{background:var(--c-blue)}.nav-links a:nth-child(3):after{background:var(--c-yellow)}.nav-links a:nth-child(4):after{background:var(--c-green)}.nav-links a:nth-child(5):after{background:var(--c-purple)}.nav-links a:hover:after{transform:scaleX(1)}.palette-button{cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:52px;height:36px;margin:0;padding:0;line-height:0;transition:transform .18s;display:grid}.palette-button:hover{transform:rotate(-5deg)scale(1.08)}.hero{background:var(--c-paper);align-items:center;min-height:calc(100svh - 73px);display:flex;position:relative;overflow:hidden}.hero-layout{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);align-items:center;gap:72px;padding-block:48px 62px;display:grid}.hero-copy{min-width:0}.hero-title{letter-spacing:0;max-width:790px;margin:0;font-size:3.5rem;font-weight:900;line-height:.99}.hero-title>.color-text{display:block}.hero-intro{max-width:650px;color:var(--c-muted);margin:24px 0 0;font-size:1.05rem;line-height:1.65}.hero-actions{align-items:center;gap:24px;margin-top:28px;display:flex}.text-action{color:var(--c-ink);align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.text-action i{transition:transform .16s}.text-action:hover i{transform:translate(5px)}.featured-build{border-left:8px solid var(--c-purple);background:var(--c-soft);max-width:660px;color:var(--c-ink);border-radius:0 7px 7px 0;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;margin-top:30px;padding:12px 16px;text-decoration:none;transition:transform .16s,background .16s;display:grid}.featured-build:hover{background:var(--c-purple);transform:translate(6px)}@supports (color:color-mix(in lab, red, red)){.featured-build:hover{background:color-mix(in srgb, var(--c-purple), white 72%)}}.featured-icon{border:2px solid var(--c-ink);background:var(--c-white);border-radius:6px;place-items:center;width:46px;height:46px;display:grid}.featured-icon img{width:30px;height:30px}.featured-build strong,.featured-build small{display:block}.featured-build strong{font-size:.95rem}.featured-build small{color:var(--c-muted);margin-top:2px;font-size:.78rem;line-height:1.35}.hero-side{min-width:0}.portrait-wrap{width:fit-content;margin-inline:auto;padding:0 12px 12px 0;position:relative}.portrait-colors{border:2px solid var(--c-ink);border-radius:7px;grid-template-columns:repeat(5,1fr);display:grid;position:absolute;inset:18px 0 0 18px;overflow:hidden}.portrait-frame{border:2px solid var(--c-ink);background:var(--c-white);border-radius:7px;width:230px;height:276px;position:relative;overflow:hidden}.portrait-image{object-fit:cover;width:100%;height:100%}.ninja-mask{width:120px;height:auto;transition:opacity .16s;position:absolute;top:137px;left:52px;transform:rotate(-4deg)}.ninja-trigger{border:2px solid var(--c-ink);background:var(--c-yellow);color:var(--c-ink);cursor:pointer;border-radius:999px;padding:7px 11px;font-family:Space Mono,monospace;font-size:.64rem;font-weight:700;position:absolute;bottom:10px;right:10px;transform:rotate(-3deg)}.ninja-trigger:hover{background:var(--c-pink);transform:rotate(3deg)scale(1.04)}.social-row{justify-content:center;gap:10px;margin:15px 0 20px;display:flex}.social-row a{color:var(--c-ink);align-items:center;gap:7px;font-size:.76rem;font-weight:800;text-decoration:none;display:inline-flex}.social-row a:hover{color:var(--c-blue)}.todo-list{border-top:2px solid var(--c-ink);max-width:390px;margin-inline:auto;padding-top:14px}.todo-title{text-transform:uppercase;margin:0 0 9px;font-family:Space Mono,monospace;font-size:.72rem;font-weight:700}.todo-list ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.todo-list li{color:var(--c-ink);grid-template-columns:17px 1fr;align-items:start;gap:7px;font-size:.75rem;line-height:1.35;display:grid}.todo-done{color:var(--c-muted)!important}.todo-done>span{color:var(--c-green);font-weight:900}.todo-box{border:2px solid var(--c-ink);border-radius:2px;width:12px;height:12px;margin-top:2px}.color-ribbon{grid-template-columns:repeat(5,1fr);height:12px;display:grid;position:absolute;bottom:0;left:0;right:0}.projects-section{border-bottom:2px solid var(--c-ink);background:var(--c-white);padding:110px 0 90px}.projects-header{grid-template-columns:minmax(0,1fr) minmax(340px,.65fr);align-items:end;gap:72px;display:grid}.filter-panel{border-top:2px solid var(--c-ink);padding-top:14px}.filter-heading{text-transform:uppercase;justify-content:space-between;margin-bottom:12px;font-family:Space Mono,monospace;font-size:.72rem;display:flex}.filter-list{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.filter-chip{--filter-color:var(--c-blue);border:2px solid var(--c-ink);background:var(--filter-color);min-height:44px;color:var(--c-ink);cursor:pointer;border-radius:5px;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:8px 10px;font-size:.78rem;font-weight:800;transition:transform .14s,opacity .14s;display:grid;position:relative}.filter-chip:hover{transform:translateY(-2px)}.filter-chip input{opacity:0;pointer-events:none;position:absolute}.filter-check{border:2px solid var(--c-ink);background:var(--c-white);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.72rem;display:grid}.filter-chip:has(input:not(:checked)){background:var(--c-white);color:var(--c-muted);opacity:.68}.filter-chip:has(input:not(:checked)) .filter-check{color:#0000}.filter-active{--filter-color:var(--c-green)}.filter-acquired{--filter-color:var(--c-yellow)}.filter-exited{--filter-color:var(--c-pink)}.filter-for-fun{--filter-color:var(--c-purple)}.project-timeline{width:min(100% - 40px,940px);margin:70px auto 0;position:relative}.timeline-track{position:relative}.timeline-list{gap:28px;display:grid}.timeline-track:before{content:"";background:var(--c-ink);width:3px;position:absolute;top:22px;bottom:22px;left:50%;transform:translate(-50%)}.timeline-archive{opacity:0;max-height:0;margin-top:0;transition:max-height .5s,margin-top .5s,opacity .22s;overflow:hidden}.timeline-archive.expanded{opacity:1;max-height:5000px;margin-top:28px}.timeline-toggle{width:fit-content;margin:32px auto 0;display:flex}.timeline-row{grid-template-columns:minmax(0,1fr) 94px minmax(0,1fr);align-items:start;display:grid;position:relative}.timeline-card-slot{min-width:0}.timeline-left .timeline-card-slot{grid-column:1}.timeline-right .timeline-card-slot{grid-column:3}.timeline-year{z-index:2;border:2px solid var(--c-ink);background:var(--c-ink);width:62px;min-height:36px;color:var(--c-white);border-radius:999px;grid-area:1/2;justify-self:center;place-items:center;font-family:Space Mono,monospace;font-size:.7rem;font-weight:700;display:grid}.project-card{--project-accent:var(--c-blue);border:2px solid var(--c-ink);border-top:9px solid var(--project-accent);background:var(--c-white);color:var(--c-ink);box-shadow:5px 5px 0 var(--project-accent);border-radius:7px;padding:18px;text-decoration:none;transition:transform .17s,box-shadow .17s;display:block;position:relative;overflow:hidden}a.project-card:hover{box-shadow:8px 8px 0 var(--project-accent);transform:translate(-3px,-3px)}.project-card-active{--project-accent:var(--c-green)}.project-card-acquired{--project-accent:var(--c-yellow)}.project-card-exited{--project-accent:var(--c-pink)}.project-card-for-fun{--project-accent:var(--c-purple)}.project-card-top{grid-template-columns:46px 1fr auto;align-items:start;gap:12px;display:grid}.project-icon{border:2px solid var(--c-ink);background:var(--c-white);border-radius:6px;place-items:center;width:46px;height:46px;display:grid;overflow:hidden}.project-icon img{object-fit:contain;width:30px;height:30px}.project-icon strong{font-family:Space Mono,monospace;font-size:.68rem}.project-card h3{margin:0 0 6px;font-size:1.12rem;line-height:1.15}.project-card>p{color:var(--c-muted);margin:15px 0 0;font-size:.86rem;line-height:1.55}.project-arrow{margin-top:3px;font-size:.8rem}.status-pill{background:var(--project-accent);color:var(--c-ink);text-transform:uppercase;border-radius:999px;padding:3px 8px;font-family:Space Mono,monospace;font-size:.58rem;font-weight:700;display:inline-flex}.timeline-empty{z-index:2;text-align:center;position:relative}.timeline-empty img{width:220px;height:auto;margin-inline:auto}.timeline-empty p{font-family:Space Mono,monospace;font-size:.8rem}.facts-section{background:var(--c-ink);color:var(--c-white);padding:110px 0}.facts-header .section-intro{color:#b8b8bd}.facts-list{border-bottom:1px solid #454545;margin:64px 0 0;padding:0;list-style:none}.facts-list li{--fact-color:var(--c-pink);border-top:1px solid #454545;grid-template-columns:64px 54px 1fr;align-items:start;gap:24px;padding:28px 18px;transition:background .18s,color .18s,padding .18s;display:grid}.facts-list li:nth-child(2){--fact-color:var(--c-blue)}.facts-list li:nth-child(3){--fact-color:var(--c-yellow)}.facts-list li:nth-child(4){--fact-color:var(--c-green)}.facts-list li:nth-child(5){--fact-color:var(--c-purple)}.facts-list li:hover{background:var(--fact-color);color:var(--c-ink);padding-inline:30px}.fact-number{font-family:Space Mono,monospace;font-size:.75rem;font-weight:700}.fact-icon{border:2px solid;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.facts-list h3{margin:0;font-size:1.35rem;line-height:1.25}.facts-list p{color:#b8b8bd;max-width:820px;margin:8px 0 0;font-size:.92rem;line-height:1.55}.facts-list li:hover p{color:var(--c-ink)}.photos-section{border-bottom:2px solid var(--c-ink);background:var(--c-soft);padding:110px 0 120px;overflow:hidden}.photos-heading{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;gap:60px;display:grid}.photos-heading .eyebrow,.photos-heading .section-title{grid-column:1}.photos-heading .section-title{margin-top:-2px}.photos-heading .section-intro{grid-area:1/2/3;align-self:end;margin:0}.photo-viewport{scrollbar-width:thin;scrollbar-color:var(--c-ink) transparent;width:min(100% - 24px,1460px);margin:64px auto 0;padding:18px 10px 34px;overflow-x:auto}.photo-row{grid-template-columns:repeat(5,minmax(220px,1fr));align-items:center;gap:0;min-width:1100px;display:grid}.photo-card{--photo-color:var(--c-pink);border:3px solid var(--c-ink);background:var(--c-white);box-shadow:8px 8px 0 var(--photo-color);border-radius:7px;margin:0;transition:transform .2s,z-index;position:relative;transform:rotate(-3deg)}.photo-card:nth-child(2){--photo-color:var(--c-blue);transform:rotate(2deg)translateY(18px)}.photo-card:nth-child(3){--photo-color:var(--c-yellow);transform:rotate(-1deg)translateY(-8px)}.photo-card:nth-child(4){--photo-color:var(--c-green);transform:rotate(3deg)translateY(15px)}.photo-card:nth-child(5){--photo-color:var(--c-purple);transform:rotate(-2deg)}.photo-card+.photo-card{margin-left:-24px}.photo-card:hover{z-index:10;transform:translateY(-14px)rotate(0)}.photo-image{aspect-ratio:4/5;background:var(--photo-color);border-radius:3px 3px 0 0;position:relative;overflow:hidden}.photo-card figcaption{border-top:3px solid var(--c-ink);background:var(--photo-color);min-height:54px;color:var(--c-ink);align-items:center;padding:11px 14px;font-family:Space Mono,monospace;font-size:.72rem;font-weight:700;line-height:1.3;display:flex}.writing-section{background:var(--c-yellow);padding:110px 0}.writing-header{justify-content:space-between;align-items:end;gap:40px;display:flex}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:58px;display:grid}.post-card{border:2px solid var(--c-ink);background:var(--c-white);min-width:0;color:var(--c-ink);border-radius:7px;flex-direction:column;text-decoration:none;transition:transform .17s,box-shadow .17s;display:flex;overflow:hidden}.post-card:hover{box-shadow:8px 8px 0 var(--c-ink);transform:translate(-4px,-4px)}.post-image{aspect-ratio:16/10;border-bottom:2px solid var(--c-ink);background:var(--c-blue);position:relative;overflow:hidden}.post-image>span{border:2px solid var(--c-ink);background:var(--c-yellow);border-radius:50%;place-items:center;width:38px;height:38px;font-family:Space Mono,monospace;font-size:.65rem;font-weight:700;display:grid;position:absolute;top:10px;left:10px}.post-card-copy{flex-direction:column;flex:1;padding:22px;display:flex}.post-meta{text-transform:uppercase;justify-content:space-between;gap:14px;font-family:Space Mono,monospace;font-size:.62rem;font-weight:700;display:flex}.post-meta>span{background:var(--c-soft);border-radius:999px;padding:3px 8px}.post-card h3{margin:22px 0 0;font-size:1.45rem;line-height:1.18}.post-card p{color:var(--c-muted);margin:12px 0 0;font-size:.9rem;line-height:1.55}.post-link{align-items:center;gap:9px;margin-top:auto;padding-top:24px;font-size:.78rem;font-weight:800;display:inline-flex}.post-link i{transition:transform .16s}.post-card:hover .post-link i{transform:translate(5px)}.newsletter{border:2px solid var(--c-ink);background:var(--c-ink);color:var(--c-white);border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);align-items:center;gap:70px;margin-top:70px;padding:44px;display:grid;position:relative;overflow:hidden}.newsletter:before{content:"";background:var(--c-pink);width:10px;position:absolute;top:0;bottom:0;left:0}.newsletter-kicker{text-transform:uppercase;font-family:Space Mono,monospace;font-weight:700;color:var(--c-yellow)!important;margin:0 0 12px!important;font-size:.68rem!important}.newsletter h3{max-width:600px;margin:0;font-size:2.15rem;line-height:1.08}.newsletter p{color:#c4c4c8;margin:14px 0 0;font-size:.9rem}.newsletter form{grid-template-columns:1fr auto;gap:8px;display:grid;position:relative}.newsletter input{border:2px solid var(--c-white);background:var(--c-white);min-width:0;height:50px;color:var(--c-ink);border-radius:5px;padding:0 14px;font-size:.84rem;font-weight:600}.newsletter button{border:2px solid var(--c-yellow);background:var(--c-yellow);min-height:50px;color:var(--c-ink);cursor:pointer;border-radius:5px;align-items:center;gap:10px;padding:0 16px;font-size:.8rem;font-weight:800;display:inline-flex}.newsletter button:hover{background:var(--c-green);border-color:var(--c-green)}.newsletter button:disabled{cursor:wait;opacity:.65}.newsletter-error{color:var(--c-pink);grid-column:1/-1;font-size:.72rem;font-weight:700}.newsletter-success{font-family:Space Mono,monospace;font-weight:700;color:var(--c-green)!important;font-size:.9rem!important}.site-footer{background:var(--c-ink);color:var(--c-white)}.footer-ribbon{grid-template-columns:repeat(5,1fr);height:12px;display:grid}.footer-inner{grid-template-columns:1fr auto;gap:50px;padding-block:48px;display:grid}.footer-inner strong{font-size:1.25rem}.footer-inner p{color:#aaaab0;margin:5px 0 0;font-size:.82rem}.footer-links{align-items:start;gap:22px;display:flex}.footer-links a{color:var(--c-white);font-size:.78rem;font-weight:750;text-decoration:none}.footer-links a:hover{color:var(--c-yellow)}.footer-inner small{color:#85858b;border-top:1px solid #444;grid-column:1/-1;padding-top:24px;font-family:Space Mono,monospace;font-size:.62rem}.scroll-top{z-index:60;border:2px solid var(--c-ink);background:var(--c-yellow);width:46px;height:46px;color:var(--c-ink);opacity:0;pointer-events:none;border-radius:50%;place-items:center;text-decoration:none;transition:opacity .16s,transform .16s;display:grid;position:fixed;bottom:18px;right:18px;transform:translateY(12px)}.scroll-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-top:hover{background:var(--c-green)}.ninja{z-index:999;text-align:center;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.ninja.visible{display:flex}.ninja.black{background:#000}.ninja img{width:240px;height:auto}.blog-page{background:var(--c-paper);min-height:100vh}.blog-nav{border-bottom:2px solid var(--c-ink);background:var(--c-paper)}.blog-nav-inner{justify-content:space-between;align-items:center;gap:24px;min-height:72px;display:flex}.blog-nav a{color:var(--c-ink);align-items:center;gap:9px;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.blog-nav a:hover{color:var(--c-blue)}.blog-main{width:min(100% - 40px,920px);margin-inline:auto;padding:90px 0 110px}.blog-hero{max-width:780px;margin-bottom:52px}.blog-hero h1,.article-title{margin:0;font-size:4rem;font-weight:900;line-height:1}.blog-hero p,.article-deck{color:var(--c-muted);margin:22px 0 0;font-size:1.1rem;line-height:1.65}.blog-list{gap:18px;display:grid}.blog-list-card{--list-color:var(--c-pink);border:2px solid var(--c-ink);background:var(--c-white);color:var(--c-ink);border-radius:7px;grid-template-columns:210px 1fr;text-decoration:none;transition:transform .16s,box-shadow .16s;display:grid;overflow:hidden}.blog-list-card:nth-child(2){--list-color:var(--c-blue)}.blog-list-card:nth-child(3){--list-color:var(--c-green)}.blog-list-card:hover{box-shadow:7px 7px 0 var(--list-color);transform:translate(-3px,-3px)}.blog-list-image{border-right:2px solid var(--c-ink);background:var(--list-color);min-height:210px;position:relative}.blog-list-copy{padding:26px}.blog-list-copy h2{margin:14px 0 0;font-size:1.5rem;line-height:1.2}.blog-list-copy p{color:var(--c-muted);margin:10px 0 0;font-size:.9rem}.tag-row,.article-meta{text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;font-family:Space Mono,monospace;font-size:.62rem;font-weight:700;display:flex}.tag-row span,.article-meta span{background:var(--c-soft);border-radius:999px;padding:4px 9px}.article-main{width:min(100% - 40px,800px);margin-inline:auto;padding:72px 0 110px}.article-header{margin-bottom:40px}.article-title{margin-top:22px}.article-cover{aspect-ratio:16/9;border:2px solid var(--c-ink);box-shadow:8px 8px 0 var(--c-purple);background:var(--c-soft);border-radius:7px;margin:38px 0 54px;position:relative;overflow:hidden}.article-content{color:var(--c-ink)}.article-content a{color:#3a63d8;font-weight:700}.article-content h2,.article-content h3{letter-spacing:0}@media (max-width:1080px){.hero-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:42px}.section-title{font-size:3.1rem}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-card:last-child:nth-child(odd){grid-column:1/-1}}@media (max-width:860px){.page-shell{width:min(100% - 30px,720px)}.site-nav{height:64px}.nav-inner{gap:14px}.brand-mark strong{display:none}.nav-links{justify-content:flex-end;gap:20px;overflow-x:auto}.nav-links a{font-size:.78rem}.hero{align-items:start;min-height:0}.hero-layout{grid-template-columns:1fr;gap:58px;padding-block:70px 86px}.hero-title{max-width:700px}.hero-side{grid-template-columns:auto 1fr;align-items:start;gap:28px;display:grid}.portrait-wrap{margin:0}.social-row{justify-content:flex-start}.todo-list{max-width:none;margin:0}.projects-header,.photos-heading,.newsletter{grid-template-columns:1fr;gap:40px}.filter-panel{max-width:560px}.photos-heading .eyebrow,.photos-heading .section-title,.photos-heading .section-intro{grid-area:auto/1}.photos-heading .section-intro{margin-top:0}.newsletter form{max-width:620px}}@media (max-width:680px){body{font-size:15px}.site-nav{overflow:hidden}.brand-swatches{width:36px}.palette-button>span{width:38px}.nav-links{gap:16px}.nav-links a:first-child,.nav-links a:nth-child(3){display:none}.hero-layout{padding-top:54px}.hero-title{font-size:2.5rem}.hero-intro{font-size:1rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px}.featured-build{grid-template-columns:42px 1fr auto}.featured-icon{width:42px;height:42px}.featured-build small{font-size:.7rem}.hero-side{display:block}.portrait-wrap{margin-inline:auto}.social-row{justify-content:center}.todo-list{margin-top:28px}.section-title{font-size:2.55rem}.projects-section,.facts-section,.photos-section,.writing-section{padding-block:82px}.filter-list{grid-template-columns:1fr}.project-timeline{gap:22px;width:min(100% - 30px,560px)}.timeline-track:before{left:28px;transform:none}.timeline-row{min-height:60px;display:block}.timeline-card-slot{margin-left:64px}.timeline-year{width:56px;min-height:32px;font-size:.62rem;position:absolute;top:8px;left:0}.facts-list li{grid-template-columns:42px 1fr;gap:15px;padding-inline:4px}.fact-icon{display:none}.facts-list li:hover{padding-inline:14px}.facts-list h3{font-size:1.15rem}.photo-viewport{width:100%;padding-left:24px}.photo-row{grid-template-columns:repeat(5,280px);gap:0;min-width:1380px}.writing-header{flex-direction:column;align-items:flex-start}.post-grid{grid-template-columns:1fr}.post-card:last-child:nth-child(odd){grid-column:auto}.newsletter{padding:32px 24px 32px 34px}.newsletter h3{font-size:1.65rem}.newsletter form{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;gap:24px}.footer-links{flex-wrap:wrap}.footer-inner small{grid-column:1}.blog-main,.article-main{padding-block:64px 86px}.blog-hero h1,.article-title{font-size:2.6rem}.blog-list-card{grid-template-columns:1fr}.blog-list-image{border-right:0;border-bottom:2px solid var(--c-ink);min-height:210px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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}
