/*
! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af}input::placeholder,textarea::placeholder{color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/inter-var-latin.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.cursor-newtab{cursor:url(/images/new-tab.png) 10 10,pointer}.h1,h1{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1.5rem;line-height:2rem;font-weight:700}@media (min-width:768px){.h1,h1{font-size:2.25rem;line-height:2.5rem}}.h2,h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1.25rem;line-height:1.75rem;font-weight:700}@media (min-width:768px){.h2,h2{font-size:1.875rem;line-height:2.25rem}}.h3,h3{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1.125rem;line-height:1.75rem;font-weight:700}@media (min-width:768px){.h3,h3{font-size:1.5rem;line-height:2rem}}.h4,h4{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width:768px){.h4,h4{font-size:1.125rem;line-height:1.75rem}}.p,body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875rem;line-height:1.25rem}@media (min-width:768px){.p,body{font-size:1rem;line-height:1.5rem}}.layout{max-width:68.75rem;margin-left:auto;margin-right:auto;width:91.666667%}.bg-dark a.custom-link{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.bg-dark a.custom-link:hover{border-color:rgba(229,231,235,0)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-2{bottom:.5rem}.left-1\/2{left:50%}.left-2{left:.5rem}.top-0{top:0}.top-1\/2{top:50%}.z-50{z-index:50}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-14{height:3.5rem}.min-h-\[28px\]{min-height:28px}.min-h-screen{min-height:100vh}.min-w-\[28px\]{min-width:28px}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes flicker{0%,19.999%,22%,62.999%,64%,64.999%,70%,to{opacity:.99;filter:drop-shadow(0 0 1px rgba(252,211,77)) drop-shadow(0 0 15px rgba(245,158,11)) drop-shadow(0 0 1px rgba(252,211,77))}20%,21.999%,63%,63.999%,65%,69.999%{opacity:.4;filter:none}}.animate-flicker{animation:flicker 3s linear infinite}@keyframes shimmer{0%{background-position:-700px 0}to{background-position:700px 0}}.animate-shimmer{animation:shimmer 1.3s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\[0\.25em\]{gap:.25em}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.rounded{border-radius:.25rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-dotted{border-style:dotted}.border-dark{--tw-border-opacity:1;border-color:rgb(34 34 34/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.border-primary-500{--tw-border-opacity:1;border-color:rgb(var(--tw-color-primary-500)/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(var(--tw-color-primary-600)/var(--tw-border-opacity))}.bg-\[\#f6f7f8\]{--tw-bg-opacity:1;background-color:rgb(246 247 248/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity:1;background-color:rgb(var(--tw-color-primary-500)/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-1{padding:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.text-center{text-align:center}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgb(var(--tw-color-primary-500)/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-0{opacity:0}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-none,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.invert{--tw-invert:invert(100%)}.filter,.invert{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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-none{transition-property:none}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-75{transition-duration:75ms}.animated-underline{background-image:linear-gradient(#33333300,#33333300),linear-gradient(to right,var(--color-primary-400),var(--color-primary-500));background-size:100% 2px,0 2px;background-position:100% 100%,0 100%;background-repeat:no-repeat}@media (prefers-reduced-motion:no-preference){.animated-underline{transition:.3s ease;transition-property:background-size,color,background-color,border-color}}.animated-underline:focus-visible,.animated-underline:hover{background-size:0 2px,100% 2px}:root{
  /* !STARTERCONF Customize these variable, copy and paste from /styles/colors.css for list of colors */--tw-color-primary-50:240 249 255;--tw-color-primary-100:224 242 254;--tw-color-primary-200:186 230 253;--tw-color-primary-300:125 211 252;--tw-color-primary-400:56 189 248;--tw-color-primary-500:14 165 233;--tw-color-primary-600:2 132 199;--tw-color-primary-700:3 105 161;--tw-color-primary-800:7 89 133;--tw-color-primary-900:12 74 110;--color-primary-50:rgb(var(--tw-color-primary-50));--color-primary-100:rgb(var(--tw-color-primary-100));--color-primary-200:rgb(var(--tw-color-primary-200));--color-primary-300:rgb(var(--tw-color-primary-300));--color-primary-400:rgb(var(--tw-color-primary-400));--color-primary-500:rgb(var(--tw-color-primary-500));--color-primary-600:rgb(var(--tw-color-primary-600));--color-primary-700:rgb(var(--tw-color-primary-700));--color-primary-800:rgb(var(--tw-color-primary-800));--color-primary-900:rgb(var(--tw-color-primary-900))}html{overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;scroll-padding-top:95px;background:#0d1217}body{position:static;overflow:visible;width:100%;margin:0}.portfolio{--gold:#c9a66b;--ink:#f0eee7;--muted:#9aa3ab;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);font-family:Inter,Arial,sans-serif;background:radial-gradient(ellipse at 80% 32%,#182122 0,transparent 32%),#0d1217}.portfolio a{text-decoration:none}.portfolio a,.portfolio button{-webkit-tap-highlight-color:transparent}.portfolio :focus-visible{outline:2px solid var(--gold);outline-offset:6px}.portfolio button{cursor:pointer}.site-header{height:88px;position:fixed;z-index:20;inset:0 0 auto;padding:0 5.5%;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#0d1217f2,#0d121700)}.wordmark{font-size:11px;font-weight:600;letter-spacing:.12em}.wordmark span{color:var(--gold);margin:0 12px}.site-header nav{display:flex;gap:34px;font-size:12px}.site-header a:hover,.site-header nav a:last-child,footer a:hover{color:var(--gold)}.skip-link{position:fixed;top:-100px;left:20px;z-index:40;padding:15px;background:#c9a66b;color:#080b0c}.skip-link:focus{top:20px}.scene-layer{position:fixed;inset:0;pointer-events:none;z-index:1}.portfolio main{position:relative;z-index:2}@media (min-width:1600px){.site-header{padding-left:calc((100vw - 1424px) / 2);padding-right:calc((100vw - 1424px) / 2)}}@media (max-width:759px){.site-header{height:72px;padding:0 6%}.wordmark{font-size:9px;letter-spacing:.04em}.wordmark span{margin:0 5px}.site-header nav{gap:18px;font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{background:#0d1217e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.diorama-page{background:#0d1217}.diorama-page .scene-layer{z-index:1;bottom:auto;height:100vh;height:100svh;background:radial-gradient(ellipse 90% 70% at 50% 58%,#161d25 0,#0d1217 70%)}.diorama-page .diorama-story{position:relative;z-index:2;pointer-events:none}.scene-beat{position:relative;padding:100px 6vw 0;scroll-margin-top:0}.scene-beat h1{margin:0;font-size:clamp(32px,4.4vw,60px);line-height:1.1;letter-spacing:-.035em;font-weight:500}.scene-beat h1 span{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:.02em;color:var(--muted)}.beat-label{position:sticky;top:100px;display:grid;grid-template-columns:auto 1fr;-moz-column-gap:12px;column-gap:12px;align-items:baseline;max-width:300px}.beat-label>span{font-family:var(--mono);font-size:12px;color:var(--gold)}.beat-label h2{margin:0;font-size:15px;font-weight:500;letter-spacing:0}.beat-label p{grid-column:2;margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--muted)}.opening-beat{height:160svh}.mobile-beat{height:140svh}.scene-scroll{position:absolute;top:86svh;left:6vw;pointer-events:auto;font-family:var(--mono);font-size:13px;color:var(--muted)}.scene-scroll:hover{color:var(--ink)}.scene-loading{margin-top:18px;pointer-events:auto;font-size:14px;color:var(--muted)}.contact-block{position:sticky;top:100px;box-sizing:border-box;max-width:440px;padding:22px 24px 24px;border:1px solid #2a333d;background:#0d1217d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.contact-block .beat-label{position:static}.closing-title{margin:18px 0 14px;font-size:clamp(24px,2.4vw,32px);font-weight:500;line-height:1.15;letter-spacing:-.025em}.contact-block>p{margin:0 0 12px;font-size:15px;line-height:1.55;color:#c3cad1}.closing-links{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:baseline;margin-top:20px;font-size:15px}.closing-links a{color:var(--muted)}.closing-links a:hover{color:var(--ink)}.closing-links .is-primary{padding-bottom:3px;border-bottom:1px solid var(--gold);font-size:20px;color:var(--ink)}.closing-links .is-primary:hover{color:var(--gold)}@media (max-width:759px){.contact-block{top:84px;padding:16px 18px 18px}.closing-title{margin:12px 0 10px;font-size:22px}.contact-block>p{font-size:14px;line-height:1.5}.contact-block>p+p{display:none}.closing-links{margin-top:14px}}.scene-footer{position:relative;z-index:2;border-top:1px solid #ffffff14;color:#8e9890;justify-content:space-between;padding:25px 6vw;background:#0d1217;font-size:14px}.scene-footer,.scene-footer div{display:flex;gap:24px}@media (max-width:600px){.scene-footer{flex-direction:column}.scene-footer div{gap:16px;flex-wrap:wrap}}.world-display{backface-visibility:hidden}.world-display-controls{border:0;margin:0;padding:0;min-width:0;font:inherit}.world-display button{cursor:pointer;font:inherit}.world-display button:disabled{cursor:default;opacity:1}.world-display button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.editor-tabs button,.ios-segments button{position:relative}.tap-hint{position:absolute;top:50%;left:50%;z-index:2;width:0;height:0;pointer-events:none;font-size:42px;color:#fff;opacity:0;animation:tap-hint 2.2s ease-in-out .7s 2}.editor-tabs .tap-hint{font-size:72px}.tap-hint svg{position:absolute;top:-.08em;left:-.38em;filter:drop-shadow(0 2px 4px #000a)}.tap-hint-ripple{position:absolute;top:-.6em;left:-.6em;width:1.2em;height:1.2em;border:.06em solid #ffffffcc;border-radius:50%;opacity:0;animation:tap-hint-ripple 2.2s ease-out .7s 2}@keyframes tap-hint{0%{opacity:0;transform:translate(.9em,1em)}20%{opacity:1;transform:translate(0)}30%{transform:scale(.82)}40%,70%{opacity:1;transform:scale(1)}to{opacity:0;transform:translate(.3em,.4em)}}@keyframes tap-hint-ripple{0%,28%{opacity:0;transform:scale(.3)}32%{opacity:1}60%,to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.tap-hint{display:none}}.world-phone-screen{--tint:#b7a4f5;--label-2:#8d949d;width:300px;height:623px;box-sizing:border-box;border-radius:24px;overflow:hidden;background:#0b0e12;color:#f1f3f5;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,sans-serif;display:flex;flex-direction:column}.ios-status{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:12px 24px 0;font-size:13px;font-weight:600}.ios-status span:last-child{display:flex;gap:4px;font-size:14px}.ios-nav{display:flex;align-items:center;flex-shrink:0;padding:10px 10px 0;font-size:15px;color:var(--tint)}.ios-nav svg{font-size:20px}.ios-title{flex-shrink:0;margin:4px 16px 12px;font-size:30px;font-weight:700;letter-spacing:-.02em}.ios-segments{display:grid;grid-template-columns:repeat(3,1fr);flex-shrink:0;margin:0 16px 16px;padding:2px;border-radius:9px;background:#1e232a}.ios-segments button{height:32px;border:0;border-radius:7px;background:transparent;color:#d8dce1;font-size:13px;font-weight:500}.ios-segments button[aria-pressed=true]{background:#3b414a;color:#fff;box-shadow:0 1px 3px #0006}.ios-scroll{flex:1;min-height:0;overflow:hidden;padding:0 16px}.ios-group{margin-bottom:20px}.ios-group h4{margin:0 0 6px 14px;font-weight:400;text-transform:uppercase;letter-spacing:.02em}.ios-group h4,.ios-group>p{font-size:12px;color:var(--label-2)}.ios-group>p{margin:6px 14px 0;line-height:1.35}.ios-group-cells{border-radius:10px;overflow:hidden;background:#171b21}.ios-cell{position:relative;display:flex;align-items:center;gap:12px;min-height:42px;padding:0 14px;font-size:15px}.ios-cell+.ios-cell:before{content:"";position:absolute;top:0;right:0;left:14px;height:1px;background:#262b33}.ios-cell>span{flex:1}.ios-cell>svg:first-child{flex-shrink:0;font-size:18px;color:var(--tint)}.ios-cell>svg:last-child:not(:first-child){font-size:13px;color:#59606a}.ios-group-cells:has(svg) .ios-cell+.ios-cell:before{left:44px}.ios-cell.is-value em{font-style:normal;color:var(--label-2)}.ios-cell.is-stacked{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:9px 14px}.ios-cell.is-stacked small{font-size:13px;color:var(--label-2)}.ios-stat{display:flex;align-items:baseline;gap:8px;padding:10px 14px 12px}.ios-stat strong{font-size:44px;font-weight:700;letter-spacing:-.03em}.ios-stat span{font-size:15px;color:var(--label-2)}.ios-home{flex-shrink:0;width:112px;height:4px;margin:6px auto 8px;border-radius:3px;background:#e9ebee}.world-monitor-screen{box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;background:#12171d;color:#b9c1ca;font-family:var(--mono)}.editor-tabs{display:flex;flex-shrink:0;background:#0c1015;border-bottom:1px solid #222a33}.editor-tabs button{padding:14px 24px 13px;border:0;border-top:2px solid transparent;border-right:1px solid #1d242c;margin-bottom:-1px;background:transparent;color:#6f7a86;font-size:17px}.editor-tabs button[aria-pressed=true]{border-top-color:var(--gold);background:#12171d;color:#eef1f4}.editor-body{flex:1;min-height:0;overflow:hidden;padding:22px 36px 0 0}.editor-body p{display:grid;grid-template-columns:70px 1fr;min-height:1.6em;margin:0;font-size:19px;line-height:1.6}.editor-gutter{padding-right:24px;text-align:right;color:#424c57}.editor-body i{font-style:normal}.editor-body .is-heading{color:#f1f3f5;font-weight:500}.editor-body .is-heading i{color:var(--gold)}.editor-body .is-item i{color:#6f7a86}.editor-status{display:flex;flex-shrink:0;gap:24px;padding:8px 20px;border-top:1px solid #222a33;background:#0c1015;color:#66717c;font-size:14px}.editor-status span:last-child{margin-left:auto}.world-monitor-screen.is-compact .editor-tabs button{padding:9px 13px 8px;font-size:15px}.world-monitor-screen.is-compact .editor-body{padding:12px 18px 0 0}.world-monitor-screen.is-compact .editor-body p{grid-template-columns:40px 1fr;font-size:16px;line-height:1.45}.world-monitor-screen.is-compact .editor-gutter{padding-right:12px}.world-monitor-screen.is-compact .editor-status{gap:14px;padding:5px 12px;font-size:12px}.world-monitor-screen.is-compact .editor-status span:nth-child(2){display:none}.editor-tabs button.is-dotfile{color:#3c4651}.editor-tabs button.is-dotfile[aria-pressed=true]{color:#eef1f4}.world-monitor-screen.is-game{background:transparent}.editor-body.is-game{position:relative;padding:0}.world-display .zoomies-stage{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;touch-action:manipulation}.world-display .zoomies-stage:focus-visible{outline:1px dashed #ffffff26;outline-offset:-8px}.zoomies-message,.zoomies-score{position:absolute;margin:0;pointer-events:none}.zoomies-score{top:16px;right:22px;font-size:18px;color:#7d8792}.zoomies-message{top:42%;right:0;left:0;text-align:center;font-size:20px;color:#d0d6dc}.zoomies-prize{position:absolute;top:16px;left:22px;display:flex;flex-direction:column;gap:4px;padding:12px 16px;border:1px solid var(--gold);background:#0d1217eb}.zoomies-prize strong{font-size:26px;font-weight:500;letter-spacing:.04em;color:var(--gold)}.zoomies-prize a,.zoomies-prize span{font-size:15px;color:#d0d6dc}.zoomies-prize a{text-decoration:underline;text-underline-offset:3px}.world-monitor-screen.is-compact .zoomies-score{top:8px;right:12px;font-size:14px}.world-monitor-screen.is-compact .zoomies-message{font-size:15px}.world-monitor-screen.is-compact .zoomies-prize{top:8px;left:12px;padding:8px 10px}.world-monitor-screen.is-compact .zoomies-prize strong{font-size:18px}.world-monitor-screen.is-compact .zoomies-prize a,.world-monitor-screen.is-compact .zoomies-prize span{font-size:12px}.robot-chat-panel{box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;border:1px solid #2a333d;border-radius:14px;background:#11161c;color:#e4e8ec}.robot-chat-panel header{display:flex;align-items:baseline;gap:12px;padding:18px 22px 16px;border-bottom:1px solid #222a33}.robot-chat-panel header strong{font-family:var(--mono);font-size:19px;font-weight:500}.robot-chat-panel header span{font-size:15px;color:#7d8792}.robot-chat-panel header span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#5fae7c;vertical-align:1px}.robot-chat-panel header span.is-typing:before{background:var(--gold)}.robot-chat-messages{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:22px}.robot-question{align-self:flex-end;max-width:82%;margin:0;padding:11px 16px;border-radius:18px 18px 4px 18px;background:#283340;font-size:19px;line-height:1.35}.robot-tool{display:flex;gap:10px;margin:4px 0 0;font-family:var(--mono);font-size:14px;color:#6f7a86}.robot-tool code{font:inherit}.robot-tool span{color:var(--gold)}.robot-tool[data-done=true] span{color:#5fae7c}.robot-answer{margin:0;font-size:21px;line-height:1.45}.robot-caret{display:inline-block;width:9px;height:1.05em;margin-left:3px;background:var(--gold);vertical-align:text-bottom}.robot-chat-panel footer{flex-shrink:0;border-top:1px solid #222a33}.robot-chat-controls{display:flex;align-items:stretch}.robot-chat-controls button{height:60px;padding:0 24px;border:0;background:transparent;color:#c3cad1;font-size:17px}.robot-chat-controls button:hover:not(:disabled){background:#1a2129;color:#fff}.robot-chat-controls>span{flex:1;align-self:center;text-align:center;font-family:var(--mono);font-size:14px;color:#6f7a86}.overview-profile{width:500px;box-sizing:border-box;padding:26px 28px 18px;border:1px solid #2a333d;background:#11161ceb;color:#e6e9ec}.overview-name{margin:0;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.overview-profile h3{margin:8px 0 18px;font-size:32px;font-weight:500;line-height:1.1;letter-spacing:-.025em}.overview-profile dl{margin:0}.overview-profile dl>div{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid #232b34}.overview-profile dt{font-family:var(--mono);font-size:13px;color:#7d8792}.overview-profile dd{margin:0;font-size:17px;color:#d0d6dc}.overview-profile dd b{margin-right:4px;font-size:30px;font-weight:500;letter-spacing:-.03em;color:#fff}.overview-profile.is-compact{width:350px;padding:18px 18px 10px}.overview-profile.is-compact h3{margin-bottom:12px;font-size:25px}.overview-profile.is-compact dl>div{grid-template-columns:82px 1fr;gap:8px;padding:8px 0}.overview-profile.is-compact dt{font-size:12px}.overview-profile.is-compact dd{font-size:15px}.overview-profile.is-compact dd b{font-size:24px}.overview-beat{height:240svh}.monitor-beat{height:210svh}.robot-beat{height:270svh}.conclusion-beat{height:230svh}.diorama-page:has(.robot-chat-panel[data-active=true]) .conclusion-beat,.diorama-page:has(.world-display[data-focused=true] .world-monitor-screen) .robot-beat,.diorama-page:has(.world-display[data-focused=true] .world-phone-screen) .monitor-beat{visibility:hidden}@media (max-width:1279px){.diorama-page:has(.world-display[data-focused=true]) .beat-label{visibility:hidden}}.hover\:border-black\/0:hover{border-color:transparent}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.hover\:bg-primary-50:hover{--tw-bg-opacity:1;background-color:rgb(var(--tw-color-primary-50)/var(--tw-bg-opacity))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgb(var(--tw-color-primary-600)/var(--tw-bg-opacity))}.hover\:text-dark:hover{--tw-text-opacity:1;color:rgb(34 34 34/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgb(var(--tw-color-primary-600)/var(--tw-text-opacity))}.hover\:text-transparent:hover{color:transparent}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:rounded:focus-visible{border-radius:.25rem}.focus-visible\:ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-primary-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tw-color-primary-500)/var(--tw-ring-opacity))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:bg-gray-700:active{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.active\:bg-gray-800:active{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.active\:bg-primary-100:active{--tw-bg-opacity:1;background-color:rgb(var(--tw-color-primary-100)/var(--tw-bg-opacity))}.active\:bg-primary-700:active{--tw-bg-opacity:1;background-color:rgb(var(--tw-color-primary-700)/var(--tw-bg-opacity))}.active\:bg-white\/80:active{background-color:hsla(0,0%,100%,.8)}.active\:text-gray-800:active{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.active\:text-primary-700:active{--tw-text-opacity:1;color:rgb(var(--tw-color-primary-700)/var(--tw-text-opacity))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:bg-gray-200:disabled{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.disabled\:bg-gray-700:disabled{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.disabled\:bg-gray-800:disabled{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.disabled\:bg-primary-100:disabled{--tw-bg-opacity:1;background-color:rgb(var(--tw-color-primary-100)/var(--tw-bg-opacity))}.disabled\:bg-primary-700:disabled{--tw-bg-opacity:1;background-color:rgb(var(--tw-color-primary-700)/var(--tw-bg-opacity))}.disabled\:text-gray-300:disabled{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.disabled\:text-primary-200:disabled{--tw-text-opacity:1;color:rgb(var(--tw-color-primary-200)/var(--tw-text-opacity))}.disabled\:brightness-105:disabled{--tw-brightness:brightness(1.05);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)}.disabled\:hover\:underline:hover:disabled{text-decoration-line:underline}.group:hover .group-hover\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100{opacity:1}@media (prefers-reduced-motion:no-preference){.motion-safe\:-translate-x-1{--tw-translate-x:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (min-width:768px){.md\:min-h-\[34px\]{min-height:34px}.md\:min-w-\[34px\]{min-width:34px}.md\:p-2{padding:.5rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}