@layer reset, base, components, pages, utilities, overrides;@font-face{font-family:display;src:url(/_next/static/media/8eca89c01f43561d-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:display Fallback;src:local("Arial");ascent-override:85.41%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:102.80%}.__className_65c081{font-family:display,display Fallback;font-style:normal}.__variable_65c081{--font-display:"display","display Fallback"}@font-face{font-family:body;src:url(/_next/static/media/13a15bcdfeddab65-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:body;src:url(/_next/static/media/4cdcd386d2ac59c8-s.p.woff2) format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:body;src:url(/_next/static/media/1cdb9a2cbcaafa7e-s.p.woff2) format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:body Fallback;src:local("Arial");ascent-override:101.35%;descent-override:27.19%;line-gap-override:0.00%;size-adjust:101.13%}.__className_2655bb{font-family:body,body Fallback}.__variable_2655bb{--font-body:"body","body Fallback"}@font-face{font-family:mono;src:url(/_next/static/media/06ac09dcb8ec7d56-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:mono;src:url(/_next/static/media/dece0821e8ed059f-s.p.woff2) format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:mono Fallback;src:local("Arial");ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.00%;size-adjust:131.49%}.__className_4ea204{font-family:mono,mono Fallback}.__variable_4ea204{--font-mono:"mono","mono Fallback"}*,: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:rgb(59 130 246/0.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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::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:rgb(59 130 246/0.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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Roboto,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;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-feature-settings:normal;font-variation-settings:normal;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-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-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}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;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]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-\[12rem\]{max-width:12rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.list-disc{list-style-type:disc}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border-t{border-top-width:1px}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.bg-accent-dark{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-amber-500\/10{background-color:rgb(245 158 11/.1)}.bg-blue-500\/10{background-color:rgb(59 130 246/.1)}.bg-green-500\/10{background-color:rgb(34 197 94/.1)}.bg-red-500\/10{background-color:rgb(239 68 68/.1)}.bg-slate-500\/10{background-color:rgb(100 116 139/.1)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-12{padding:3rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-24{padding-bottom:6rem}.pl-5{padding-left:1.25rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-accent-dark{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-accent-teal{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-body{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-headline{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring-1{--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,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-amber-500\/25{--tw-ring-color:rgb(245 158 11/0.25)}.ring-blue-500\/25{--tw-ring-color:rgb(59 130 246/0.25)}.ring-green-500\/25{--tw-ring-color:rgb(34 197 94/0.25)}.ring-red-500\/25{--tw-ring-color:rgb(239 68 68/0.25)}.ring-slate-500\/25{--tw-ring-color:rgb(100 116 139/0.25)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.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}:root{--canvas:#E9EEF5;--canvas-grid:rgba(27,70,166,0.07);--panel:#F7F9FC;--panel-2:#DFE6F0;--band:#DCE4F0;--line:#C9D4E3;--line-strong:#A9B8CE;--ink:#0F1B2D;--body:#354561;--muted:#5E6C86;--accent:#2B63D9;--accent-ink:#1B46A6;--accent-soft:rgba(43,99,217,0.12);--accent-ring:rgba(43,99,217,0.30);--hero:#12264F;--hero-2:#0E1E3F;--hero-ink:#F4F7FB;--hero-muted:#AFC0DC;--hero-line:rgba(175,192,220,0.28);--ok:#1E9A6B;--ok-soft:rgba(30,154,107,0.14);--warn:#B8761A;--warn-soft:rgba(184,118,26,0.14);--shadow-sm:0 1px 2px rgba(15,27,45,0.05);--shadow-card:0 1px 2px rgba(15,27,45,0.05),0 14px 30px -18px rgba(15,27,45,0.25);--primary-bg:var(--canvas);--surface:var(--panel);--secondary-bg:var(--panel-2);--card-bg:var(--panel);--nav-bg:rgba(233,238,245,0.86);--border-color:var(--line);--text-headline:var(--ink);--text-body:var(--body);--text-muted:var(--muted);--hero-bg:var(--hero);--accent-hover:var(--accent-ink);--primary-color:var(--accent);--analogous-blue:var(--accent);--analogous-purple:var(--accent-ink);--triadic-purple:var(--accent-ink);--triadic-red:var(--accent);--complementary-color:var(--accent);--accent-teal:var(--accent);--accent-dark:var(--ink);--button-primary:var(--accent);--button-secondary:var(--accent)}[data-theme=dark]{color-scheme:dark;--canvas:#0B111C;--canvas-grid:rgba(109,155,255,0.06);--panel:#121A29;--panel-2:#1A2436;--band:#0F1626;--line:#243044;--line-strong:#33425A;--ink:#E9EEF6;--body:#A9B5C8;--muted:#7E8BA3;--accent:#6D9BFF;--accent-ink:#9DBBFF;--accent-soft:rgba(109,155,255,0.14);--accent-ring:rgba(109,155,255,0.40);--hero:#0E1830;--hero-2:#0A1122;--hero-ink:#EEF3FA;--hero-muted:#93A6C6;--hero-line:rgba(147,166,198,0.24);--ok:#3FC48E;--ok-soft:rgba(63,196,142,0.16);--warn:#E0A03A;--warn-soft:rgba(224,160,58,0.16);--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-card:0 1px 2px rgba(0,0,0,0.4),0 14px 30px -18px rgba(0,0,0,0.7);--primary-bg:var(--canvas);--surface:var(--panel);--secondary-bg:var(--panel-2);--card-bg:var(--panel);--nav-bg:rgba(11,17,28,0.88);--border-color:var(--line);--text-headline:var(--ink);--text-body:var(--body);--text-muted:var(--muted);--hero-bg:var(--hero);--accent-hover:var(--accent-ink);--primary-color:var(--accent);--analogous-blue:var(--accent);--analogous-purple:var(--accent-ink);--triadic-purple:var(--accent-ink);--triadic-red:var(--accent);--complementary-color:var(--accent);--accent-teal:var(--accent);--accent-dark:var(--ink);--button-primary:var(--accent);--button-secondary:var(--accent)}[data-theme=winner]{--canvas:#CFE8FF;--canvas-grid:transparent;--panel:#FFFFFF;--panel-2:#E6F3FF;--band:#FFE9A8;--line:#A9CDF0;--line-strong:#7FB2E3;--ink:#14304D;--body:#2B4A68;--muted:#50708F;--accent:#E11D48;--accent-ink:#BE123C;--accent-soft:rgba(225,29,72,0.10);--accent-ring:rgba(225,29,72,0.35);--hero:#1F6FD0;--hero-2:#1558AE;--hero-ink:#FFFFFF;--hero-muted:#D6E8FF;--hero-line:rgba(255,255,255,0.35);--ok:#1E9A6B;--ok-soft:rgba(30,154,107,0.14);--warn:#B8761A;--warn-soft:rgba(184,118,26,0.14);--shadow-sm:0 1px 2px rgba(20,48,77,0.06);--shadow-card:0 1px 2px rgba(20,48,77,0.06),0 12px 30px -16px rgba(20,48,77,0.28);--primary-bg:var(--canvas);--surface:var(--panel-2);--secondary-bg:var(--band);--card-bg:var(--panel);--nav-bg:rgba(207,232,255,0.85);--border-color:var(--line);--text-headline:var(--ink);--text-body:var(--body);--text-muted:var(--muted);--hero-bg:var(--hero);--accent-hover:var(--accent-ink);--primary-color:var(--accent);--analogous-blue:var(--hero);--analogous-purple:var(--accent-ink);--triadic-purple:var(--accent-ink);--triadic-red:var(--accent);--complementary-color:var(--accent);--accent-teal:var(--accent);--accent-dark:var(--ink);--button-primary:var(--accent);--button-secondary:var(--hero)}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body),"IBM Plex Sans",system-ui,sans-serif;background-color:var(--canvas);color:var(--body);transition:background-color .3s ease,color .3s ease}section[id]{scroll-margin-top:4.5rem}.bg-primary{background-color:var(--primary-bg)}.bg-secondary{background-color:var(--secondary-bg)}.page-grid{background-color:var(--primary-bg);background-size:34px 34px}.page-grid,[data-theme=dark] .page-grid{background-image:linear-gradient(var(--canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px)}[data-theme=winner] .page-grid{background-color:var(--primary-bg);background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='132'%20height='132'%3E%3Cg%20fill='%23ffd21e'%3E%3Cpath%20opacity='.85'%20transform='translate(14%2010)%20scale(1.15)'%20d='M12%202l3.09%206.26L22%209.27l-5%204.87L18.18%2021%2012%2017.77%205.82%2021%207%2014.14l-5-4.87%206.91-1.01z'/%3E%3Cpath%20opacity='.5'%20transform='translate(80%2070)%20scale(.75)'%20d='M12%202l3.09%206.26L22%209.27l-5%204.87L18.18%2021%2012%2017.77%205.82%2021%207%2014.14l-5-4.87%206.91-1.01z'/%3E%3C/g%3E%3C/svg%3E");background-size:132px 132px;animation:star-drift 38s linear infinite}@keyframes star-drift{0%{background-position:0 0}to{background-position:0 -528px}}@media (prefers-reduced-motion:reduce){[data-theme=winner] .page-grid{animation:none}}.bg-accent-dark{background:#0f172a;color:white}.text-accent-dark{color:var(--accent-dark)}.text-accent-teal{color:var(--accent-teal)}.text-headline{color:var(--text-headline)}.text-body{color:var(--text-body)}.text-muted{color:var(--text-muted)}.border-accent-teal{border-color:var(--accent-teal)}.hover-teal:hover{background-color:var(--accent-teal);color:white}.hover-teal-light:hover{background-color:var(--analogous-blue)}.text-primary{color:var(--primary-color)}.text-complementary{color:var(--complementary-color)}.bg-primary-color{background-color:var(--primary-color)}.bg-complementary{background-color:var(--complementary-color)}.gradient-bg{background-color:var(--hero-bg)}.site-hero{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0);background-size:34px 34px}.card-white{background-color:var(--card-bg)}.card-secondary,.card-white{border:1px solid var(--border-color)}.card-secondary{background-color:var(--secondary-bg)}.paper-container{background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-card);position:relative;border:1px solid var(--border-color)}.paper-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(145deg,rgba(15,23,42,.015),transparent);border-radius:12px;pointer-events:none}.nav-item{padding:.5rem 1rem;border-radius:.375rem;color:var(--text-body);text-decoration:none;transition:all .2s ease}.nav-item:hover{background-color:var(--accent-soft);color:var(--accent)}.site-nav{position:sticky;top:0;z-index:40;background-color:var(--hero-bg);background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0);background-size:34px 34px;transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease}.site-nav.is-scrolled{background:var(--nav-bg);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:saturate(150%) blur(10px);backdrop-filter:saturate(150%) blur(10px);box-shadow:0 1px 2px rgba(15,23,42,.06)}.site-nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:3.5rem;gap:.5rem}.site-nav-left{justify-self:start;min-width:0}.site-nav-center{justify-self:center;align-items:center;gap:.25rem}.site-nav-right{justify-self:end;display:flex;align-items:center;gap:.5rem}.site-nav:not(.is-scrolled) .nav-item{color:rgba(255,255,255,.85)}.site-nav:not(.is-scrolled) .nav-item:hover{background-color:rgba(255,255,255,.14);color:#ffffff}.site-nav:not(.is-scrolled) .button-download{color:#ffffff;border-color:rgba(255,255,255,.4)}.site-nav:not(.is-scrolled) .button-download:hover{background-color:rgba(255,255,255,.14);border-color:rgba(255,255,255,.7)}.site-nav:not(.is-scrolled) .nav-icon-btn{color:rgba(255,255,255,.85)}.site-nav:not(.is-scrolled) .nav-icon-btn:hover{background-color:rgba(255,255,255,.14);color:#ffffff}@media (max-width:767px){.site-nav-inner{display:flex;align-items:center;justify-content:space-between;height:3rem}.site-nav-center{display:none}.site-nav-left{flex:1 1 auto;min-width:0}.site-nav-right .button-download{font-size:.78rem;padding:.3rem .55rem;gap:.35rem}}.site-hero .button-download{color:#ffffff;border-color:rgba(255,255,255,.4)}.site-hero .button-download:hover{background-color:rgba(255,255,255,.14);border-color:rgba(255,255,255,.7)}.nav-brand{background:transparent;border:none;cursor:pointer;min-width:0;max-width:72%;opacity:0;transform:translateX(-6px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}.nav-brand.is-visible{opacity:1;transform:none;pointer-events:auto}.nav-brand-img{border:1px solid var(--border-color)}.nav-brand span span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:stretch;background-color:var(--nav-bg);-webkit-backdrop-filter:saturate(150%) blur(10px);backdrop-filter:saturate(150%) blur(10px);border-top:1px solid var(--border-color);padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:.8rem .25rem .7rem;color:var(--text-muted);font-size:.72rem;font-weight:500;text-decoration:none;transition:color .2s ease}.bottom-nav-item svg{width:1.6rem;height:1.6rem}.bottom-nav-item.is-active,.bottom-nav-item:active,.button-download{color:var(--accent)}.button-download{display:inline-flex;align-items:center;gap:.5rem;background-color:transparent;border:1px solid var(--border-color);padding:.4rem .85rem;border-radius:.5rem;font-size:.9rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.button-download:hover{background-color:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent)}.nav-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;color:var(--text-body);transition:background-color .2s ease,color .2s ease}.nav-icon-btn:hover{background-color:var(--accent-soft);color:var(--accent)}.hero-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .85rem;border-radius:999px;font-size:.85rem;color:rgba(255,255,255,.92);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);transition:background-color .2s ease,border-color .2s ease,transform .2s ease}a.hero-pill:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.45);transform:translateY(-1px)}.hero-pill svg{width:.95rem;height:.95rem;flex-shrink:0}.contact-info,.contact-info span,.contact-info svg{color:#D1D5DB!important}.pdf-container{box-shadow:0 10px 25px rgba(0,0,0,.15);border:1px solid #e5e7eb}.pdf-page-indicator{background-color:var(--card-bg);color:var(--text-body);border:1px solid var(--secondary-bg)}[data-theme=dark] .paper-container{background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 1px 3px rgba(0,0,0,.4),0 12px 32px -16px rgba(0,0,0,.6)}[data-theme=dark] .paper-container p,[data-theme=dark] .paper-container span,[data-theme=dark] h3{color:#FFFFFF!important}[data-theme=dark] .button-download{color:var(--accent);background-color:transparent;border-color:var(--border-color)}[data-theme=dark] .button-download:hover{background-color:var(--accent-soft);border-color:var(--accent-ring)}[data-theme=dark] .paper-container:before{background:linear-gradient(145deg,rgba(148,163,184,.04),transparent)}[data-theme=dark] .gradient-bg{background-color:var(--hero-bg)}[data-theme=dark] .pdf-page-indicator{background-color:var(--card-bg);color:#9CA3AF!important;border-color:var(--secondary-bg)}[data-theme=dark] .text-headline{color:#FFFFFF!important}[data-theme=dark] .card-white{background-color:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .card-white .text-headline{color:#FFFFFF!important}[data-theme=dark] .nav-item:hover{background-color:var(--accent-soft);color:var(--accent-hover)}[data-theme=dark] .bg-accent-dark{background:#090d14;border-top:1px solid var(--border-color);color:white}[data-theme=dark] .bg-accent-dark .text-gray-300{color:#E2E8F0!important}[data-theme=dark] .bg-accent-dark a{color:#F1F5F9!important}[data-theme=dark] .bg-accent-dark a:hover{color:var(--analogous-blue)!important}.workflow-header{border-color:var(--secondary-bg)}.workflow-details-btn{background-color:var(--button-primary);color:white;border-color:var(--button-primary);transition:all .2s ease}.workflow-details-btn:hover{background-color:var(--analogous-purple);border-color:var(--analogous-purple)}.workflow-details-btn:active{background-color:var(--triadic-purple);border-color:var(--triadic-purple)}.workflow-row{transition:all .2s ease}.workflow-row:hover{background-color:var(--accent-soft);border-color:var(--accent)}[data-theme=dark] .workflow-header{border-color:var(--secondary-bg)}[data-theme=dark] .workflow-header.gradient-bg{background:var(--secondary-bg);border-bottom:1px solid #475569}[data-theme=dark] .workflow-header .text-headline{color:#9CA3AF!important}[data-theme=dark] .workflow-header .contact-info,[data-theme=dark] .workflow-header .nav-link,[data-theme=dark] .workflow-header .text-body{color:#6B7280!important}[data-theme=dark] .workflow-details-btn{background-color:var(--analogous-blue);color:#FFFFFF!important;border-color:var(--analogous-blue)}[data-theme=dark] .workflow-details-btn:hover{background-color:var(--primary-color);color:#FFFFFF!important;border-color:var(--primary-color)}[data-theme=dark] .workflow-details-btn:active{background-color:var(--triadic-purple);color:#FFFFFF!important;border-color:var(--triadic-purple)}[data-theme=dark] .workflow-row:active .text-accent-teal,[data-theme=dark] .workflow-row:hover .text-accent-teal{color:var(--analogous-blue)!important}[data-theme=dark] .workflow-row:hover{background-color:var(--accent-soft)}.workflow-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:1rem;box-shadow:var(--shadow-card);overflow:hidden}[data-theme=dark] .workflow-card{box-shadow:0 1px 2px rgba(0,0,0,.3)}.workflow-card-head{padding:.9rem 1.25rem;border-bottom:1px solid var(--border-color)}.dp-card{width:100%;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card)}[data-theme=dark] .dp-card{box-shadow:0 1px 2px rgba(0,0,0,.3)}.dp-head{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--border-color)}.dp-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.dp-app{font-size:.92rem;font-weight:600;color:var(--text-headline)}.dp-branch{width:1rem;height:1rem;margin-left:auto;color:var(--text-body)}.dp-steps{list-style:none;margin:0;display:flex;flex-direction:column;padding:1.5rem 1.5rem .75rem}.dp-step{position:relative;display:flex;align-items:flex-start;gap:1rem;padding-bottom:1.9rem}.dp-step:last-child{padding-bottom:0}.dp-node{position:relative;z-index:1;flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--card-bg);border:1.5px solid var(--border-color);color:var(--text-muted);transition:background-color .45s ease,border-color .45s ease,color .45s ease,box-shadow .45s ease}.dp-node svg{width:21px;height:21px}.dp-node.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.dp-node.is-pulse{box-shadow:0 0 0 6px var(--accent-soft)}.dp-line{position:absolute;left:21px;top:44px;bottom:0;width:2px;border-radius:1px;background:var(--border-color);transition:background-color .55s ease}.dp-line.is-on{background:var(--accent)}.dp-content{padding-top:.5rem;min-width:0}.dp-title{font-size:.95rem;font-weight:600;color:var(--text-body);transition:color .45s ease}.dp-title.is-on{color:var(--text-headline)}.dp-detail{font-size:.8rem;color:var(--text-muted);margin-top:.05rem}.dp-detail.is-mono{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace}.dp-urlwrap{display:flex;justify-content:center;padding:.75rem 1.5rem 1.5rem}.dp-url{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .85rem;border-radius:8px;font-size:.82rem;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);transition:background-color .5s ease,border-color .5s ease,color .5s ease}.dp-url svg{width:15px;height:15px}.dp-url.is-done{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.dp-urltext{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace}@media (min-width:768px){.dp-steps{flex-direction:row;align-items:flex-start;padding:2rem 1.5rem 1.25rem}.dp-step{flex:1;flex-direction:column;align-items:center;text-align:center;gap:.7rem;padding-bottom:0}.dp-line{left:50%;right:auto;top:22px;bottom:auto;width:100%;height:2px}.dp-content{padding-top:0}.dp-url{width:auto;min-width:20rem}}.filter-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;color:var(--text-body);background:transparent;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.filter-pill.is-active,.filter-pill:hover{background-color:var(--accent-soft)}.filter-pill.is-active{color:var(--accent);border-color:var(--accent-ring);font-weight:600}.filter-count{font-size:.72rem;color:var(--text-muted)}.run-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-left:3px solid transparent;border-top:1px solid var(--border-color);transition:background-color .15s ease,border-color .15s ease}.run-row:first-child{border-top:none}.run-row:hover{background-color:var(--accent-soft);border-left-color:var(--accent)}.run-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;font-size:.72rem;color:var(--text-muted)}.run-mono{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace}.h-3 svg,.h-3.w-3 svg,[data-slot=icon].h-3,svg.h-3{height:.75rem!important;width:.75rem!important;min-height:.75rem!important;min-width:.75rem!important;max-height:.75rem!important;max-width:.75rem!important}.h-4 svg,.h-4.w-4 svg,[data-slot=icon].h-4,svg.h-4{height:1rem!important;width:1rem!important;min-height:1rem!important;min-width:1rem!important;max-height:1rem!important;max-width:1rem!important}.h-6 svg,.h-6.w-6 svg,[data-slot=icon].h-6,svg.h-6{height:1.5rem!important;width:1.5rem!important;min-height:1.5rem!important;min-width:1.5rem!important;max-height:1.5rem!important;max-width:1.5rem!important}.h-8 svg,.h-8.w-8 svg,[data-slot=icon].h-8,svg.h-8{height:2rem!important;width:2rem!important;min-height:2rem!important;min-width:2rem!important;max-height:2rem!important;max-width:2rem!important}.h-12 svg,.h-12.w-12 svg,[data-slot=icon].h-12,svg.h-12{height:3rem!important;width:3rem!important;min-height:3rem!important;min-width:3rem!important;max-height:3rem!important;max-width:3rem!important}.h-3.w-3{height:.75rem!important;width:.75rem!important}.h-4.w-4{height:1rem!important;width:1rem!important}.h-6.w-6{height:1.5rem!important;width:1.5rem!important}.h-8.w-8{height:2rem!important;width:2rem!important}.h-12.w-12{height:3rem!important;width:3rem!important}[data-slot=icon]{flex-shrink:0}.skills-tag-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (min-width:768px){.skills-tag-grid{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}}.tag{display:inline-flex;align-items:center;justify-content:center;font-size:.8125rem;line-height:1.25rem;padding:.25rem .625rem;border-radius:.5rem;background-color:var(--secondary-bg);color:var(--text-body);text-align:center}.tag,.tag-light{border:1px solid var(--border-color)}.tag-light{background-color:var(--card-bg)}.strength-pill{background-color:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-ring)}.resume-print-header,.resume-print-only{display:none}[data-theme=dark] .resume-document .text-headline,[data-theme=dark] .resume-document h2,[data-theme=dark] .resume-document h3{color:#FFFFFF!important}[data-theme=dark] .resume-document .text-body,[data-theme=dark] .resume-document li,[data-theme=dark] .resume-document p{color:#E2E8F0!important}[data-theme=dark] .tag{background-color:rgba(148,163,184,.1);color:#cbd5e1;border-color:var(--border-color)}[data-theme=dark] .tag-light{background-color:rgba(148,163,184,.1);border-color:rgba(148,163,184,.18)}[data-theme=dark] .strength-pill{background-color:var(--accent-soft);color:#93c5fd!important;border-color:var(--accent-ring)}[data-theme=dark] .resume-rule{border-color:#475569!important}.projects-section{position:relative}.section-intro{text-align:center;max-width:44rem;margin:0 auto 3rem}.section-eyebrow{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:.78rem;letter-spacing:.14em;color:var(--accent-2);font-weight:500}.section-heading{font-family:var(--font-display),"Archivo",system-ui,sans-serif;font-size:clamp(2rem,4vw,2.6rem);font-weight:700;line-height:1.05;color:var(--text-headline);margin-top:.5rem}.section-lede{color:var(--text-body);margin-top:.85rem;line-height:1.65}.strengths-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;max-width:60rem;margin:0 auto}@media (min-width:640px){.strengths-grid{grid-template-columns:repeat(4,1fr);gap:1rem}}.strength-card{display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center;padding:1.6rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.9rem;box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.strength-card:hover{transform:translateY(-2px);border-color:var(--accent-ring)}.strength-card-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.strength-card-icon svg{width:2.75rem;height:2.75rem}.strength-card-label{font-family:var(--font-display),"Archivo",system-ui,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.25;color:var(--text-headline)}.projects-grid{display:flex;flex-direction:column;gap:1.5rem;max-width:64rem;margin:0 auto}.project-card{position:relative;overflow:hidden;background:var(--card-bg);border:1px solid var(--border-color);border-radius:1rem;padding:1.75rem;box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.project-card:hover{transform:translateY(-3px);border-color:var(--accent-ring);box-shadow:0 20px 44px -20px rgba(37,99,235,.3)}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.project-index{position:absolute;top:.5rem;right:1.25rem;font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:3.25rem;font-weight:600;line-height:1;color:rgba(15,23,42,.05);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.project-head{display:flex;gap:1rem;align-items:flex-start;padding-right:2.5rem}.project-icon{flex-shrink:0;width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;border-radius:.85rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-ring)}.project-icon svg{width:2rem;height:2rem}.project-eyebrow{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2);font-weight:500}.project-title{font-family:var(--font-display),"Archivo",system-ui,sans-serif;font-size:1.5rem;font-weight:700;line-height:1.15;color:var(--text-headline);margin-top:.15rem}.project-subtitle{color:var(--text-body);font-size:.95rem;margin-top:.1rem}.project-summary{color:var(--text-body);line-height:1.65;margin-top:1.1rem}.project-metrics{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;margin-top:1.35rem;padding:1rem 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.metric{display:flex;flex-direction:column}.metric-value{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:1.4rem;font-weight:600;line-height:1.1;color:var(--text-headline)}.metric-label{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-body);margin-top:.2rem}.project-highlights{list-style:none;margin-top:1.2rem;display:flex;flex-direction:column;gap:.55rem;padding:0}.project-highlights li{position:relative;padding-left:1.3rem;font-size:.92rem;line-height:1.55;color:var(--text-body)}.project-highlights li:before{content:"";position:absolute;left:.1rem;top:.5em;width:.42rem;height:.42rem;border-radius:1px;background:var(--analogous-blue);transform:rotate(45deg)}.project-stack{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.35rem}.reveal{opacity:1}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(24px);animation:reveal-rise linear both;animation-timeline:view();animation-range:entry 0 entry 45%}}}@keyframes reveal-rise{to{opacity:1;transform:none}}[data-theme=dark] .project-card{border-color:rgba(148,163,184,.14);box-shadow:0 1px 2px rgba(0,0,0,.3)}[data-theme=dark] .project-card:hover{border-color:var(--accent-ring);box-shadow:0 20px 44px -20px rgba(0,0,0,.7)}[data-theme=dark] .project-index{color:rgba(148,163,184,.08)}[data-theme=dark] .project-icon{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent-hover)}[data-theme=dark] .project-metrics{border-color:rgba(148,163,184,.14)}.tech-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.9rem;padding:1.25rem;box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tech-card:hover{transform:translateY(-2px);border-color:var(--accent-ring);box-shadow:0 14px 30px -18px rgba(37,99,235,.3)}[data-theme=dark] .tech-card{box-shadow:0 1px 2px rgba(0,0,0,.3)}.tech-card-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}.tech-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:.55rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-ring)}.tech-card-icon svg{width:1.1rem;height:1.1rem}.tech-card-title{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-headline)}.tech-card-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag-tech{gap:.4rem;justify-content:flex-start;color:var(--text-headline);transition:border-color .2s ease}.tag-tech svg{width:.95rem;height:.95rem;flex-shrink:0;color:var(--accent)}.tech-card:hover .tag-tech{border-color:var(--accent-ring)}.tech-tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.4rem;padding:.8rem .4rem;min-height:4.75rem;text-align:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.7rem;box-shadow:var(--shadow-sm)}.tech-tile-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.tech-tile-icon svg{width:1.85rem;height:1.85rem}.tech-tile-name{font-size:.68rem;font-weight:500;line-height:1.2;color:var(--text-body);word-break:break-word}button.tech-tile{position:relative;width:100%;font:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.tech-tile.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-ring)}.tech-tile.is-solved{border-color:var(--accent-ring);background:var(--accent-soft);cursor:default}.tech-tile-star{position:absolute;top:5px;right:5px;width:.85rem;height:.85rem;color:var(--accent)}.tech-toast{position:fixed;left:50%;bottom:calc(4.5rem + env(safe-area-inset-bottom, 0));transform:translateX(-50%) translateY(8px);z-index:30;display:inline-flex;align-items:center;gap:.5rem;max-width:calc(100vw - 2rem);padding:.5rem .95rem;border-radius:999px;background:var(--card-bg);color:var(--text-headline);border:1px solid var(--accent-ring);box-shadow:var(--shadow-card);font-size:.85rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .34s ease,transform .34s ease}.tech-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}.tech-toast.is-finale{border-color:var(--accent);border-width:2px}.tech-toast-star{width:1rem;height:1rem;flex-shrink:0;color:#f2b50a}@media (min-width:768px){.tech-toast{display:none}}@media (prefers-reduced-motion:reduce){.tech-toast{transition:opacity .2s ease}.tech-toast,.tech-toast.is-visible{transform:translateX(-50%)}}.theme-menu{position:relative}.theme-menu-pop{position:absolute;right:0;top:calc(100% + 8px);min-width:9rem;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:.6rem;background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-card);z-index:50}.theme-menu-item{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;border-radius:.4rem;font-size:.85rem;color:var(--text-body);text-align:left;transition:background-color .15s ease,color .15s ease}.theme-menu-item:hover{background:var(--accent-soft);color:var(--accent)}.theme-menu-item.is-active{color:var(--accent);font-weight:600}.theme-menu-item svg{width:1rem;height:1rem;flex-shrink:0}.pa-wrap{max-width:1160px;margin:0 auto;padding-inline:20px}.pa-section{padding-block:72px}.pa-h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);font-weight:700;letter-spacing:-.01em;line-height:1.1;text-wrap:balance}.pa-h2,.pa-h3{font-family:var(--font-display),"Archivo",system-ui,sans-serif;font-stretch:112%;color:var(--ink);margin:0}.pa-h3{font-size:1.25rem;font-weight:600;line-height:1.15}.pa-lede{max-width:62ch;font-size:1.05rem;color:var(--body);margin-top:14px}.pa-mono{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}.pa-link{color:var(--accent-ink)}.pa-link:hover{text-decoration:underline}@media (max-width:700px){.pa-section{padding-block:34px}.pa-wrap{padding-inline:16px}}.pa-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:8px;font-weight:600;font-size:.92rem;border:1px solid var(--line-strong);color:var(--ink);background:var(--panel);white-space:nowrap;text-decoration:none}.pa-btn:hover{border-color:var(--accent);text-decoration:none}.pa-btn svg{width:15px;height:15px}.pa-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.pa-btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:600;padding:3px 9px;border-radius:999px}.pill-ok{color:var(--ok);background:var(--ok-soft)}.pill-warn{color:var(--warn);background:var(--warn-soft)}.pill-info{color:var(--accent-ink);background:var(--accent-soft)}.stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.stack-tag,.tools-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-weight:500;font-size:.76rem;line-height:1;padding:6px 8px;border-radius:5px;background:var(--panel-2);color:var(--body);border:1px solid var(--line)}.stack-tag svg,.tools-tag svg{width:13px;height:13px;flex:none;color:var(--muted)}.hero-pa{background:linear-gradient(160deg,var(--hero),var(--hero-2));color:var(--hero-ink);padding-block:64px 56px;border-bottom:1px solid var(--line)}.hero-pa .pa-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center}.hero-pa .pa-wrap>div{min-width:0}.hero-name{color:var(--hero-ink);font-size:clamp(2.4rem,1.6rem + 3.2vw,4.2rem);font-weight:700;font-stretch:125%;letter-spacing:-.02em;line-height:1;margin:0}.hero-name,.hero-role{font-family:var(--font-display),"Archivo",system-ui,sans-serif}.hero-role{font-stretch:112%;font-weight:600;font-size:clamp(1.15rem,1rem + .8vw,1.5rem);color:var(--hero-muted);margin-top:10px}.hero-thesis{margin-top:22px;font-size:1.08rem;line-height:1.6;max-width:52ch;color:var(--hero-ink)}.hero-thesis span{color:var(--hero-muted)}.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-pa .pa-btn{background:transparent;border-color:var(--hero-line);color:var(--hero-ink)}.hero-pa .pa-btn:hover{border-color:var(--hero-muted)}.hero-pa .pa-btn-primary{background:#fff;color:var(--hero);border-color:#fff}.hero-pa .pa-btn-primary:hover{background:#E4ECFA;border-color:#E4ECFA}.hero-contact{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:22px;font-size:.86rem;color:var(--hero-muted)}.hero-map-cap{font-size:.8rem;color:var(--hero-muted);margin-top:10px;text-align:right}@media (max-width:900px){.hero-pa .pa-wrap{grid-template-columns:1fr;gap:36px}.hero-map-cap{text-align:left}}@media (max-width:700px){.hero-pa{padding-block:34px 30px}.hero-name{font-size:2.55rem}.hero-thesis{font-size:1rem}}.status-strip{border-bottom:1px solid var(--line);background:var(--panel)}.status-strip .pa-wrap{display:flex;flex-wrap:wrap;align-items:stretch}.stat{flex:1 1 150px;padding:18px 18px 16px 0;margin-right:18px;border-right:1px solid var(--line)}.stat:last-child{border-right:0;margin-right:0}.stat-value{display:block;font-family:var(--font-display),"Archivo",system-ui,sans-serif;font-stretch:112%;font-weight:700;font-size:1.55rem;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}.stat-label{display:block;font-size:.82rem;color:var(--muted);margin-top:6px}.stat-live{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:var(--ok);font-weight:600;margin-top:6px}.stat-live i{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block}@media (max-width:700px){.status-strip .pa-wrap{display:grid;grid-template-columns:1fr 1fr;padding-inline:0}.stat{margin:0;padding:14px 16px 12px;border-right:0;border-bottom:1px solid var(--line)}.stat:nth-child(odd){border-right:1px solid var(--line)}}.dwrap{min-width:0;max-width:100%}.dwrap svg{width:100%;height:auto;display:block}.d-tall{max-width:360px;margin:0 auto}@media (max-width:700px){svg.d-wide{display:none!important}}@media (min-width:701px){svg.d-tall{display:none!important}}.d text{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:11.5px;fill:var(--body)}.d .node{fill:var(--panel);stroke:var(--line-strong);stroke-width:1.2}.d .node.hot{stroke:var(--accent);fill:var(--accent-soft)}.d .node.ok{stroke:var(--ok);fill:var(--ok-soft)}.d .edge{stroke:var(--line-strong);stroke-width:1.4;fill:none}.d .edge.hot{stroke:var(--accent)}.d .edge.ok{stroke:var(--ok)}.d .lbl{fill:var(--ink);font-weight:500}.d .tiny{font-size:10px;fill:var(--muted)}.map text{fill:#AFC0DC}.map .lbl{fill:#F4F7FB;font-weight:500}.map .tiny{fill:#8DA1C4}.map .node{fill:rgba(255,255,255,.04);stroke:rgba(175,192,220,.45)}.map .node.hot{fill:rgba(109,155,255,.16);stroke:#7FA6FF}.map .node.ok{fill:rgba(63,196,142,.14);stroke:#3FC48E}.map .edge{stroke:rgba(175,192,220,.45)}.map .edge.hot{stroke:#7FA6FF}.map .edge.ok{stroke:#3FC48E}.map .band{fill:none;stroke:rgba(175,192,220,.22);stroke-dasharray:3 4}.systems-grid{display:grid;gap:22px;margin-top:40px}.sys{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}.sys-text{padding:30px 32px;min-width:0}.sys-fig{padding:26px 28px;background:var(--panel-2);border-left:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:16px;min-width:0}.sys-flip .sys-text{order:2}.sys-flip .sys-fig{border-left:0;border-right:1px solid var(--line)}.sys-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sys-title{font-size:1.45rem;margin-top:10px}.sys-sub{color:var(--muted);font-size:.95rem;margin-top:4px}.sys-link{display:inline-block;font-size:.85rem;margin-top:6px}.sys-desc{margin-top:16px;max-width:58ch}.sys-outcomes{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:9px}.sys-outcomes li{padding-left:18px;position:relative;font-size:.95rem}.sys-outcomes li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--accent)}.fig-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}.metric-tile{padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0}.metric-value{display:block;font-family:var(--font-display),"Archivo",system-ui,sans-serif;font-stretch:112%;font-weight:700;font-size:1.25rem;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}.metric-label{font-size:.76rem;color:var(--muted);display:block;margin-top:4px;text-transform:none;letter-spacing:0;font-family:var(--font-body),system-ui,sans-serif}@media (max-width:860px){.sys{grid-template-columns:1fr}.sys-flip .sys-text{order:0}.sys-fig,.sys-flip .sys-fig{border-left:0;border-right:0;border-top:1px solid var(--line)}.sys-text{padding:20px 18px}.sys-fig{padding:16px 16px 18px}}.sys-after{grid-column:1/-1;border-top:1px solid var(--line);background:var(--band);padding:26px 32px 30px;min-width:0}.impact-h{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}.impact-lede{margin-top:6px;font-size:.92rem;color:var(--muted);max-width:70ch}.impact .out-grid{margin-top:20px;gap:24px}@media (max-width:700px){.sys-after{padding:18px 16px 20px}}.out-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin-top:36px}.out{border-top:2px solid var(--accent);padding-top:16px;min-width:0}.out-from{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:.82rem;color:var(--muted)}.out-to{font-family:var(--font-display),"Archivo",system-ui,sans-serif;font-stretch:112%;font-weight:700;font-size:2rem;color:var(--ink);line-height:1;margin-top:6px;font-variant-numeric:tabular-nums}.out-to small{font-size:1rem;font-weight:500;color:var(--muted);margin-left:6px;font-family:var(--font-body),system-ui,sans-serif}.out p{margin-top:10px;font-size:.92rem}.out-bar{display:grid;gap:5px;margin-top:14px}.out-bar i{display:block;height:6px;border-radius:3px;background:var(--line-strong)}.out-bar i.now{background:var(--accent)}@media (max-width:700px){.out-grid{grid-template-columns:1fr 1fr;gap:20px 18px}.out-to{font-size:1.7rem}}.practice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px 40px;margin-top:36px}.practice-grid .pa-h3{font-size:1.05rem}.practice-grid p{margin-top:8px;font-size:.95rem}.tl{margin-top:36px;border-left:2px solid var(--line-strong);display:grid;gap:8px}.tl-entry{padding:10px 0 10px 26px;position:relative}.tl-entry:before{content:"";position:absolute;left:-7px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--canvas);border:2px solid var(--accent)}.tl-entry[open]:before{background:var(--accent)}.tl-entry summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:baseline}.tl-entry summary::-webkit-details-marker{display:none}.tl-when{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.tl-who b{color:var(--ink);font-weight:600;font-family:var(--font-display),"Archivo",system-ui,sans-serif;font-stretch:112%;font-size:1.05rem}.tl-who span{color:var(--muted);font-size:.92rem;margin-left:8px}.tl-one{grid-column:2;font-size:.92rem;color:var(--body);margin-top:2px}.tl-chev{color:var(--muted);font-size:.8rem;transition:transform .2s}.tl-entry[open] .tl-chev{transform:rotate(180deg)}.tl-entry ul{margin:12px 0 4px;padding-left:18px;display:grid;gap:6px;font-size:.93rem;max-width:70ch;list-style:disc}@media (max-width:700px){.tl-entry summary{grid-template-columns:1fr auto;gap:2px 10px}.tl-one,.tl-when{grid-column:1/-1}.tl-who span{display:block;margin-left:0}}.tools{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px 28px;margin-top:32px}.tools-group h4{font-size:.86rem;font-weight:600;color:var(--muted);padding-bottom:8px;border-bottom:1px solid var(--line);margin:0 0 10px}.tools-group ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.tools-tag{background:var(--panel);font-size:.8rem}.game-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.game-prog{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:.76rem;color:var(--muted);white-space:nowrap;flex:none}.game-hint{font-size:.86rem;color:var(--muted);margin-top:6px}.game-solved{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;min-height:26px}.game-solved span{font-size:.72rem;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink)}.deploys-pa{background:var(--panel);border-top:1px solid var(--line)}.pipe{margin-top:30px;border:1px solid var(--line);border-radius:12px;background:var(--canvas);padding:22px 24px;display:grid;gap:18px}.pipe-steps{flex-wrap:wrap}.pipe-step,.pipe-steps{display:flex;align-items:center}.pipe-step{gap:8px;font-size:.86rem;color:var(--ink);font-weight:500}.pipe-step i{width:10px;height:10px;border-radius:50%;background:var(--ok);display:inline-block;box-shadow:0 0 0 4px var(--ok-soft)}.pipe-step+.pipe-step:before{content:"";width:34px;height:2px;background:var(--line-strong);margin-inline:10px}.pipe-run{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.84rem;color:var(--muted);align-items:center}.pipe-run b{color:var(--ink);font-weight:500}@media (max-width:700px){.pipe-steps{display:grid;gap:8px}.pipe-step+.pipe-step:before{display:none}.pipe-run{display:grid;gap:4px}}.resume-screen-hidden{display:none}.site-footer-pa{padding-block:34px 44px;font-size:.86rem;color:var(--muted)}.site-footer-pa .pa-wrap{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}.site-footer-pa a{color:var(--body)}@media (prefers-reduced-motion:reduce){.pa-btn,.tech-tile,.tl-chev{transition:none!important}}@media print{@page{margin:.5in}#deploys,#experience,#outcomes,#practice,#projects,#systems,#toolbox,.bottom-nav,.hero-pa,.projects-section,.section-intro,.site-extra,.site-footer,.site-hero,.site-nav,.status-strip{display:none!important}.resume-print-header,.resume-print-only,.resume-screen-hidden{display:block!important}.bg-primary,.page-grid,body{background:#ffffff!important}.page-grid{background-image:none!important}.resume-document,.resume-document *{color:#000000!important;font-family:Roboto,Arial,Helvetica,system-ui,sans-serif!important;font-kerning:none;font-variant-ligatures:none;text-rendering:optimizeSpeed}.resume-document.paper-container{box-shadow:none!important;border:none!important;background:#ffffff!important;padding:0!important}.paper-container:before{display:none!important}.resume-rule{border-color:#999999!important}.resume-section svg{color:#000000!important}.strength-pill,.tag{background:transparent!important;border:none!important;padding:0 .5rem 0 0!important;text-align:left!important}.resume-document a{text-decoration:none!important}.skills-tag-grid{display:flex;flex-wrap:wrap;gap:.15rem .9rem;justify-content:flex-start}.skills-tag-grid .tag{font-size:.8rem}.resume-print-only .text-center{text-align:left!important}.resume-print-only .space-y-5>*,.skills-tag-grid+*{margin-top:.35rem!important}.resume-section{margin-bottom:.9rem!important}.resume-entry{margin-bottom:.75rem!important;-moz-column-break-inside:auto!important;break-inside:auto!important}.resume-entry li{-moz-column-break-inside:avoid;break-inside:avoid}h2,h3{-moz-column-break-after:avoid;break-after:avoid}}.marker\:text-accent-teal ::marker{color:rgb(13 148 136)}.marker\:text-accent-teal::marker{color:rgb(13 148 136)}.hover\:text-accent-teal:hover{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}@media (min-width:640px){.sm\:inline{display:inline}.sm\:max-w-md{max-width:28rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[150px_1fr\]{grid-template-columns:150px 1fr}.sm\:gap-6{gap:1.5rem}.sm\:p-10{padding:2.5rem}}@media (min-width:768px){.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:pb-0{padding-bottom:0}.md\:pt-10{padding-top:2.5rem}.md\:text-left{text-align:left}}@media (min-width:1024px){.lg\:w-full{width:100%}.lg\:grid-cols-\[220px_1fr\]{grid-template-columns:220px 1fr}.lg\:flex-col{flex-direction:column}.lg\:gap-1{gap:.25rem}}