@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.a82ecf4e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.afa48be3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.764b43eb.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.cb53f04b.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.64b9304e.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.6b5ea6af.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1dcddae6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.8da66e7f.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.e6cd1753.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.19510058.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.140490a3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.b36ae37c.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.bf5f8a12.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.10086973.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.2902b61f.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_751fc0c2-module__3RctcG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_751fc0c2-module__3RctcG__variable{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}
*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--font-body),sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}.theme-minimal .logo-mark{animation:none}.theme-minimal .kk-balloons{width:44px;height:44px;display:inline-block;position:relative}.theme-minimal .kk-balloons__k{transform-origin:50% 85%;will-change:transform;width:62%;height:100%;position:absolute;inset:0}.theme-minimal .kk-balloons__k img{object-fit:contain;width:100%;height:100%;display:block}.theme-minimal .kk-balloons__k1{animation:6.2s ease-in-out infinite kkFloatLeft;left:0}.theme-minimal .kk-balloons__k2{animation:7.1s ease-in-out -2.3s infinite kkFloatRight;left:38%}@keyframes kkFloatLeft{0%{transform:translateY(0)rotate(-.3deg)}25%{transform:translateY(-4px)rotate(.8deg)}50%{transform:translateY(-2px)rotate(-.6deg)}75%{transform:translateY(-5px)rotate(.6deg)}to{transform:translateY(0)rotate(-.3deg)}}@keyframes kkFloatRight{0%{transform:translateY(-1px)rotate(.4deg)}25%{transform:translateY(-5px)rotate(-.9deg)}50%{transform:translateY(-3px)rotate(.7deg)}75%{transform:translateY(-4px)rotate(-.6deg)}to{transform:translateY(-1px)rotate(.4deg)}}.layout-frame{min-height:calc(100vh - 74px);position:relative}.layout-content{z-index:1;max-width:1120px;margin:0 auto;padding:2rem 1rem 4rem;position:relative}.noise-layer{pointer-events:none;opacity:var(--noise-opacity);z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");position:fixed;inset:0}.site-header{z-index:20;background:var(--header-bg);border-bottom:var(--stroke-width)solid var(--stroke);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem;display:flex;position:sticky;top:0}.brand-link{font-family:var(--font-display),sans-serif;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);text-shadow:var(--shadow-depth)var(--shadow-depth)0 var(--stroke);transition:transform .17s var(--motion-bounce);font-size:clamp(1.15rem,3vw,1.8rem)}.brand-link:hover{transform:rotate(-2deg)scale(1.03)}.site-nav{align-items:center;gap:.85rem;display:flex}.site-nav a{font-family:var(--font-display),sans-serif;border:var(--stroke-width)solid var(--stroke);border-radius:var(--radius-pill);background:var(--surface);color:color-mix(in srgb,var(--text)80%,var(--stroke));box-shadow:3px 3px 0 var(--stroke);transition:transform .18s var(--motion-bounce),background .18s var(--motion-linear);padding:.35rem .7rem;font-size:.95rem}.site-nav a:hover{background:var(--accent);color:var(--stroke);transform:translate(-2px,-2px)}.hero-section{border:var(--stroke-width)solid var(--stroke);background:radial-gradient(circle at 10% 12%,color-mix(in srgb,var(--accent-2)32%,transparent),transparent 30%),radial-gradient(circle at 84% 10%,color-mix(in srgb,var(--accent)30%,transparent),transparent 38%),var(--surface);border-radius:var(--radius-bubble);box-shadow:var(--shadow-depth)var(--shadow-depth)0 var(--stroke);transform:rotate(var(--hero-tilt));margin-bottom:2rem;padding:clamp(1.2rem,3vw,2.3rem)}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--highlight);margin:0;font-size:.73rem;font-weight:700}.hero-section h1{font-family:var(--font-display),sans-serif;max-width:var(--hero-max);margin:.75rem 0;font-size:clamp(2.2rem,8vw,4.6rem);line-height:.92}.pop-accent{color:var(--accent)}.hero-section p{max-width:var(--hero-max);color:color-mix(in srgb,var(--text)74%,var(--stroke));margin:0;font-size:clamp(1rem,2vw,1.2rem)}.hero-jax{text-align:center;min-height:max(100vh,680px);box-shadow:none;isolation:isolate;background:#03f;border:none;border-radius:0;place-items:center;width:100vw;margin-bottom:2.2rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(4.2rem,7vw,6rem) 1rem clamp(5.2rem,8vw,7rem);display:grid;position:relative;overflow:visible;transform:none}.hero-blob{z-index:1;filter:blur(.2px);background:#ff5bc8;border:5px solid #000;border-radius:40% 60% 70% 30%/40% 50% 60%;width:min(86vw,980px);height:min(56vw,560px);animation:8s ease-in-out infinite alternate heroBlobPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-56%)rotate(5deg);box-shadow:14px 14px #000,22px 22px #00000042}.hero-text-wrap{z-index:2;padding:0 .5rem;position:relative}.hero-title{font-family:var(--font-display),"Permanent Marker",cursive;color:#fff;letter-spacing:.015em;-webkit-text-stroke:4px #000;text-shadow:4px 4px #000,-2px -2px #000,2px -2px #000,-2px 2px #000,10px 10px #0003;margin:0;font-size:clamp(3.5rem,12.5vw,10.2rem);line-height:1.1;animation:5s ease-in-out infinite heroTitleFloat;transform:rotate(-4deg)}.hero-line{display:block}.hero-scroll{z-index:2;font-family:var(--font-display),"Permanent Marker",cursive;letter-spacing:.1em;color:#fff;-webkit-text-stroke:2px #000;text-shadow:2px 2px #000;white-space:nowrap;font-size:clamp(.95rem,1.9vw,1.3rem);animation:1s ease-in-out infinite alternate heroScrollBounce;position:absolute;bottom:clamp(1.4rem,3vw,2.2rem);left:50%;transform:translate(-50%)}@keyframes heroTitleFloat{0%{transform:rotate(-4deg)translateY(0)}50%{transform:rotate(-4deg)translateY(-13px)}to{transform:rotate(-4deg)translateY(0)}}@keyframes heroBlobPulse{0%{border-radius:40% 60% 70% 30%/40% 50% 60%;transform:translate(-50%,-56%)rotate(5deg)scale(1)}to{border-radius:56% 44% 34% 66%/62% 36% 64% 38%;transform:translate(-50%,-56%)rotate(7deg)scale(1.03)}}@keyframes heroScrollBounce{0%{transform:translate(-50%)translateY(0)}to{transform:translate(-50%)translateY(9px)}}.section-block{margin-top:2.5rem}.section-title-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section-title-row h2,.contact-block h2,.bubblegum-game h2,.site-footer h2{font-family:var(--font-display),sans-serif;margin:0;line-height:.98}.section-title-row p{color:color-mix(in srgb,var(--text)74%,var(--stroke));margin:0}.project-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.ui-card,.project-card,.experience-row,.contact-block,.site-footer,.bubblegum-game,.project-figure{border:var(--stroke-width)solid var(--stroke);border-radius:var(--radius-bubble);background:var(--surface);box-shadow:var(--shadow-depth)var(--shadow-depth)0 var(--stroke)}.project-card{transform:rotate(var(--card-tilt));transition:transform .18s var(--motion-bounce),box-shadow .18s var(--motion-linear);overflow:hidden}.project-card:nth-child(2n){transform:rotate(var(--card-tilt-alt))}.project-card:hover{box-shadow:calc(var(--shadow-depth) + 3px)calc(var(--shadow-depth) + 5px)0 var(--stroke);transform:translate(-2px,-5px)rotate(.2deg)}.card-image-wrap{aspect-ratio:16/10;border-bottom:var(--stroke-width)solid var(--stroke);background:color-mix(in srgb,var(--surface-2)70%,var(--bg));overflow:hidden}.card-image{object-fit:cover;width:100%;height:100%;transition:transform .26s var(--motion-bounce)}.project-card:hover .card-image{transform:scale(1.04)rotate(-.4deg)}.card-copy{padding:1rem}.card-category{text-transform:uppercase;letter-spacing:.09em;color:var(--accent-2);margin:0;font-size:.72rem;font-weight:700}.card-copy h3{margin:.44rem 0}.card-copy p{color:color-mix(in srgb,var(--text)74%,var(--stroke));margin:0}.tag-row{flex-wrap:wrap;gap:.45rem;margin-top:.8rem;display:flex}.tag-row span{border:var(--stroke-width)solid var(--stroke);border-radius:var(--radius-pill);color:color-mix(in srgb,var(--text)78%,var(--stroke));background:color-mix(in srgb,var(--surface)80%,var(--accent-2)20%);padding:.2rem .58rem;font-size:.75rem}.experience-list{gap:.75rem;display:grid}.experience-row{padding:.9rem}.experience-row h3,.experience-row p,.experience-row span{margin:0}.experience-row p,.experience-row span,.contact-block p,.back-link,.project-description{color:color-mix(in srgb,var(--text)74%,var(--stroke))}.contact-block{padding:1.2rem}.contact-links,.footer-actions{flex-wrap:wrap;gap:.8rem;display:flex}.ui-button,.primary-btn,.chat-form button,.chat-toggle,.mute-toggle,.letter-btn{border:var(--stroke-width)solid var(--stroke);border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-display),sans-serif;background:var(--accent);color:var(--stroke);box-shadow:4px 4px 0 var(--stroke);transition:transform .13s var(--motion-bounce),box-shadow .13s var(--motion-linear),background .16s var(--motion-linear);padding:.52rem .84rem}.ui-button:hover,.primary-btn:hover,.chat-form button:hover,.chat-toggle:hover,.mute-toggle:hover,.letter-btn:hover:not(:disabled){box-shadow:6px 6px 0 var(--stroke);transform:translate(-2px,-2px)}.ui-button:active,.primary-btn:active,.chat-form button:active,.chat-toggle:active,.mute-toggle:active,.letter-btn:active:not(:disabled){box-shadow:0 0 0 var(--stroke);transform:translate(2px,2px)}.ui-button:focus-visible,.primary-btn:focus-visible,.chat-form button:focus-visible,.chat-toggle:focus-visible,.mute-toggle:focus-visible,.letter-btn:focus-visible,.chat-form input:focus-visible,.site-nav a:focus-visible,.brand-link:focus-visible,.back-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-button-ghost,.mute-toggle,.letter-btn{background:var(--surface-2);color:color-mix(in srgb,var(--text)90%,var(--stroke))}.bubblegum-game{padding:1rem}.game-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.game-subtext,.bubble-stage p{color:color-mix(in srgb,var(--text)70%,var(--stroke))}.game-subtext{margin:.3rem 0 1rem}.game-grid{grid-template-columns:minmax(180px,220px) 1fr;gap:1rem;display:grid}.bubble-stage{border:var(--stroke-width)dashed var(--stroke);border-radius:calc(var(--radius-bubble) - 6px);background:color-mix(in srgb,var(--surface)80%,var(--accent)20%);place-items:center;min-height:190px;padding:.8rem;display:grid}.bubble-stage p{margin:.6rem 0 0;font-size:.85rem}.bubblegum-core{background:radial-gradient(circle at 30% 22%,#ffffffd6,#fff0 28%),linear-gradient(150deg,color-mix(in srgb,var(--accent)65%,white),var(--accent));width:110px;height:110px;color:color-mix(in srgb,var(--stroke)75%,#8d1548);border:var(--stroke-width)solid var(--stroke);font-family:var(--font-display),sans-serif;text-transform:uppercase;transition:transform .22s var(--motion-bounce);border-radius:999px;place-items:center;display:grid;box-shadow:inset 0 -10px 16px #00000038,0 14px 28px #00000047}.bubblegum-pop{animation:.22s ease-out pop}.bubblegum-inflate{animation:.24s ease-out inflate}@keyframes pop{0%{transform:scale(1)}30%{transform:scale(.72)}to{transform:scale(1.02)}}@keyframes inflate{0%{transform:scale(1)}55%{transform:scale(1.18)}to{transform:scale(1.03)}}.masked-word{font-family:var(--font-display),sans-serif;letter-spacing:.18em;margin:0 0 .7rem;font-size:1.2rem}.letter-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;display:grid}.letter-btn{font-family:var(--font-body),sans-serif;border-radius:12px;font-weight:700}.letter-btn:disabled{opacity:.5;cursor:default}.game-result{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.9rem;display:flex}.game-result p{color:var(--highlight);margin:0;font-weight:700}.chat-widget{z-index:30;width:min(390px,100vw - 2rem);position:fixed;bottom:1rem;right:1rem}.chat-toggle{width:100%}.chat-panel{border:var(--stroke-width)solid var(--stroke);border-radius:var(--radius-bubble);background:color-mix(in srgb,var(--surface)85%,var(--bg));box-shadow:var(--shadow-depth)var(--shadow-depth)0 var(--stroke);margin-top:.5rem;overflow:hidden}.chat-header{border-bottom:var(--stroke-width)solid var(--stroke);background:color-mix(in srgb,var(--surface-2)80%,var(--accent)20%);padding:.65rem .75rem}.chat-title{font-family:var(--font-display),sans-serif;margin:0}.chat-disclaimer{color:color-mix(in srgb,var(--text)72%,var(--stroke));margin:.15rem 0 0;font-size:.77rem}.chat-log{gap:.5rem;max-height:240px;padding:.7rem;display:grid;overflow-y:auto}.chat-msg{border:var(--stroke-width)solid var(--stroke);border-radius:14px;padding:.55rem .65rem;font-size:.88rem;line-height:1.4}.chat-msg-user{background:color-mix(in srgb,var(--accent-2)34%,var(--surface));justify-self:end;max-width:86%}.chat-msg-assistant{background:color-mix(in srgb,var(--surface-2)80%,white 20%);max-width:88%}.chat-form{border-top:var(--stroke-width)solid var(--stroke);grid-template-columns:1fr auto;gap:.5rem;padding:.6rem;display:grid}.chat-form input{border:var(--stroke-width)solid var(--stroke);background:color-mix(in srgb,var(--surface)85%,white 15%);color:color-mix(in srgb,var(--text)90%,var(--stroke));border-radius:12px;padding:.5rem .6rem}.project-wrap{max-width:980px;margin:0 auto}.back-link{margin-bottom:1rem;display:inline-block}.project-wrap h1{font-family:var(--font-display),sans-serif;margin:.3rem 0 0;font-size:clamp(1.7rem,5vw,2.7rem)}.project-meta{color:var(--accent-2);margin:.3rem 0 .8rem}.project-description{max-width:70ch}.project-gallery{gap:.9rem;margin-top:1rem;display:grid}.project-figure{margin:0;overflow:hidden}.project-figure img{width:100%;height:auto}.site-footer{margin-top:2.4rem;padding:1.2rem;transform:rotate(.2deg)}.site-footer h2{margin:.3rem 0 1rem}.theme-jax .hero-section,.theme-jax .site-footer,.theme-jax .chat-panel{border-radius:8px}.theme-jax .site-nav a,.theme-jax .ui-button,.theme-jax .chat-toggle,.theme-jax .chat-form button,.theme-jax .primary-btn,.theme-jax .mute-toggle{text-transform:uppercase;letter-spacing:.04em}.theme-jax .project-card,.theme-jax .experience-row,.theme-jax .contact-block{background:color-mix(in srgb,var(--surface)83%,var(--accent)17%)}.theme-jax .project-card:nth-child(3n){transform:rotate(-2.8deg)}.theme-puff .layout-content{padding-top:2.2rem}.theme-puff .hero-section h1{text-shadow:3px 3px 0 var(--stroke),7px 7px 0 color-mix(in srgb,var(--stroke)70%,transparent)}.theme-puff .hero-section{margin-left:clamp(0rem,1.6vw,1.2rem)}.theme-puff .project-grid{row-gap:1.35rem}.theme-puff .project-card:nth-child(3n+1){margin-top:.3rem}.theme-puff .project-card:nth-child(3n+2){margin-top:.95rem}.theme-puff .project-card:nth-child(3n){margin-top:.5rem}.theme-puff .ui-button,.theme-puff .chat-toggle,.theme-puff .chat-form button,.theme-puff .primary-btn,.theme-puff .mute-toggle{border-radius:20px;padding-top:.58rem;padding-bottom:.58rem}.theme-puff .chat-panel,.theme-puff .project-card,.theme-puff .site-footer{background:color-mix(in srgb,var(--surface)93%,var(--accent-2)7%)}@media (max-width:860px){.game-grid{grid-template-columns:1fr}.letter-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:700px){.site-header{flex-wrap:wrap}.site-nav{flex-wrap:wrap;justify-content:start;width:100%}.hero-section{transform:none}.hero-jax{min-height:calc(100vh - 64px);padding-top:4.5rem}.hero-blob{width:min(95vw,700px);height:min(72vw,420px)}.hero-title{-webkit-text-stroke:3px #000}}@media (max-width:620px){.chat-widget{width:min(380px,100vw - 1.2rem);bottom:.6rem;right:.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}
.theme-minimal{--minimal-bg:#fff;--minimal-text:#111;--minimal-muted:#666;--minimal-line:#e7e7e7}body.theme-minimal{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.theme-minimal{background:var(--minimal-bg);color:var(--minimal-text)}.theme-minimal .minimal-shell{background:var(--minimal-bg);color:var(--minimal-text);min-height:100vh}.theme-minimal .minimal-column{width:min(840px,100% - 2rem);margin:0 auto;padding:2rem 0 5rem}.theme-minimal .minimal-nav{justify-content:flex-end;gap:1.25rem;margin-bottom:4rem;font-size:.83rem;display:flex}.theme-minimal .minimal-nav a{color:var(--minimal-muted);text-decoration:none}.theme-minimal .minimal-nav a:hover{color:var(--minimal-text)}.theme-minimal .intro-block{padding:1rem 0 5rem}.theme-minimal .logo-mark{width:44px;height:44px;margin-bottom:1.35rem;animation:5s ease-in-out infinite iconFloat}.theme-minimal .logo-mark img{width:100%;height:100%}.theme-minimal .intro-name{margin:0;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:500;line-height:1.2;animation:.6s ease-out both introFadeUp}.theme-minimal .intro-headline{margin:1rem 0 0;font-size:.98rem}.theme-minimal .intro-meta,.theme-minimal .intro-copy,.theme-minimal .intro-availability{color:var(--minimal-muted);max-width:70ch;margin:.8rem 0 0;font-size:.92rem;line-height:1.7}.theme-minimal .editorial-section{padding:4rem 0 0}.theme-minimal .projects-section{padding-top:9rem}.theme-minimal .section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--minimal-muted);margin:0 0 1.35rem;font-size:.78rem;font-weight:500}.theme-minimal .editorial-list{border-top:1px solid var(--minimal-line)}.theme-minimal .editorial-list-no-top{border-top:0}.theme-minimal .experience-row,.theme-minimal .project-row{border-bottom:1px solid var(--minimal-line)}.theme-minimal .project-row-no-divider{border-bottom:0}.theme-minimal .project-row-customer-profiles .project-media-wrap{margin-bottom:.9rem}.theme-minimal .experience-row{cursor:pointer;grid-template-columns:1fr auto;align-items:start;gap:1rem;padding:1rem 0;transition:background-color .24s,padding-left .24s;display:grid}.theme-minimal .experience-row:hover{background:#f7f7f7;padding-left:5px}.theme-minimal .experience-company,.theme-minimal .experience-role,.theme-minimal .experience-period{margin:0;font-size:.92rem}.theme-minimal .experience-role,.theme-minimal .experience-period{color:var(--minimal-muted)}.theme-minimal .experience-period{text-align:right;white-space:nowrap}.theme-minimal .project-header-line{text-align:left;grid-template-columns:80px 1fr minmax(150px,240px);align-items:start;gap:1rem;padding-top:.2rem;display:grid}.theme-minimal .project-row-year,.theme-minimal .project-row-category{color:var(--minimal-muted);font-size:.86rem}.theme-minimal .project-row{grid-template-columns:80px 1fr;align-items:start;gap:1rem;padding:1.15rem 0 1.35rem;display:grid}.theme-minimal .project-content{min-width:0}.theme-minimal .project-row-no-year{grid-template-columns:1fr;gap:0}.theme-minimal .project-row-year{margin-top:.05rem}.theme-minimal .project-row-title{color:var(--minimal-text);margin:0;font-size:1.02rem}.theme-minimal .project-row-category{text-align:left;margin:.4rem 0 0;font-size:.86rem}.theme-minimal .project-panel{padding:.9rem 0 0}.theme-minimal .project-description-minimal{color:var(--minimal-muted);max-width:70ch;margin:0 0 .9rem;font-size:.9rem;line-height:1.7}.theme-minimal .project-tags-minimal{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.theme-minimal .project-tags-minimal span{border:1px solid var(--minimal-line);color:var(--minimal-muted);border-radius:4px;padding:.1rem .38rem;font-size:.8rem;display:inline-block}.theme-minimal .project-gallery-minimal{gap:.8rem;display:grid}.theme-minimal .project-media-wrap{background:#fafafa;border:1px solid #eee;border-radius:10px;overflow:hidden}.theme-minimal .project-image{width:100%;height:auto;display:block}.theme-minimal .project-image-placeholder{min-height:180px;color:var(--minimal-muted);place-items:center;font-size:.85rem;display:grid}.theme-minimal .contact-section{padding-bottom:2rem}.theme-minimal .contact-links-minimal{gap:.65rem;display:grid}.theme-minimal .contact-links-minimal a{color:var(--minimal-text);font-size:.92rem;text-decoration:none}.theme-minimal .contact-links-minimal a:hover{text-decoration:underline}@keyframes introFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes iconFloat{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}@media (max-width:720px){.theme-minimal .minimal-nav{justify-content:flex-start;margin-bottom:3rem}.theme-minimal .editorial-section{padding-top:3.2rem}.theme-minimal .project-row{grid-template-columns:1fr;gap:.35rem;padding:1rem 0 1.2rem}.theme-minimal .project-row-year{margin:0}.theme-minimal .project-row-category{margin-top:.28rem;font-size:.82rem}.theme-minimal .experience-row{grid-template-columns:1fr;gap:.35rem}.theme-minimal .experience-period{text-align:left}}@media (prefers-reduced-motion:reduce){.theme-minimal .intro-name,.theme-minimal .logo-mark{animation:none}}
