@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_efc253b3-module__w1i8Da__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_efc253b3-module__w1i8Da__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
*,:before,:after,::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:#3b82f680;--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: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.container-page{width:100%;max-width:72rem;padding-left:var(--gutter);padding-right:var(--gutter);margin-left:auto;margin-right:auto}.\!panel,.panel{--tw-border-opacity:1;border-width:1px;border-color:rgb(var(--color-ink-600) / var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(var(--color-ink-900) / var(--tw-bg-opacity,1));--tw-shadow:var(--shadow-panel);--tw-shadow-colored:var(--shadow-panel);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-radius:.75rem}.panel-hover{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.panel-hover:hover{border-color:rgb(var(--color-accent-cyan) / .4);background-color:rgb(var(--color-brand-50) / .5)}.btn-primary{letter-spacing:.025em;border-width:1px;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary:focus-visible{outline-offset:2px;outline:2px solid #0000}.btn-primary{--tw-border-opacity:1;border-color:rgb(var(--color-accent-cyan) / var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(var(--color-accent-cyan) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 1px 2px #0f172a14,0 8px 20px -10px #2563eb8c;--tw-shadow-colored:0 1px 2px var(--tw-shadow-color), 0 8px 20px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.btn-primary:hover{--tw-border-opacity:1;border-color:rgb(var(--color-brand-600) / var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(var(--color-brand-600) / var(--tw-bg-opacity,1))}.btn-secondary{letter-spacing:.025em;border-width:1px;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-secondary:focus-visible{outline-offset:2px;outline:2px solid #0000}.btn-secondary{--tw-border-opacity:1;border-color:rgb(var(--color-ink-600) / var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(var(--color-ink-900) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(var(--color-mist-100) / var(--tw-text-opacity,1))}.btn-secondary:hover{border-color:rgb(var(--color-accent-cyan) / .5);--tw-bg-opacity:1;background-color:rgb(var(--color-brand-50) / var(--tw-bg-opacity,1))}.btn-ghost{letter-spacing:.025em;border-width:1px;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-ghost:focus-visible{outline-offset:2px;outline:2px solid #0000}.btn-ghost{--tw-text-opacity:1;color:rgb(var(--color-mist-300) / var(--tw-text-opacity,1));background-color:#0000;border-color:#0000}.btn-ghost:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-brand-50) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(var(--color-mist-50) / var(--tw-text-opacity,1))}.tag{--tw-border-opacity:1;border-width:1px;border-color:rgb(var(--color-ink-600) / var(--tw-border-opacity,1));background-color:rgb(var(--color-brand-50) / .6);--tw-text-opacity:1;color:rgb(var(--color-mist-200) / var(--tw-text-opacity,1));border-radius:.375rem;align-items:center;padding:.125rem .5rem;font-size:11px;font-weight:500;display:inline-flex}.section-title{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(var(--color-mist-50) / var(--tw-text-opacity,1));font-size:1.5rem;font-weight:600;line-height:2rem}@media (min-width:640px){.section-title{font-size:1.875rem;line-height:2.25rem}}.page-title{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(var(--color-mist-50) / var(--tw-text-opacity,1));font-size:1.875rem;font-weight:600;line-height:2.25rem}@media (min-width:640px){.page-title{font-size:2.25rem;line-height:2.5rem}}@media (min-width:768px){.page-title{font-size:3rem;line-height:1}}.eyebrow{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;text-transform:uppercase;letter-spacing:.18em;--tw-text-opacity:1;color:rgb(var(--color-accent-cyan) / var(--tw-text-opacity,1));align-items:center;gap:.5rem;font-size:11px;display:inline-flex}.projects-gallery{--pg-sky-top:#b9d9f2;--pg-sky-mid:#e8f2fa;--pg-cream:#f7efe0;--pg-parchment:#f3e6c8;--pg-parchment-deep:#e5d3a8;--pg-wood:#5b3a22;--pg-wood-mid:#8a5a32;--pg-wood-light:#c4a06a;--pg-wood-border:#6b4228;--pg-ink:#3a2616;--pg-muted:#6e543c;--pg-moss:#5f7d45;--pg-highlight:#f0c14a;background:radial-gradient(900px 420px at 12% -6%, #ffffff73, transparent 55%), linear-gradient(180deg, var(--pg-sky-top) 0%, var(--pg-sky-mid) 28%, var(--pg-cream) 62%, var(--pg-parchment) 100%);color:var(--pg-ink)}[data-mode=dark] .projects-gallery{--pg-sky-top:#171717;--pg-sky-mid:#1a1a1a;--pg-cream:#1f1f1f;--pg-parchment:#262626;--pg-parchment-deep:#2e2e2e;--pg-wood:#d6b48a;--pg-wood-mid:#c4a06a;--pg-wood-light:#e8d4b0;--pg-wood-border:#8a6a42;--pg-ink:#f5f5f5;--pg-muted:#a3a3a3;--pg-moss:#86a86a;--pg-highlight:#e0b040;background:radial-gradient(900px 420px at 12% -6%, #ffffff08, transparent 55%), linear-gradient(180deg, var(--pg-sky-top) 0%, var(--pg-sky-mid) 28%, var(--pg-cream) 62%, var(--pg-parchment) 100%)}.projects-gallery-title{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;letter-spacing:-.025em;font-size:2.25rem;font-weight:600;line-height:2.5rem}@media (min-width:640px){.projects-gallery-title{font-size:3rem;line-height:1}}@media (min-width:768px){.projects-gallery-title{font-size:3.75rem;line-height:1}}.projects-gallery-title{color:var(--pg-wood);text-shadow:2px 2px #ffffff59}.projects-tech-filters{text-align:left}.projects-filter-section-label{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;text-transform:uppercase;letter-spacing:.2em;color:var(--pg-wood-mid);font-size:10px}.projects-filter-chip{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--pg-ink);background:#fff8ece6;border-width:1px;border-color:#5b3a2259;justify-content:center;align-items:center;padding:.25rem .625rem;font-size:10px;transition-property:transform,background-color,border-color,color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex;box-shadow:0 1px #5b3a2247}[data-mode=dark] .projects-filter-chip{background:#262626f2;border-color:#a3a3a359;box-shadow:0 1px #00000059}.projects-filter-chip:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px #5b3a224d}[data-mode=dark] .projects-filter-chip:hover{background:#2e2e2e;box-shadow:0 2px #0006}.projects-filter-chip:active{transform:translateY(1px);box-shadow:0 0 #5b3a2233}.projects-filter-chip:focus-visible{outline:2px solid var(--pg-moss);outline-offset:2px}.projects-filter-chip-active{background:var(--pg-highlight);border-color:var(--pg-wood);color:var(--pg-wood);box-shadow:0 1px 0 var(--pg-wood-mid)}.projects-filter-chip-active:hover{background:var(--pg-highlight);border-color:var(--pg-wood);color:var(--pg-wood);box-shadow:0 2px 0 var(--pg-wood-mid);transform:translateY(-1px)}.projects-filter-chip-active:active{background:var(--pg-highlight);border-color:var(--pg-wood);color:var(--pg-wood);box-shadow:0 0 0 var(--pg-wood-mid);transform:translateY(1px)}.projects-filter-clear{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;text-transform:uppercase;letter-spacing:.16em;text-underline-offset:2px;color:var(--pg-wood-mid);font-size:10px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.projects-filter-clear:hover{color:var(--pg-wood);text-decoration:underline}.projects-filter-clear:focus-visible{outline:2px solid var(--pg-moss);outline-offset:2px}.projects-card{border:3px solid var(--pg-wood-border);background:var(--pg-parchment);box-shadow:0 3px 0 var(--pg-wood);transition:transform .14s ease-out,box-shadow .14s ease-out,border-color .14s ease-out}.projects-card:hover{border-color:var(--pg-wood);box-shadow:0 6px 0 var(--pg-wood);transform:translateY(-3px)}.projects-card:has(a:focus-visible){outline:2px solid var(--pg-moss);outline-offset:3px}.projects-card:active{box-shadow:0 2px 0 var(--pg-wood);transform:translateY(1px)}.projects-card-media{border-bottom:3px solid var(--pg-wood-border);background:var(--pg-parchment-deep)}.projects-card-title{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;letter-spacing:-.025em;font-size:1.125rem;font-weight:600;line-height:1.75rem}@media (min-width:640px){.projects-card-title{font-size:1.25rem;line-height:1.75rem}}.projects-card-title{color:var(--pg-wood)}.projects-card-summary{color:var(--pg-muted);font-size:.875rem;line-height:1.625}.projects-card-tag{overflow-wrap:break-word;max-width:100%;font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--pg-wood-mid);background:#fff8ecd9;border-width:1px;border-color:#5b3a2259;padding:.125rem .5rem;font-size:10px;display:inline-flex}[data-mode=dark] .projects-card-tag{background:#262626e6;border-color:#a3a3a359}.projects-card-action{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;text-transform:uppercase;letter-spacing:.16em;border-width:1px;border-color:var(--pg-wood-border);color:var(--pg-wood);box-shadow:0 2px 0 var(--pg-wood);background:#fff8ec;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:10px;transition-property:transform,background-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}[data-mode=dark] .projects-card-action{background:#2e2e2e}.projects-card-action:hover{box-shadow:0 3px 0 var(--pg-wood);background:#fff;transform:translateY(-1px)}[data-mode=dark] .projects-card-action:hover{background:#3a3a3a}.projects-card-action:active{box-shadow:0 1px 0 var(--pg-wood);transform:translateY(1px)}.projects-card-action:focus-visible{outline:2px solid var(--pg-moss);outline-offset:2px}.projects-empty{border:3px solid var(--pg-wood-border);background:var(--pg-parchment);box-shadow:0 3px 0 var(--pg-wood);color:var(--pg-muted)}.resume-viewer{--rv-sky-top:#b9d9f2;--rv-sky-mid:#e8f2fa;--rv-cream:#f7efe0;--rv-parchment:#f3e6c8;--rv-wood:#5b3a22;--rv-wood-mid:#8a5a32;--rv-wood-border:#6b4228;--rv-ink:#3a2616;--rv-muted:#6e543c;--rv-moss:#5f7d45;--rv-highlight:#f0c14a;background:radial-gradient(900px 420px at 12% -6%, #ffffff73, transparent 55%), linear-gradient(180deg, var(--rv-sky-top) 0%, var(--rv-sky-mid) 28%, var(--rv-cream) 62%, var(--rv-parchment) 100%);color:var(--rv-ink)}[data-mode=dark] .resume-viewer{--rv-sky-top:#171717;--rv-sky-mid:#1a1a1a;--rv-cream:#1f1f1f;--rv-parchment:#262626;--rv-wood:#d6b48a;--rv-wood-mid:#c4a06a;--rv-wood-border:#8a6a42;--rv-ink:#f5f5f5;--rv-muted:#a3a3a3;--rv-moss:#86a86a;--rv-highlight:#e0b040;background:radial-gradient(900px 420px at 12% -6%, #ffffff08, transparent 55%), linear-gradient(180deg, var(--rv-sky-top) 0%, var(--rv-sky-mid) 28%, var(--rv-cream) 62%, var(--rv-parchment) 100%)}.resume-viewer-page{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;padding:24px 20px;display:flex}.resume-viewer-shell{flex-direction:column;gap:20px;width:100%;max-width:1200px;display:flex}.resume-viewer-header{flex-direction:column;justify-content:space-between;align-items:stretch;gap:.75rem;padding:1rem;display:flex}@media (min-width:640px){.resume-viewer-header{flex-direction:row;align-items:center;gap:1rem;padding-left:1.25rem;padding-right:1.25rem}}.resume-viewer-header{border:3px solid var(--rv-wood-border);background:var(--rv-parchment);box-shadow:0 3px 0 var(--rv-wood)}.resume-viewer-title{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;letter-spacing:-.025em;font-size:1.875rem;font-weight:600;line-height:2.25rem}@media (min-width:640px){.resume-viewer-title{font-size:2.25rem;line-height:2.5rem}}@media (min-width:768px){.resume-viewer-title{font-size:3rem;line-height:1}}.resume-viewer-title{color:var(--rv-wood);text-shadow:2px 2px #ffffff59}.resume-download-btn{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;text-transform:uppercase;letter-spacing:.16em;border-width:1px;border-color:var(--rv-wood-border);background:var(--rv-highlight);color:var(--rv-wood);box-shadow:0 2px 0 var(--rv-wood);flex-shrink:0;justify-content:center;align-items:center;padding:.5rem .875rem;font-size:11px;transition-property:transform,background-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}.resume-download-btn:hover{box-shadow:0 3px 0 var(--rv-wood);background:#ffd666;transform:translateY(-1px)}.resume-download-btn:active{box-shadow:0 1px 0 var(--rv-wood);transform:translateY(1px)}.resume-download-btn:focus-visible{outline:2px solid var(--rv-moss);outline-offset:2px}.resume-viewer-frame{border:3px solid var(--rv-wood-border);width:100%;box-shadow:0 3px 0 var(--rv-wood);background:#fffdf7;min-height:800px;padding:20px;position:relative}[data-mode=dark] .resume-viewer-frame{background:#1f1f1f}.resume-pdf-embed{background:#fff;border:none;width:100%;height:800px;display:block}[data-mode=dark] .resume-pdf-embed{background:#171717}@media (max-width:768px){.resume-viewer-page{padding:20px 15px}.resume-pdf-embed{height:600px}}@media (max-width:480px){.resume-viewer-page{padding:16px 10px}.resume-viewer-frame{min-height:500px;padding:15px}.resume-pdf-embed{height:500px}}.resume-viewer-fallback{text-align:center;font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--rv-muted);font-size:11px}.resume-viewer-fallback a{color:var(--rv-wood);text-underline-offset:2px;text-decoration:underline}.resume-viewer-fallback a:hover{color:var(--rv-wood-mid)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-left-\[30px\]{left:-30px}.-right-3\.5{right:-.875rem}.-top-3\.5{top:-.875rem}.bottom-2{bottom:.5rem}.bottom-\[calc\(100\%-6px\)\]{bottom:calc(100% - 6px)}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-full{left:100%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-14{top:3.5rem}.top-2{top:.5rem}.top-\[52\%\]{top:52%}.z-0{z-index:0}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.m-2{margin:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.-mr-1{margin-right:-.25rem}.-mr-2{margin-right:-.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-40{margin-top:10rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-1\/3{height:33.3333%}.h-14{height:3.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[0\.75em\]{height:.75em}.h-\[22px\]{height:22px}.h-\[22rem\]{height:22rem}.h-\[33vh\]{height:33vh}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-\[72vh\]{max-height:72vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92vh\]{max-height:92vh}.min-h-0{min-height:0}.min-h-\[1\.25rem\]{min-height:1.25rem}.min-h-\[50vh\]{min-height:50vh}.min-h-\[55vh\]{min-height:55vh}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[0\.75em\]{width:.75em}.w-\[22px\]{width:22px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[45rem\]{max-width:45rem}.max-w-\[96\%\]{max-width:96%}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-right{transform-origin:100%}.-translate-x-1\/2{--tw-translate-x:-50%;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%;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-\[5px\]{--tw-translate-y:-5px;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-0{--tw-translate-y: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))}.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 blink{0%,45%{opacity:1}55%,to{opacity:0}}.animate-blink{animation:1.1s step-end infinite blink}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.scroll-mt-16{scroll-margin-top:4rem}.scroll-mt-20{scroll-margin-top:5rem}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,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}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-\[1\.75rem\]{border-top-left-radius:1.75rem;border-top-right-radius:1.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-\[var\(--pg-wood-border\)\]{border-color:var(--pg-wood-border)}.border-accent-cyan{--tw-border-opacity:1;border-color:rgb(var(--color-accent-cyan) / var(--tw-border-opacity,1))}.border-brand-100{--tw-border-opacity:1;border-color:rgb(var(--color-brand-100) / var(--tw-border-opacity,1))}.border-ink-600{--tw-border-opacity:1;border-color:rgb(var(--color-ink-600) / var(--tw-border-opacity,1))}.border-ink-600\/80{border-color:rgb(var(--color-ink-600) / .8)}.border-rose-500\/70{border-color:#f43f5eb3}.border-transparent{border-color:#0000}.bg-\[\#93C5FD\]{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.bg-accent-cyan{--tw-bg-opacity:1;background-color:rgb(var(--color-accent-cyan) / var(--tw-bg-opacity,1))}.bg-brand-50{--tw-bg-opacity:1;background-color:rgb(var(--color-brand-50) / var(--tw-bg-opacity,1))}.bg-ink-800\/70{background-color:rgb(var(--color-ink-800) / .7)}.bg-ink-850{--tw-bg-opacity:1;background-color:rgb(var(--color-ink-850) / var(--tw-bg-opacity,1))}.bg-ink-900{--tw-bg-opacity:1;background-color:rgb(var(--color-ink-900) / var(--tw-bg-opacity,1))}.bg-ink-900\/90{background-color:rgb(var(--color-ink-900) / .9)}.bg-ink-950{--tw-bg-opacity:1;background-color:rgb(var(--color-ink-950) / var(--tw-bg-opacity,1))}.bg-ink-950\/40{background-color:rgb(var(--color-ink-950) / .4)}.bg-mist-300{--tw-bg-opacity:1;background-color:rgb(var(--color-mist-300) / var(--tw-bg-opacity,1))}.bg-mist-400{--tw-bg-opacity:1;background-color:rgb(var(--color-mist-400) / var(--tw-bg-opacity,1))}.bg-mist-50\/40{background-color:rgb(var(--color-mist-50) / .4)}.bg-mist-50\/50{background-color:rgb(var(--color-mist-50) / .5)}.bg-transparent{background-color:#0000}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-mist-300\/35{--tw-gradient-to:rgb(var(--color-mist-300) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), rgb(var(--color-mist-300) / .35) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[var\(--gutter\)\]{padding-left:var(--gutter);padding-right:var(--gutter)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-8{padding-bottom:2rem}.pl-6{padding-left:1.5rem}.pr-2\.5{padding-right:.625rem}.pr-3\.5{padding-right:.875rem}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-display,.font-mono,.font-sans{font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[2\.125rem\]{font-size:2.125rem}.text-\[clamp\(2\.75rem\,12\.5vw\,14\.5rem\)\]{font-size:clamp(2.75rem,12.5vw,14.5rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.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}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.text-\[rgb\(0\,100\,250\)\]{--tw-text-opacity:1;color:rgb(0 100 250/var(--tw-text-opacity,1))}.text-\[var\(--pg-wood-mid\)\]{color:var(--pg-wood-mid)}.text-accent-cyan{--tw-text-opacity:1;color:rgb(var(--color-accent-cyan) / var(--tw-text-opacity,1))}.text-accent-green{--tw-text-opacity:1;color:rgb(var(--color-accent-green) / var(--tw-text-opacity,1))}.text-mist-100{--tw-text-opacity:1;color:rgb(var(--color-mist-100) / var(--tw-text-opacity,1))}.text-mist-200{--tw-text-opacity:1;color:rgb(var(--color-mist-200) / var(--tw-text-opacity,1))}.text-mist-300{--tw-text-opacity:1;color:rgb(var(--color-mist-300) / var(--tw-text-opacity,1))}.text-mist-400{--tw-text-opacity:1;color:rgb(var(--color-mist-400) / var(--tw-text-opacity,1))}.text-mist-50{--tw-text-opacity:1;color:rgb(var(--color-mist-50) / var(--tw-text-opacity,1))}.text-mist-500{--tw-text-opacity:1;color:rgb(var(--color-mist-500) / var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/90{color:#ffffffe6}.text-white\/\[0\.95\]{color:#fffffff2}.underline{text-decoration-line:underline}.decoration-accent-cyan\/70{-webkit-text-decoration-color:rgb(var(--color-accent-cyan) / .7);text-decoration-color:rgb(var(--color-accent-cyan) / .7)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.shadow-card{--tw-shadow:var(--shadow-card);--tw-shadow-colored:var(--shadow-card);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-panel{--tw-shadow:var(--shadow-panel);--tw-shadow-colored:var(--shadow-panel);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.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)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[opacity\,transform\,color\,border-color\,background-color\]{transition-property:opacity,transform,color,border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[top\]{transition-property:top;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[transform\,opacity\,color\]{transition-property:transform,opacity,color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-\[220ms\]{transition-duration:.22s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[mask-image\:linear-gradient\(to_bottom\,black_55\%\,transparent_100\%\)\]{-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--gutter:clamp(1rem, 3vw, 2rem);--page-side-inset:0px;--color-ink-950:255 255 255;--color-ink-900:255 255 255;--color-ink-850:241 240 236;--color-ink-800:235 234 230;--color-ink-700:226 224 219;--color-ink-600:216 214 208;--color-ink-500:201 198 191;--color-mist-50:11 18 32;--color-mist-100:23 32 51;--color-mist-200:41 52 73;--color-mist-300:82 96 119;--color-mist-400:107 122 145;--color-mist-500:148 163 184;--color-accent-cyan:37 99 235;--color-accent-blue:8 145 178;--color-accent-green:22 163 74;--color-accent-lavender:124 58 237;--color-brand-50:239 246 255;--color-brand-100:219 234 254;--color-brand-200:191 219 254;--color-brand-500:37 99 235;--color-brand-600:29 78 216;--color-brand-700:30 64 175;--shadow-panel:0 1px 2px 0 #0f172a0a, 0 8px 24px -12px #0f172a1a;--shadow-card:0 1px 2px 0 #0f172a0d, 0 12px 32px -16px #2563eb2e;--shadow-glow:0 0 0 1px #2563eb40, 0 10px 28px -14px #2563eb59}[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink-950:23 23 23;--color-ink-900:38 38 38;--color-ink-850:32 32 32;--color-ink-800:38 38 38;--color-ink-700:46 46 46;--color-ink-600:64 64 64;--color-ink-500:82 82 82;--color-mist-50:245 245 245;--color-mist-100:229 229 229;--color-mist-200:212 212 212;--color-mist-300:163 163 163;--color-mist-400:115 115 115;--color-mist-500:82 82 82;--color-accent-cyan:59 130 246;--color-accent-blue:34 211 238;--color-accent-green:74 222 128;--color-accent-lavender:167 139 250;--color-brand-50:38 38 38;--color-brand-100:64 64 64;--color-brand-200:82 82 82;--color-brand-500:59 130 246;--color-brand-600:96 165 250;--color-brand-700:147 197 253;--shadow-panel:0 1px 2px 0 #0006, 0 8px 24px -12px #00000080;--shadow-card:0 1px 2px 0 #00000073, 0 12px 32px -16px #0006;--shadow-glow:0 0 0 1px #3b82f659, 0 10px 28px -14px #3b82f666}html,body,#root{min-height:100%}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{--tw-bg-opacity:1;background-color:rgb(var(--color-ink-950) / var(--tw-bg-opacity,1));font-family:var(--font-dm-sans), ui-sans-serif, system-ui, sans-serif;--tw-text-opacity:1;color:rgb(var(--color-mist-100) / var(--tw-text-opacity,1))}#root{z-index:1;position:relative}:where(a,button,[role=button],input,textarea,select):focus-visible{outline:2px solid rgb(var(--color-accent-cyan) / 1);outline-offset:2px;border-radius:4px}::selection{color:rgb(var(--color-mist-50));background:#2563eb2e}[data-mode=dark] ::selection{background:#3b82f647}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgb(var(--color-mist-300) / .28);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:rgb(var(--color-mist-300) / .44)}::-webkit-scrollbar-track{background:0 0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.projects-card:hover,.projects-card:active,.projects-filter-chip:hover,.projects-filter-chip:active,.projects-card-action:hover,.projects-card-action:active,.resume-download-btn:hover,.resume-download-btn:active{transform:none}}.placeholder\:text-mist-500::placeholder{--tw-text-opacity:1;color:rgb(var(--color-mist-500) / var(--tw-text-opacity,1))}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-accent-cyan\/50:hover{border-color:rgb(var(--color-accent-cyan) / .5)}.hover\:border-ink-500:hover{--tw-border-opacity:1;border-color:rgb(var(--color-ink-500) / var(--tw-border-opacity,1))}.hover\:bg-brand-50:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-brand-50) / var(--tw-bg-opacity,1))}.hover\:text-accent-cyan:hover{--tw-text-opacity:1;color:rgb(var(--color-accent-cyan) / var(--tw-text-opacity,1))}.hover\:text-mist-100:hover{--tw-text-opacity:1;color:rgb(var(--color-mist-100) / var(--tw-text-opacity,1))}.hover\:text-mist-200:hover{--tw-text-opacity:1;color:rgb(var(--color-mist-200) / var(--tw-text-opacity,1))}.hover\:text-mist-300:hover{--tw-text-opacity:1;color:rgb(var(--color-mist-300) / var(--tw-text-opacity,1))}.hover\:text-mist-50:hover{--tw-text-opacity:1;color:rgb(var(--color-mist-50) / var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:opacity-70:hover{opacity:.7}.hover\:shadow-panel:hover{--tw-shadow:var(--shadow-panel);--tw-shadow-colored:var(--shadow-panel);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus\:not-sr-only:focus{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:left-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-md:focus{border-radius:.375rem}.focus\:border-accent-cyan:focus{--tw-border-opacity:1;border-color:rgb(var(--color-accent-cyan) / var(--tw-border-opacity,1))}.focus\:border-rose-500:focus{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.focus\:bg-accent-cyan:focus{--tw-bg-opacity:1;background-color:rgb(var(--color-accent-cyan) / var(--tw-bg-opacity,1))}.focus\:px-3:focus{padding-left:.75rem;padding-right:.75rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--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,0 0 #0000)}.focus\:ring-brand-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-brand-100) / var(--tw-ring-opacity,1))}.focus-visible\:text-mist-200:focus-visible{--tw-text-opacity:1;color:rgb(var(--color-mist-200) / var(--tw-text-opacity,1))}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:decoration-ink-500{-webkit-text-decoration-color:rgb(var(--color-ink-500) / 1);text-decoration-color:rgb(var(--color-ink-500) / 1)}.group:hover .group-hover\:underline-offset-4{text-underline-offset:4px}.group:hover .group-hover\:opacity-100{opacity:1}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:640px){.sm\:-right-3{right:-.75rem}.sm\:-top-4{top:-1rem}.sm\:top-16{top:4rem}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mt-10{margin-top:2.5rem}.sm\:mt-14{margin-top:3.5rem}.sm\:mt-44{margin-top:11rem}.sm\:mt-6{margin-top:1.5rem}.sm\:mt-9{margin-top:2.25rem}.sm\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:h-9{height:2.25rem}.sm\:h-\[120px\]{height:120px}.sm\:h-\[26rem\]{height:26rem}.sm\:w-9{width:2.25rem}.sm\:max-w-md{max-width:28rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:items-stretch{align-items:stretch}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-10{gap:2.5rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.sm\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.sm\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.sm\:rounded-2xl{border-radius:1rem}.sm\:rounded-t-\[2rem\]{border-top-left-radius:2rem;border-top-right-radius:2rem}.sm\:p-5{padding:1.25rem}.sm\:p-7{padding:1.75rem}.sm\:p-8{padding:2rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:pt-1{padding-top:.25rem}.sm\:pt-14{padding-top:3.5rem}.sm\:pt-6{padding-top:1.5rem}.sm\:text-right{text-align:right}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-\[15px\]{font-size:15px}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:tracking-\[0\.22em\]{letter-spacing:.22em}}@media (min-width:768px){.md\:mx-0{margin-left:0;margin-right:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-52{height:13rem}.md\:w-52{width:13rem}.md\:grid-cols-\[220px_minmax\(0\,1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.md\:flex-row{flex-direction:row}.md\:items-stretch{align-items:stretch}.md\:p-8{padding:2rem}}@media (min-width:1024px){.lg\:left-3{left:.75rem}.lg\:top-3{top:.75rem}.lg\:top-\[150px\]{top:150px}.lg\:top-\[290px\]{top:290px}.lg\:mb-0{margin-bottom:0}.lg\:mt-52{margin-top:13rem}.lg\:mt-7{margin-top:1.75rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[520px\]{height:520px}.lg\:h-dvh{height:100dvh}.lg\:min-h-\[60vh\]{min-height:60vh}.lg\:min-h-dvh{min-height:100dvh}.lg\:w-\[45rem\]{width:45rem}.lg\:max-w-full{max-width:100%}.lg\:max-w-none{max-width:none}.lg\:translate-y-\[18\%\]{--tw-translate-y:18%;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))}.lg\:scroll-mt-20{scroll-margin-top:5rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.55fr\)_minmax\(16rem\,0\.7fr\)\]{grid-template-columns:minmax(0,1.55fr) minmax(16rem,.7fr)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:justify-center{justify-content:center}.lg\:gap-10{gap:2.5rem}.lg\:gap-x-11{-moz-column-gap:2.75rem;column-gap:2.75rem}.lg\:rounded-t-\[34px\]{border-top-left-radius:34px;border-top-right-radius:34px}.lg\:border-t-0{border-top-width:0}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-4{padding-left:1rem}.lg\:pl-9{padding-left:2.25rem}.lg\:pr-0{padding-right:0}.lg\:pr-0\.5{padding-right:.125rem}.lg\:pr-8{padding-right:2rem}.lg\:pt-1{padding-top:.25rem}.lg\:pt-4{padding-top:1rem}.lg\:pt-7{padding-top:1.75rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-\[length\:min\(220px\,13\.5vw\)\]{font-size:min(220px,13.5vw)}.lg\:\[mask-image\:linear-gradient\(to_bottom\,black_72\%\,transparent_100\%\)\]{-webkit-mask-image:linear-gradient(#000 72%,#0000 100%);mask-image:linear-gradient(#000 72%,#0000 100%)}}@media (min-width:1280px){.xl\:w-12{width:3rem}.xl\:pl-12{padding-left:3rem}.xl\:pr-1{padding-right:.25rem}}.dark\:border-ink-500:where([data-mode=dark],[data-mode=dark] *){--tw-border-opacity:1;border-color:rgb(var(--color-ink-500) / var(--tw-border-opacity,1))}.dark\:bg-\[\#1D4ED8\]:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.dark\:bg-black\/50:where([data-mode=dark],[data-mode=dark] *){background-color:#00000080}.dark\:bg-black\/60:where([data-mode=dark],[data-mode=dark] *){background-color:#0009}.dark\:fill-none:where([data-mode=dark],[data-mode=dark] *){fill:none}.dark\:text-mist-300:where([data-mode=dark],[data-mode=dark] *){--tw-text-opacity:1;color:rgb(var(--color-mist-300) / var(--tw-text-opacity,1))}.dark\:opacity-45:where([data-mode=dark],[data-mode=dark] *){opacity:.45}.dark\:hover\:border-ink-500:hover:where([data-mode=dark],[data-mode=dark] *){--tw-border-opacity:1;border-color:rgb(var(--color-ink-500) / var(--tw-border-opacity,1))}.dark\:hover\:bg-brand-50:hover:where([data-mode=dark],[data-mode=dark] *){--tw-bg-opacity:1;background-color:rgb(var(--color-brand-50) / var(--tw-bg-opacity,1))}.dark\:hover\:text-mist-200:hover:where([data-mode=dark],[data-mode=dark] *){--tw-text-opacity:1;color:rgb(var(--color-mist-200) / var(--tw-text-opacity,1))}.\[\&\:hover_svg\]\:opacity-70:hover svg{opacity:.7}.\[\&\:hover_svg\]\:opacity-75:hover svg{opacity:.75}.dark\:\[\&\:hover_svg\]\:opacity-90:hover svg:where([data-mode=dark],[data-mode=dark] *){opacity:.9}.dark\:\[\&_svg\]\:opacity-70 svg:where([data-mode=dark],[data-mode=dark] *){opacity:.7}
