@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../media/785695c5b05eabf2-s.3spzr2pk4d7--.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ac548f9ce6284f94-s.1i2s8u2nsha1s.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9728433aadc137d6-s.1j8zp90epkiwf.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../media/638f182e7ded7477-s.p.1yexyk_f9-p2r.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:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/cf9d54c4342bfde9-s.2luydo5uehvh-.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c26308a965d8ee8a-s.1q1056bo3qtcm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d03928121523449c-s.3lswex48iwfpe.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1ccf8ef962b3f693-s.p.0gwn7w9k-i020.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:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/664b8486c44baa2d-s.02rcwld1m-ji4.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c5ac7bd8b2d9fce6-s.17ncvpysp7y4m.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8457265da2739722-s.23gs_p123xcz8.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/dc0c65e819e3bb6c-s.p.1d4mg4yt567i3.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:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../media/087f4c42b279024d-s.1kvbj6zk-dn_f.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../media/891a32df73aa4402-s.3jgirgqxkqq7r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9186901afaa5c996-s.2t53t_nth6shn.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../media/374a88ea0960b3d4-s.p.2fz20jxmyia8o.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:Chakra Petch Fallback;src:local(Arial);ascent-override:96.77%;descent-override:30.05%;line-gap-override:0.0%;size-adjust:102.51%}.chakra_petch_11f6e254-module__u7ULNa__className{font-family:Chakra Petch,Chakra Petch Fallback;font-style:normal}.chakra_petch_11f6e254-module__u7ULNa__variable{--font-display:"Chakra Petch", "Chakra Petch Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fafafa;--fg:#111;--muted:#555;--accent:#0f766e;--border:#e2e2e2}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e0e10;--fg:#f0f0f0;--muted:#9a9a9a;--accent:#2dd4bf;--border:#2a2a2e}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-display), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:720px;margin:0 auto;padding:48px 24px}h1{margin:0 0 8px;font-size:32px}p{color:var(--muted);line-height:1.55}button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px}button:disabled{opacity:.5;cursor:not-allowed}input[type=text],input[type=url],textarea{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;padding:8px 10px}label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:12px 0 4px;font-size:12px;display:block}.card{border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:16px}.row{align-items:center;gap:12px;display:flex}html{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.shader-canvas{z-index:0;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);width:100vw;height:100vh;display:block;position:fixed;inset:0}.scroll-spacer{z-index:0;pointer-events:none;width:100%;position:relative}.hero-card{z-index:3;text-align:center;pointer-events:auto;color:#fff;mix-blend-mode:difference;-webkit-backdrop-filter:blur();background:0 0;border:1px solid #0000;border-radius:28px;flex-direction:column;align-items:center;gap:12px;max-width:92vw;padding:40px 56px;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,border-color .4s,box-shadow .4s;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 #0000}.hero-card:hover{mix-blend-mode:normal;-webkit-backdrop-filter:blur(24px)saturate(1.2);background:#ffffff0f;border-color:#ffffff24;box-shadow:0 20px 60px #00000040}.hero-card h1{letter-spacing:-.02em;color:#fff;margin:0;font-size:clamp(34px,6.5vw,72px)}.hero-card h1.job{font-size:clamp(18px,3.2vw,36px);font-weight:600}.hero-card h3{color:#fff;margin:0;font-size:clamp(18px,2.6vw,26px);font-weight:500}.hero-card .projects-heading{color:#fff;margin:0;font-size:clamp(16px,2vw,22px);font-weight:600}.hero-card .sub{opacity:.85;font-size:.85em;font-style:italic;font-weight:400}.hero-card a{color:#fff;text-underline-offset:4px;pointer-events:auto;text-decoration:underline}.hero-socials{pointer-events:auto;gap:24px;margin:10px 0 22px;display:flex}.hero-socials a{color:#fff;opacity:.82;text-decoration:none;transition:opacity .15s,transform .15s}.hero-socials a:hover{opacity:1;transform:translateY(-2px)}.hero-socials svg{width:28px;height:28px;display:block}.param-row.frozen label{color:#ffd24a;font-weight:600}.param-row.frozen label:before{content:"● "}.param-row.frozen .param-val{color:#ffd24a}.param-row.frozen .param-auto{background:#ffd24a59}.avatar{aspect-ratio:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff1f;border:3px solid #ffffffbf;border-radius:50%;place-items:center;width:clamp(120px,22vw,180px);display:grid;overflow:hidden;box-shadow:0 10px 50px #00000073,0 0 0 10px #ffffff12}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-fallback{color:#fff;letter-spacing:.02em;font-size:clamp(40px,9vw,72px);font-weight:600}.scroll-hint{z-index:3;text-align:center;color:#fff;mix-blend-mode:difference;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;font-size:13px;animation:1.8s ease-in-out infinite scroll-bob;position:fixed;bottom:26px;left:0;right:0}@keyframes scroll-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.param-panel{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#eee;background:#0a0a0e9e;border-radius:10px;width:244px;max-height:92vh;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;position:fixed;bottom:14px;right:14px;overflow:auto;box-shadow:0 8px 30px #0006}.param-head{letter-spacing:.08em;text-transform:uppercase;opacity:.9;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600;display:flex}.param-head-btns{gap:6px;display:flex}.param-panel button{color:#eee;cursor:pointer;background:#ffffff1f;border:none;border-radius:6px;padding:3px 7px;font-size:10px}.param-panel button:hover{background:#ffffff38}.param-row{grid-template-columns:62px 1fr 40px 18px;align-items:center;gap:6px;margin:5px 0;display:grid}.param-row label{text-transform:none;letter-spacing:0;color:#bbb;margin:0;padding:0;font-size:10px}.param-row input[type=range]{width:100%}.param-val{text-align:right;color:#fff;font-variant-numeric:tabular-nums}.param-auto{width:18px;height:18px;line-height:1;padding:0!important}.param-color{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.param-swatch{border:1px solid #ffffff4d;border-radius:5px;width:44px;height:20px}.param-show{z-index:10;color:#eee;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0e9e;border:none;border-radius:8px;padding:6px 10px;font-size:11px;position:fixed;bottom:14px;right:14px}.admin-container{max-width:1040px}.admin-app-tabs{border-bottom:1px solid var(--border);gap:24px;margin:24px 0;display:flex}.admin-app-tabs button{color:var(--muted);background:0 0;border-bottom:3px solid #0000;border-radius:0;padding:12px 4px;font-weight:600}.admin-app-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.admin-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-section-heading h2{margin:0}.admin-section-heading p{margin:6px 0 0}.admin-metric-toolbar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 16px;font-size:12px;display:flex}.admin-period{gap:4px;display:flex}.admin-period button{color:var(--muted);border:1px solid var(--border);background:0 0;padding:6px 10px}.admin-period button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.admin-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;display:grid}.admin-metric{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.admin-metric>span{color:var(--muted);font-size:13px}.admin-metric strong{font-variant-numeric:tabular-nums;font-size:32px;font-weight:600}.admin-metric small{color:var(--muted);font-size:11px;line-height:1.5}.admin-message-chart{width:100%;height:auto;margin-top:12px}.admin-chart-axis{color:var(--muted);justify-content:space-between;margin-bottom:20px;font-size:11px;display:flex}.admin-fine-print{color:var(--muted);font-size:12px;line-height:1.6}.admin-fine-print table{text-align:left;width:100%}.admin-communication{margin-top:20px}.admin-status{color:var(--accent);border:1px solid;border-radius:30px;padding:5px 10px;font-size:12px}.admin-status.is-paused,.admin-error{color:#dc3545}.admin-danger-button,.admin-pause-banner{color:#fff;background:#b91c1c}.admin-pause-banner{border-radius:6px;padding:8px 12px;font-size:13px}.admin-portfolio{margin-top:32px}.admin-container summary{cursor:pointer;padding:12px 0}.admin-container button:focus-visible,.admin-container summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
