@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";.room-scene{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:#111b25}.room-canvas{position:absolute!important;inset:0;width:100%!important;height:100%!important;cursor:default;touch-action:manipulation;opacity:0;transition:opacity .3s ease}.room-scene.is-render-ready .room-canvas{opacity:1}.room-scene--room.is-monitor-hovered .room-canvas{cursor:pointer}.room-scene--zooming .room-canvas,.room-scene--returning .room-canvas,.room-scene--boot .room-canvas,.room-scene--os .room-canvas{cursor:default}.room-hud{position:absolute;inset:0;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,3vw,44px);color:#f7ebd7;font-family:Trebuchet MS,Avenir Next,sans-serif;transition:opacity .22s ease,transform .22s ease}.room-scene:not(.room-scene--room) .room-hud{opacity:0;transform:translateY(8px);pointer-events:none}.room-hud__intro{max-width:420px}.room-hud__eyebrow,.room-hud__subhint{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase}.room-hud__eyebrow{color:#c9bba4;font-size:10px}.room-hud h1{margin:10px 0 0;font-size:clamp(28px,3vw,42px);font-weight:600;line-height:1.05;letter-spacing:-.045em;text-shadow:0 3px 24px #0618218a}.room-hud__action{align-self:flex-end;display:flex;align-items:flex-end;flex-direction:column;gap:12px;pointer-events:auto}.room-hud__button{display:flex;justify-content:space-between;align-items:center;gap:36px;width:min(245px,100%);border:1px solid #d9c5a3;border-radius:4px;padding:16px 18px;background:#e8d6b6;color:#25282a;box-shadow:0 5px 24px #050c164d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:800;letter-spacing:.095em;cursor:pointer;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.room-hud__button:hover:not(:disabled){transform:translateY(-2px);background:#f7e7cb;box-shadow:0 8px 28px #050c1666}.room-hud__button:focus-visible{outline:3px solid #fff0c4;outline-offset:5px}.room-hud__button span:last-child{display:grid;place-items:center;width:22px;height:18px;flex:0 0 22px;font-family:sans-serif;font-size:21px;line-height:.6}.room-hud__button:disabled{cursor:progress}.room-hud__button[aria-busy=true] span:last-child:after{content:"";width:15px;height:15px;border:2px solid #25282a44;border-top-color:#25282a;border-radius:50%;animation:room-ready-spin .8s linear infinite}@keyframes room-ready-spin{to{transform:rotate(360deg)}}.room-hud__subhint{color:#b4c2c9;font-size:9px;letter-spacing:.08em}@media(max-width:700px){.room-hud{padding:max(24px,env(safe-area-inset-top)) 20px max(26px,env(safe-area-inset-bottom))}.room-hud__intro{max-width:270px}.room-hud h1{font-size:clamp(29px,7vw,36px);margin-top:40px}.room-hud__action{align-self:stretch;align-items:stretch}.room-hud__button{width:100%}.room-hud__subhint{text-align:center}}@media(prefers-reduced-motion:reduce){.room-hud__button[aria-busy=true] span:last-child:after{animation:none}.room-hud__button{transition:none}}.tech-logo{--tech-logo-color: #dce5ed;box-sizing:border-box;display:grid;place-items:center start;position:relative;width:38px;height:38px;min-width:0;color:#c9d3dd;cursor:default}.tech-logo:focus{outline:none}.tech-logo__picture{display:grid;place-items:center start;width:38px;height:38px;border-radius:4px;transition:background-color .12s ease}.tech-logo:hover .tech-logo__picture,.tech-logo:focus-visible .tech-logo__picture{background:#d3e8fb17}.tech-logo:focus-visible .tech-logo__picture{outline:2px solid #82c5f8;outline-offset:1px}.tech-logo__mark{display:block;width:30px;height:30px;background:var(--tech-logo-color);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.tech-logo--wide-mark,.tech-logo--wide-mark .tech-logo__picture,.tech-logo--wide-mark .tech-logo__mark{width:52px}.tech-logo--wide-mark .tech-logo__mark{height:52px}.tech-logo__initials{color:#dce5ed;font-size:12px;font-weight:700;letter-spacing:-.03em}.tech-logo__name{position:absolute;z-index:5;bottom:calc(100% + 7px);left:0;width:max-content;max-width:150px;padding:3px 6px;border:1px solid #48525c;border-radius:3px;background:#242b32;box-shadow:0 3px 10px #0006;color:#c9d3dd;font-size:10px;line-height:1.15;font-weight:500;text-align:left;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease}.tech-logo:hover .tech-logo__name,.tech-logo:focus-visible .tech-logo__name{opacity:1}@media(max-width:700px),(hover:none),(pointer:coarse){.tech-logo{grid-template-rows:38px 28px;width:100%;height:66px}.tech-logo__name{position:static;width:100%;max-width:none;padding:0;border:0;background:transparent;box-shadow:none;white-space:normal;overflow-wrap:anywhere;opacity:1}}@media(prefers-reduced-motion:reduce){.tech-logo__picture,.tech-logo__name{transition:none}}.motion-study{--study-peach:#e3b99b;--study-light:#e9edef;--study-dark:#151c23;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.motion-study text{font-family:SteamNoto,Noto Sans,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.045em;stroke:none;-webkit-user-select:none;user-select:none}.motion-study .study-solid{fill:currentColor;stroke:none}.motion-study .study-secondary{fill:var(--study-peach);stroke:none}.motion-study .study-line{fill:none;stroke:currentColor}.motion-study .study-light{fill:var(--study-light);stroke:none}.motion-study .study-muted{fill:none;stroke:currentColor;opacity:.18}.motion-study .study-ground{fill:none;stroke:currentColor;stroke-width:1;opacity:.2}.project-stage:not(.project-stage--fighter) .project-composition{transform:none}.duel-left{fill:#aaa9df}.duel-right{fill:#e8b596}.duel-ground{fill:none;stroke:#8798a4;stroke-width:1;opacity:.3}.duel-effects{pointer-events:none}.duel-effect{fill:currentColor;stroke:none}.duel-effect--left{color:#aaa9df}.duel-effect--right{color:#e8b596}.duel-effect--contact{color:#c9d2db}.duel-effect--ground{color:#8798a4}.projects-app[data-scroll-motion=true] .duel{transform-origin:280px 220px;animation:duel-scroll-camera 14.4s cubic-bezier(.25,.7,.2,1) both}@keyframes duel-scroll-camera{0%{transform:translateY(12px) scale(.88)}10%{transform:translate(3px) scale(1.03)}16%{transform:translate(-6px,-2px) scale(1.12)}21%{transform:translate(0) scale(1.04)}27%{transform:translate(6px,1px) scale(1.1)}38%{transform:translate(0) scale(1.01)}49%{transform:translate(-11px,-5px) scale(1.12)}55%{transform:translate(-3px) scale(1.04)}61%{transform:translate(6px) scale(1.1)}69%{transform:translate(-5px,-2px) scale(1.12)}82%{transform:translate(0) scale(1.02)}to{transform:translateY(-2px) scale(1.1)}}.project-visual{--scene-play:paused;position:relative;display:grid;flex:1;place-items:center;min-width:0;min-height:320px;contain:paint;overflow:hidden;isolation:isolate;color:var(--accent,#abc5ce)}.project-visual>svg{display:block;width:100%;height:100%;max-height:540px;overflow:visible;stroke-linecap:round;stroke-linejoin:round}.project-visual>svg *{vector-effect:non-scaling-stroke}.project-composition{transform-origin:280px 190px;transform:scale(1.12)}.projects-app[data-scroll-motion=true] .project-stage--fighter .project-composition{transform:scale(1.22)}.projects-app[data-motion-active=true] .projects-chapter[data-in-view=true] .project-visual{--scene-play:running}.projects-app[data-scroll-motion=true] .project-visual{--scene-play:paused!important}.project-visual *,.project-visual *:before,.project-visual *:after{animation-play-state:var(--scene-play,paused)!important}.projects-app[data-motion-enabled=false] .project-visual *,.projects-app[data-motion-enabled=false] .project-visual *:before,.projects-app[data-motion-enabled=false] .project-visual *:after{animation:none!important;transition:none!important}@media(max-width:950px){.project-visual{min-height:290px}}@media(max-width:600px){.project-visual{min-height:310px}}@media(max-width:350px){.project-visual{min-height:280px}}@media(prefers-reduced-motion:reduce){.project-visual *,.project-visual *:before,.project-visual *:after{animation:none!important;transition:none!important}}.projects-app{--projects-scroll-progress:0;display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;background:#151c23;color:#eff0f1;font:400 13px/1.5 SteamNoto,Noto Sans,system-ui,sans-serif}.projects-app:not(.resume-app){container:project-gallery / inline-size}.projects-app *,.projects-app *:before,.projects-app *:after{box-sizing:border-box}.projects-toolbar{display:flex;flex:0 0 44px;align-items:center;gap:9px;min-width:0;padding:0 12px;border-bottom:1px solid #343c44;background:#24272c}.projects-toolbar__home{display:grid;flex:0 0 30px;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:3px;background:transparent;color:#dce3e8}.projects-toolbar__home:hover{background:#374758}.projects-toolbar__home:focus-visible{outline:2px solid #68b8ea;outline-offset:-2px}.projects-toolbar__location{display:flex;flex:1;align-items:center;gap:8px;min-width:0;height:29px;padding:0 10px;overflow:hidden;border:1px solid #48525c;border-radius:3px;background:#1d252d;color:#bdc8d1;white-space:nowrap}.projects-toolbar__location strong{min-width:0;overflow:hidden;color:#f1f4f6;font-weight:400;text-overflow:ellipsis}.projects-toolbar__location span:nth-child(2){color:#81919f;font-size:17px;line-height:1}.projects-toolbar__count{flex:none;color:#a8b4be;font-size:11px;white-space:nowrap}.projects-scroll{flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#151c23;scrollbar-color:#55616b #151c23;scrollbar-width:thin}.projects-scroll:focus{outline:none}.projects-scroll:focus-visible{outline:2px solid #68b8ea;outline-offset:-2px}.projects-directory-heading{display:flex;align-items:baseline;gap:18px;max-width:1500px;margin:0 auto;padding:25px clamp(24px,3.5vw,56px) 19px;border-bottom:1px solid #3b454d}.projects-directory-heading h1{margin:0;color:#f0f2f4;font-size:28px;font-weight:700;letter-spacing:-.035em;line-height:1.15}.projects-directory-heading p{margin:0 0 0 auto;color:#899aa7;font-size:11px;line-height:1.35;text-align:right}.projects-chapters{max-width:1500px;margin:0 auto}.projects-chapter{--accent:#79bddd;position:relative;display:grid;grid-template-areas:"heading visual" "description visual" "bottom visual";grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);grid-template-rows:auto auto 1fr;column-gap:clamp(30px,4.5vw,74px);min-height:540px;padding:clamp(31px,3.7vw,56px) clamp(24px,3.5vw,56px);border-bottom:1px solid #3b454d}.projects-chapter:before{content:"";position:absolute;top:-1px;right:clamp(24px,3.5vw,56px);left:clamp(24px,3.5vw,56px);height:1px;background:var(--accent);opacity:.55;transform-origin:left;pointer-events:none}.projects-chapter:nth-child(8n+2){--accent:#a7aee1}.projects-chapter:nth-child(8n+3){--accent:#e5bc91}.projects-chapter:nth-child(8n+4){--accent:#dfa2b2}.projects-chapter:nth-child(8n+5){--accent:#b8d5a7}.projects-chapter:nth-child(8n+6){--accent:#88c9c4}.projects-chapter:nth-child(8n+7){--accent:#c7afe5}.projects-chapter:nth-child(8n+8){--accent:#d4d0a3}.projects-chapter__heading{grid-area:heading;display:flex;align-items:flex-start;gap:20px;min-width:0}.projects-chapter__heading>div{min-width:0}.projects-chapter__number{flex:0 0 34px;padding-top:6px;color:var(--accent);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.03em}.projects-chapter__eyebrow{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;min-height:20px;margin:0 0 5px;color:#aab6bf;font-size:11px;line-height:1.35}.projects-chapter__type{margin:0}.projects-chapter__eyebrow-divider{width:2px;height:2px;align-self:center;border-radius:50%;background:#7b8993}.projects-chapter__date{font-variant-numeric:tabular-nums;white-space:nowrap;color:#9aabb7}.projects-chapter__date time{color:inherit}.projects-chapter h2{margin:0;color:#f0f2f4;font-size:clamp(36px,5.3cqw,56px);font-weight:700;letter-spacing:-.055em;line-height:1.05;overflow-wrap:normal}.projects-chapter__line{margin:11px 0 0;color:var(--accent);font-size:clamp(17px,1.7vw,23px);font-weight:400;letter-spacing:-.02em;line-height:1.28}.projects-chapter__description{grid-area:description;max-width:50ch;margin:21px 0 0 54px;color:#c5cfd7;font-size:14px;line-height:1.65}.projects-chapter__visual{grid-area:visual;display:flex;flex-direction:column;align-self:stretch;min-width:0;min-height:0;margin:0;overflow:hidden}.projects-chapter__bottom{grid-area:bottom;align-self:end;min-width:0;margin:25px 0 0 54px}.projects-chapter__facts{min-width:0;margin:0;border-top:1px solid #39444d}.projects-chapter__fact{display:grid;grid-template-columns:83px minmax(0,1fr);gap:14px;min-width:0;padding:11px 0;border-bottom:1px solid #303b43}.projects-chapter__fact dt{color:#8999a5;font-size:11px}.projects-chapter__fact dd{min-width:0;margin:0;color:#d4dce1;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.projects-chapter__fact--used{align-items:center;padding-block:9px}.projects-tech-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin:0;padding:0;list-style:none}.projects-tech-list li{flex:0 0 auto;min-width:0}.projects-learned-list{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none}.projects-learned-list li{color:#d5dde3;white-space:normal}.projects-learned-list li:not(:last-child):after{content:" · ";padding:0 6px;color:#6d808d}.projects-chapter__links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:15px}.projects-chapter__links a{display:inline-flex;align-items:center;gap:5px;min-height:28px;color:#b6dff3;font-size:11px;text-decoration:none;text-underline-offset:3px}.projects-chapter__links a:hover{text-decoration:underline;color:#e4f7ff}.projects-chapter__links a:focus-visible{outline:2px solid #82c5f8;outline-offset:3px;border-radius:2px}.projects-chapter__links a span{font-size:14px;line-height:1}.projects-empty{padding:40px clamp(24px,3.5vw,56px);color:#9fb0bb}.projects-status{position:relative;display:flex;flex:0 0 27px;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:0 12px;border-top:1px solid #3e4851;background:#24272c;color:#b4bec6;font-size:10px;white-space:nowrap}.projects-status:before{content:"";position:absolute;top:-1px;right:0;left:0;height:2px;background:#78bdde;transform:scaleX(var(--projects-scroll-progress));transform-origin:left;pointer-events:none}.projects-status span{overflow:hidden;text-overflow:ellipsis}.projects-status span:last-child{text-align:right}.projects-chapter[data-revealed=true]:before{animation:projects-rule-in .9s cubic-bezier(.2,.8,.2,1) both}.projects-chapter[data-revealed=true] .projects-chapter__visual{animation:projects-art-arrive .8s cubic-bezier(.16,1,.3,1) both}.projects-chapter[data-revealed=true] .projects-chapter__number{animation:projects-index-in .7s cubic-bezier(.16,1,.3,1) both}@keyframes projects-rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes projects-art-arrive{0%{opacity:.8;transform:translate3d(0,9px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes projects-index-in{0%{opacity:.4;transform:translate3d(0,6px,0)}to{opacity:1;transform:translateZ(0)}}.projects-app:not(.resume-app) .projects-chapter:before,.projects-app:not(.resume-app) .projects-chapter__number{animation:none}.projects-app:not(.resume-app) .projects-chapter[data-revealed=true] .projects-chapter__visual{animation:none}.projects-app[data-motion-active=true]:not(.resume-app) .projects-chapter[data-in-view=true] .projects-chapter__visual{animation-play-state:running}.projects-app[data-motion-enabled=false]:not(.resume-app) .projects-chapter__visual{animation:none;transform:none;opacity:1}@keyframes projects-stage-arrive{0%{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:950px){.projects-chapter{grid-template-areas:"heading" "description" "visual" "bottom";grid-template-columns:minmax(0,1fr);min-height:0}.projects-chapter__description,.projects-chapter__bottom{margin-left:0}.projects-chapter__visual{margin-top:20px;min-height:300px}.projects-chapter__bottom{margin-top:18px}}@container project-gallery (max-width:850px){.projects-chapter{grid-template-areas:"heading" "description" "visual" "bottom";grid-template-columns:minmax(0,1fr);min-height:0}.projects-chapter__description,.projects-chapter__bottom{margin-left:0}.projects-chapter__visual{margin-top:20px;min-height:300px}.projects-chapter__bottom{margin-top:18px}}@media(max-width:700px),(hover:none),(pointer:coarse){.projects-tech-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.projects-chapter__fact--used dt{align-self:start;padding-top:10px}}@media(max-width:600px){.projects-toolbar{gap:6px;padding-inline:8px}.projects-toolbar__count{display:none}.projects-directory-heading{display:block;padding:22px 19px 16px}.projects-directory-heading h1{font-size:24px}.projects-directory-heading p{margin:8px 0 0;text-align:left}.projects-chapter{padding:27px 19px 32px}.projects-chapter__heading{gap:11px}.projects-chapter__number{flex-basis:25px;padding-top:5px}.projects-chapter h2{font-size:clamp(40px,10.5vw,59px)}.projects-chapter__line{margin-top:7px;font-size:18px}.projects-chapter__description{margin-top:15px;font-size:13px}.projects-chapter__visual{margin-top:12px;min-height:320px}.projects-chapter__fact{grid-template-columns:77px minmax(0,1fr);gap:9px}.projects-chapter__fact dt,.projects-chapter__fact dd{font-size:12px}.projects-tech-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:8px;max-width:none}}@media(max-width:350px){.projects-directory-heading,.projects-chapter{padding-right:16px;padding-left:16px}.projects-chapter__heading{gap:7px}.projects-chapter__number{flex-basis:21px;font-size:10px}.projects-chapter h2{font-size:37px}.projects-chapter__fact{grid-template-columns:70px minmax(0,1fr);gap:7px}.projects-chapter__visual{min-height:285px}}@media(prefers-reduced-motion:reduce){.projects-chapter[data-revealed=true]:before{animation:none;transform:scaleX(1)}.projects-app *,.projects-app *:before,.projects-app *:after{animation:none!important;transition:none!important}.projects-chapter__visual{transform:none!important;opacity:1!important}}.portfolio-os--no-motion .projects-chapter__visual,.portfolio-os--no-motion .projects-chapter__number{animation:none!important;transform:none!important;opacity:1!important}.projects-app:not(.resume-app) .projects-directory-heading{align-items:flex-end;gap:24px;padding-block:35px 29px}.projects-app:not(.resume-app) .projects-directory-heading h1{font-size:clamp(58px,9cqw,126px);font-weight:700;letter-spacing:-.07em;line-height:.94}.projects-app:not(.resume-app) .projects-directory-heading p{max-width:28ch;font-size:12px;line-height:1.5}.projects-app:not(.resume-app) .projects-chapter{--chapter-progress:0;--chapter-enter:1;--chapter-exit:0;--chapter-focus:1;grid-template-areas:"heading heading" "description visual" "bottom visual";grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);grid-template-rows:auto auto 1fr;column-gap:clamp(24px,3.5cqw,54px);row-gap:0;min-height:690px;padding-block:clamp(35px,5cqw,70px);overflow:visible}.projects-app:not(.resume-app) .projects-chapter__heading{gap:clamp(16px,2.2cqw,32px);margin-bottom:clamp(29px,4cqw,54px)}.projects-app:not(.resume-app) .projects-chapter__heading>div{flex:1}.projects-app:not(.resume-app) .projects-chapter__number{flex-basis:32px;padding-top:1px;font-size:13px;line-height:1.5}.projects-app:not(.resume-app) .projects-chapter__eyebrow{gap:10px;margin-bottom:13px;font-size:12px;line-height:1.5}.projects-app:not(.resume-app) .projects-chapter h2{max-width:100%;font-size:clamp(72px,10.8cqw,154px);font-weight:700;letter-spacing:-.065em;line-height:.94;overflow-wrap:normal}.projects-title__accessible{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.projects-title__composition{display:block;min-width:0}.projects-title__word{display:inline-block;max-width:100%;padding:.05em .025em .15em 0;margin:0 -.025em -.15em 0;overflow:hidden;vertical-align:top;white-space:nowrap;font-size:calc(1em * var(--word-scale,1) * var(--word-fit,1))}.projects-title__letter{display:inline-block;transform-origin:50% 95%}.projects-app:not(.resume-app) .projects-chapter__line{max-width:42ch;margin-top:20px;font-size:clamp(23px,2.7cqw,37px);letter-spacing:-.035em;line-height:1.2}.projects-app:not(.resume-app) .projects-chapter__description{max-width:33ch;margin:0;color:#c5cfd7;font-size:clamp(16px,1.85cqw,22px);line-height:1.55;letter-spacing:-.015em}.projects-app:not(.resume-app) .projects-chapter__visual{align-self:start;min-height:380px;margin:0;overflow:hidden}.projects-app:not(.resume-app) .project-visual{min-height:380px}.projects-app:not(.resume-app) .project-visual>svg{max-height:none}.projects-app:not(.resume-app) .projects-chapter__bottom{align-self:end;margin:35px 0 0}.projects-app:not(.resume-app) .projects-chapter__fact{grid-template-columns:85px minmax(0,1fr);gap:13px;padding-block:15px}.projects-app:not(.resume-app) .projects-chapter__fact dt,.projects-app:not(.resume-app) .projects-chapter__fact dd{font-size:12px;line-height:1.55}.projects-app:not(.resume-app) .projects-chapter__links{gap:12px 22px;margin-top:20px}.projects-app:not(.resume-app) .projects-chapter__links a{min-height:34px;font-size:13px}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter{min-height:calc(var(--gallery-height,650px) * 2.35)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual{position:sticky;top:18px;height:calc(var(--gallery-height,650px) - 36px);max-height:880px;min-height:360px}.projects-app[data-scroll-motion=true]:not(.resume-app) .project-visual{height:100%;min-height:0}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter:before{transform:scaleX(clamp(.05,calc(var(--chapter-progress) * 1.4),1));opacity:calc(.25 + var(--chapter-focus) * .4)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-title__letter{--title-arrival:clamp(0,calc((var(--chapter-enter) - var(--word-order,0) * .038 - var(--letter-order,0) * .009) * 2.2),1);transform:translate3d(calc((1 - var(--title-arrival)) * .13em),calc((1 - var(--title-arrival)) * 1.08em),0) rotate(calc((1 - var(--title-arrival)) * 9deg));opacity:clamp(.05,calc(var(--title-arrival) * 1.6),1)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__number{transform:translate3d(0,calc((1 - var(--chapter-enter)) * 28px),0);opacity:clamp(.15,var(--chapter-enter),1)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__eyebrow{transform:translate3d(0,calc((1 - var(--chapter-enter)) * 18px),0);opacity:clamp(.15,calc(var(--chapter-enter) * 1.7),1)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__line{transform:translate3d(calc((1 - var(--chapter-enter)) * -24px),calc((1 - var(--chapter-enter)) * 24px),0);opacity:clamp(.1,calc(var(--chapter-enter) * 1.8),1)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__description{transform:translate3d(0,calc((1 - var(--chapter-enter)) * 45px),0);opacity:clamp(.12,calc(var(--chapter-enter) * 2),1)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual .project-stage{transform:translate3d(0,calc((1 - var(--chapter-enter)) * 55px),0) scale(calc(.91 + var(--chapter-enter) * .09));transform-origin:50% 55%}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__facts{border-top-color:color-mix(in srgb,var(--accent) 45%,#39444d)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__bottom{--detail-arrival:clamp(0,calc((var(--chapter-progress) - .24) * 2.6),1);transform:translate3d(0,calc((1 - var(--detail-arrival)) * 25px),0);opacity:calc(.45 + var(--detail-arrival) * .55)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-tech-list li:nth-child(2n){transform:translate3d(0,calc((1 - var(--detail-arrival)) * 9px),0)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-tech-list li:nth-child(3n){transform:translate3d(0,calc((1 - var(--detail-arrival)) * 16px),0)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__links a span{transform:translate3d(calc(var(--chapter-exit) * 3px),calc(var(--chapter-exit) * -3px),0)}@media(min-width:951px){@container project-gallery (min-width:851px){.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__bottom{position:sticky;top:clamp(24px,calc(var(--gallery-height,650px) * .26),210px);align-self:start}}}@container project-gallery (max-width:850px){.projects-app:not(.resume-app) .projects-chapter{grid-template-areas:"heading" "description" "visual" "bottom";grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;min-height:0}.projects-app:not(.resume-app) .projects-chapter h2{font-size:clamp(66px,11.4cqw,98px)}.projects-app:not(.resume-app) .projects-chapter__heading{margin-bottom:26px}.projects-app:not(.resume-app) .projects-chapter__description{max-width:56ch;font-size:clamp(16px,2.3cqw,20px)}.projects-app:not(.resume-app) .projects-chapter__visual{margin-top:16px;min-height:370px}.projects-app:not(.resume-app) .projects-chapter__bottom{margin-top:24px}.projects-app:not(.resume-app) .projects-chapter__fact{grid-template-columns:110px minmax(0,1fr)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter{grid-template-rows:auto auto minmax(calc(var(--gallery-height,650px) * 1.02),1fr) auto;min-height:calc(var(--gallery-height,650px) * 2.45)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual{top:12px;height:calc(var(--gallery-height,650px) * .74);max-height:640px;min-height:330px}}@media(max-width:950px){.projects-app:not(.resume-app) .projects-chapter{grid-template-areas:"heading" "description" "visual" "bottom";grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;min-height:0}.projects-app:not(.resume-app) .projects-chapter__description{max-width:56ch}.projects-app:not(.resume-app) .projects-chapter__visual{margin-top:16px;min-height:370px}.projects-app:not(.resume-app) .projects-chapter__bottom{margin-top:24px}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter{grid-template-rows:auto auto minmax(calc(var(--gallery-height,650px) * 1.02),1fr) auto;min-height:calc(var(--gallery-height,650px) * 2.45)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual{top:12px;height:calc(var(--gallery-height,650px) * .74);max-height:640px;min-height:330px}}@media(max-width:600px){.projects-app:not(.resume-app) .projects-directory-heading{padding:29px 19px 24px}.projects-app:not(.resume-app) .projects-directory-heading h1{font-size:clamp(62px,18vw,94px)}.projects-app:not(.resume-app) .projects-directory-heading p{max-width:none;margin-top:14px;font-size:11px}.projects-app:not(.resume-app) .projects-chapter{padding:32px 19px 35px}.projects-app:not(.resume-app) .projects-chapter__heading{gap:12px;margin-bottom:23px}.projects-app:not(.resume-app) .projects-chapter__number{flex-basis:21px;font-size:11px;padding-top:1px}.projects-app:not(.resume-app) .projects-chapter__eyebrow{gap:7px;margin-bottom:14px;font-size:10px}.projects-app:not(.resume-app) .projects-chapter h2{font-size:clamp(57px,15.8vw,88px);line-height:.97;letter-spacing:-.065em}.projects-app:not(.resume-app) .projects-title__word{font-size:calc(1em * var(--word-mobile-scale,1) * var(--word-fit,1))}.projects-app:not(.resume-app) .projects-chapter__line{margin-top:15px;font-size:23px;line-height:1.22}.projects-app:not(.resume-app) .projects-chapter__description{font-size:16px;line-height:1.55}.projects-app:not(.resume-app) .projects-chapter__visual{min-height:300px;margin-top:12px}.projects-app:not(.resume-app) .project-visual{min-height:300px}.projects-app:not(.resume-app) .projects-chapter__bottom{margin-top:17px}.projects-app:not(.resume-app) .projects-chapter__fact{grid-template-columns:77px minmax(0,1fr);gap:11px;padding-block:15px}.projects-app:not(.resume-app) .projects-chapter__fact dt,.projects-app:not(.resume-app) .projects-chapter__fact dd{font-size:12px}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter{grid-template-rows:auto auto minmax(calc(var(--gallery-height,650px) * .98),1fr) auto;min-height:calc(var(--gallery-height,650px) * 2.45)}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual{top:12px;height:clamp(300px,calc(var(--gallery-height,650px) * .63),510px);min-height:300px}}@media(max-width:350px){.projects-app:not(.resume-app) .projects-directory-heading,.projects-app:not(.resume-app) .projects-chapter{padding-inline:16px}.projects-app:not(.resume-app) .projects-chapter__heading{gap:8px}.projects-app:not(.resume-app) .projects-chapter__number{flex-basis:18px;font-size:10px}.projects-app:not(.resume-app) .projects-chapter h2{font-size:51px}.projects-app:not(.resume-app) .projects-chapter__line{font-size:21px}.projects-app:not(.resume-app) .projects-chapter__description{font-size:15px}.projects-app:not(.resume-app) .projects-chapter__fact{grid-template-columns:70px minmax(0,1fr);gap:8px}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual{height:clamp(280px,calc(var(--gallery-height,650px) * .6),440px);min-height:280px}}@media(prefers-reduced-motion:reduce){.projects-app:not(.resume-app) .projects-title__letter,.projects-app:not(.resume-app) .projects-chapter__line,.projects-app:not(.resume-app) .projects-chapter__eyebrow,.projects-app:not(.resume-app) .projects-chapter__description,.projects-app:not(.resume-app) .projects-chapter__bottom,.projects-app:not(.resume-app) .projects-tech-list li,.projects-app:not(.resume-app) .projects-chapter__visual .project-stage{transform:none!important;opacity:1!important}}.projects-app:not(.resume-app) .projects-chapter__fact dt,.projects-app:not(.resume-app) .projects-chapter__fact dd{font-size:14px}.projects-app:not(.resume-app) .projects-chapter__links a{font-size:15px}.projects-app:not(.resume-app) .tech-logo,.projects-app:not(.resume-app) .tech-logo__picture{width:44px;height:44px}.projects-app:not(.resume-app) .tech-logo__mark{width:36px;height:36px}.projects-app:not(.resume-app) .tech-logo--wide-mark,.projects-app:not(.resume-app) .tech-logo--wide-mark .tech-logo__picture,.projects-app:not(.resume-app) .tech-logo--wide-mark .tech-logo__mark{width:56px}.projects-app:not(.resume-app) .tech-logo__name{font-size:12px}@media(max-width:700px),(hover:none),(pointer:coarse){.projects-app:not(.resume-app) .tech-logo{width:100%;height:78px;grid-template-rows:44px 34px}}@media(max-width:600px){.projects-app:not(.resume-app) .projects-chapter__fact dt,.projects-app:not(.resume-app) .projects-chapter__fact dd{font-size:13px}}.projects-scene-caption{display:none}.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-scene-caption{position:absolute;z-index:2;top:10px;right:4px;left:4px;display:flex;align-items:baseline;gap:13px;pointer-events:none;opacity:clamp(0,calc(var(--chapter-enter) * 2),1);transform:translateY(calc((1 - var(--chapter-enter)) * 24px - var(--chapter-exit) * 12px))}.projects-scene-caption>span{flex:none;color:var(--accent);font-size:13px;font-variant-numeric:tabular-nums}.projects-scene-caption>strong{min-width:0;color:#eff0f1;font-size:clamp(25px,2.8cqw,38px);font-weight:600;letter-spacing:-.04em;line-height:1.06;overflow-wrap:anywhere}.projects-scene-caption:after{position:absolute;right:0;bottom:-12px;left:0;height:1px;content:"";background:var(--accent);opacity:.55;transform:scaleX(var(--chapter-progress));transform-origin:left}@container project-gallery (max-width:850px){.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual{--pinned-height:clamp(330px,calc(var(--gallery-height,650px) * .74),640px);top:calc((var(--gallery-height,650px) - var(--pinned-height)) / 2);height:var(--pinned-height)}}@media(max-width:950px){.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual{--pinned-height:clamp(330px,calc(var(--gallery-height,650px) * .74),640px);top:calc((var(--gallery-height,650px) - var(--pinned-height)) / 2);height:var(--pinned-height)}}@media(max-width:600px){.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual{--pinned-height:clamp(300px,calc(var(--gallery-height,650px) * .63),510px)}.projects-scene-caption>strong{font-size:28px}}@media(max-width:350px){.projects-app[data-scroll-motion=true]:not(.resume-app) .projects-chapter__visual{--pinned-height:clamp(280px,calc(var(--gallery-height,650px) * .6),440px)}.projects-scene-caption>strong{font-size:25px}}.resume-sections{max-width:1500px;margin:0 auto}.resume-section{--accent: #79bddd;position:relative;min-width:0;padding:clamp(31px,3.7vw,56px) clamp(24px,3.5vw,56px);border-bottom:1px solid #3b454d}.resume-section:before{content:"";position:absolute;top:-1px;right:clamp(24px,3.5vw,56px);left:clamp(24px,3.5vw,56px);height:1px;background:var(--accent);opacity:.55;transform:scaleX(0);transform-origin:left;pointer-events:none}.resume-section:nth-child(2){--accent: #9faddf}.resume-section:nth-child(3){--accent: #e6ba8d}.resume-section:nth-child(4){--accent: #e1a0ad}.resume-section:nth-child(5){--accent: #d7c897}.resume-section:nth-child(6){--accent: #8acdc3}.resume-section h2{margin:0;color:#f0f2f4;font-size:clamp(43px,5vw,70px);font-weight:700;letter-spacing:-.055em;line-height:1.05;overflow-wrap:anywhere}.resume-section h3{margin:0;color:#f0f2f4;font-size:clamp(21px,2.4vw,32px);font-weight:600;letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere}.resume-section p{overflow-wrap:anywhere}.resume-section__heading{grid-area:auto;margin-bottom:32px}.resume-section__heading .projects-chapter__number{position:relative}.resume-section__heading .projects-chapter__number:after{content:"";position:absolute;right:12px;bottom:-5px;left:0;height:1px;background:var(--accent);opacity:.65;transform:scaleX(0);transform-origin:left;pointer-events:none}.resume-section__title-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0;margin-bottom:32px}.resume-section__title-row .resume-section__heading{margin-bottom:0}.resume-profile{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);column-gap:clamp(30px,4.5vw,74px);padding-bottom:clamp(45px,5.5vw,80px)}.resume-profile .resume-section__heading{margin-bottom:0}.resume-profile__summary{max-width:47ch;margin:1px 0 27px;color:#c5cfd7;font-size:14px;line-height:1.65}.resume-profile__body{min-width:0}.resume-app a{color:inherit;text-decoration:underline;text-decoration-color:#718a9c;text-underline-offset:3px}.resume-app a:hover{color:#fff;text-decoration-color:#79bddd}.resume-app a:focus-visible{outline:2px solid #79bddd;outline-offset:3px;border-radius:1px}.resume-profile__facts{margin:0;border-top:1px solid #39444d}.resume-experience,.resume-work{margin:0 0 0 54px;padding:0;list-style:none}.resume-job{--resume-job-progress: 0;display:grid;grid-template-columns:minmax(145px,.36fr) minmax(0,1fr);gap:clamp(25px,3.5vw,56px);min-width:0}.resume-job__period{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:3px 0 0 21px;color:var(--accent);font-size:13px;font-variant-numeric:tabular-nums}.resume-job__period:before{content:"";position:absolute;top:14px;bottom:auto;left:4px;width:1px;height:var(--resume-rail-height, calc(100% + 12px) );background:#414f5a}.resume-job:last-child .resume-job__period:before{height:var(--resume-rail-height, calc(100% - 38px) );background:linear-gradient(#414f5a,transparent)}.resume-job__period:after{content:"";position:absolute;top:14px;bottom:auto;left:4px;width:1px;height:var(--resume-rail-height, calc(100% + 12px) );background:var(--accent);opacity:.75;transform:scaleY(var(--resume-job-progress));transform-origin:top;pointer-events:none}.resume-job:last-child .resume-job__period:after{height:var(--resume-rail-height, calc(100% - 38px) )}.resume-job__period small{color:#8999a5;font-size:11px}.resume-job__marker{position:absolute;top:7px;left:0;width:9px;height:9px;border:2px solid var(--accent);border-radius:50%;background:#151c23}.resume-job__marker:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);opacity:.85;transform:scale(0);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.resume-job__marker:after{content:"";position:absolute;inset:-6px;border:1px solid var(--accent);border-radius:50%;opacity:0;visibility:hidden}.resume-job[data-read-state=past] .resume-job__marker:before,.resume-job[data-read-state=active] .resume-job__marker:before{transform:scale(1)}.resume-job__body{position:relative;min-width:0;padding-bottom:32px}.resume-job:not(:last-child) .resume-job__body{margin-bottom:27px;border-bottom:1px solid #303b43}.resume-job:last-child .resume-job__body{padding-bottom:0}.resume-job__heading p{margin:8px 0 0;color:#c5cfd7;font-size:12px}.resume-job__heading p>span:last-child{color:#8999a5}.resume-contributions{display:grid;gap:10px;max-width:76ch;margin:21px 0 25px;padding:0;list-style:none;color:#c5cfd7;font-size:13px;line-height:1.65}.resume-contributions li{position:relative;padding-left:16px}.resume-contributions li:before{content:"—";position:absolute;left:0;color:#6d808d}.resume-earlier{margin:22px 0 0 54px;padding-top:18px;border-top:1px solid #303b43;color:#8999a5;font-size:12px;line-height:1.65}.resume-facts{min-width:0;margin:0;border-top:1px solid #39444d}.resume-tech-list{justify-content:flex-start;gap:12px 24px}.resume-tech-context{margin:8px 0 0;color:#8999a5;font-size:11px;line-height:1.5}.resume-job .projects-chapter__fact--used{align-items:start}.resume-job .projects-chapter__fact--used>dt{padding-top:10px}.resume-job__index{position:absolute;right:0;top:5px;color:#6d808d;font-size:11px;font-variant-numeric:tabular-nums}.resume-job__index:after{content:"";position:absolute;right:0;bottom:-5px;left:0;height:1px;background:var(--accent);opacity:.65;transform:scaleX(var(--resume-job-progress));transform-origin:left;pointer-events:none}.resume-job__heading{padding-right:29px}.resume-skills{margin-left:54px}.resume-skill{display:grid;grid-template-columns:minmax(145px,.36fr) minmax(0,1fr);gap:clamp(25px,3.5vw,56px);min-width:0;padding:21px 0;border-bottom:1px solid #303b43}.resume-skill:first-child{padding-top:0}.resume-skill h3{align-self:start;padding-top:10px;font-size:15px;letter-spacing:-.02em;font-weight:500;color:#aab6bf}.resume-skill>div{min-width:0}.resume-skill__details{margin-top:13px;color:#c5cfd7;font-size:12px}.resume-study .resume-skill h3{padding-top:0}.resume-study .resume-skill>p{margin:0;color:#c5cfd7;font-size:13px;line-height:1.65}.resume-projects-link{display:inline-flex;flex:none;align-items:center;gap:9px;min-height:32px;padding:5px 9px;border:1px solid #48525c;border-radius:3px;background:#24272c;color:#dce3e8;font:inherit;font-size:12px;cursor:pointer}.resume-projects-link:hover{background:#374758;border-color:#68b8ea}.resume-projects-link:focus-visible{outline:2px solid #68b8ea;outline-offset:2px}.resume-projects-link span{color:var(--accent);font-size:17px;line-height:1;transition:transform .18s cubic-bezier(.2,.8,.2,1)}.resume-app[data-motion-active=true] .resume-projects-link:is(:hover,:focus-visible) span{transform:translate3d(2px,-2px,0)}.resume-app .tech-logo__picture{transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .12s ease}.resume-app[data-motion-active=true] .tech-logo:is(:hover,:focus-visible) .tech-logo__picture{transform:translate3d(0,-3px,0) scale(1.04)}.resume-work__item{display:grid;grid-template-columns:minmax(145px,.36fr) minmax(0,1fr);gap:clamp(25px,3.5vw,56px);min-width:0;padding:25px 0;border-bottom:1px solid #303b43}.resume-work__item:first-child{padding-top:0}.resume-work__item:last-child{padding-bottom:0;border-bottom:0}.resume-work__heading{min-width:0}.resume-work__heading h3{font-size:28px}.resume-work__body{min-width:0}.resume-work__body>p{max-width:65ch;margin:0 0 17px;color:#c5cfd7;font-size:13px;line-height:1.65}.resume-education{margin-left:54px}.resume-education__entry{display:grid;grid-template-columns:minmax(145px,.36fr) minmax(0,1fr);gap:clamp(25px,3.5vw,56px);min-width:0;padding:22px 0;border-bottom:1px solid #303b43}.resume-education__entry:first-child{padding-top:0}.resume-education__entry>div{min-width:0}.resume-education__date{margin:4px 0 0;color:var(--accent);font-size:13px;font-variant-numeric:tabular-nums}.resume-education__entry>div>p{margin:9px 0 0;color:#aab6bf;font-size:12px}.resume-education__focus{margin-top:18px;color:#c5cfd7;font-size:12px}.resume-languages{margin-top:26px}.resume-language-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.resume-contact{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);column-gap:clamp(30px,4.5vw,74px);min-height:320px}.resume-contact .resume-section__heading{margin-bottom:0}.resume-contact__details{align-self:start;min-width:0;margin:0;border-top:1px solid #39444d}.resume-contact__details .projects-chapter__fact{padding-block:16px}.resume-contact__details dd{font-size:13px}.resume-app [data-resume-row]{position:relative}.resume-app [data-resume-row]:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:1px;background:var(--accent);opacity:.28;transform:scaleX(0);transform-origin:left;pointer-events:none}.resume-section[data-revealed=true]:before{animation:resume-rule-in .9s cubic-bezier(.2,.8,.2,1) both;animation-play-state:paused}.resume-section[data-revealed=true] .resume-section__heading .projects-chapter__number:after{animation:resume-rule-in .65s cubic-bezier(.2,.8,.2,1) .14s both;animation-play-state:paused}.resume-app [data-resume-row][data-revealed=true]:after{animation:resume-row-rule .85s cubic-bezier(.2,.8,.2,1) .1s both;animation-play-state:paused}.resume-app[data-motion-active=true] .resume-section[data-in-view=true]:before,.resume-app[data-motion-active=true] .resume-section[data-in-view=true] .resume-section__heading .projects-chapter__number:after,.resume-app[data-motion-active=true] [data-resume-row][data-in-view=true]:after{animation-play-state:running}.resume-job__marker:after{animation:resume-timeline-pulse 3.8s ease-out infinite;animation-play-state:paused}.resume-app[data-motion-active=true] .resume-job[data-read-state=active][data-visible=true] .resume-job__marker:after{animation-play-state:running;visibility:visible}@keyframes resume-rule-in{to{transform:scaleX(1)}}@keyframes resume-row-rule{0%{transform:scaleX(0);opacity:.15}60%{opacity:.6}to{transform:scaleX(1);opacity:.28}}@keyframes resume-timeline-pulse{0%{opacity:.45;transform:scale(.65)}65%,to{opacity:0;transform:scale(1.75)}}.resume-app[data-motion-active=false] .resume-job__marker:after{opacity:0}.resume-app[data-motion-active=false] .tech-logo__picture,.resume-app[data-motion-active=false] .resume-projects-link span{transform:none;transition:none}.portfolio-os--no-motion .resume-section:before,.portfolio-os--no-motion .resume-section__heading .projects-chapter__number:after,.portfolio-os--no-motion .resume-app [data-resume-row]:after,.resume-app[data-motion-enabled=false] .resume-section:before,.resume-app[data-motion-enabled=false] .resume-section__heading .projects-chapter__number:after,.resume-app[data-motion-enabled=false] [data-resume-row]:after{animation:none;transform:scaleX(1)}.portfolio-os--no-motion .resume-job__period:after,.resume-app[data-motion-enabled=false] .resume-job__period:after{transform:scaleY(1)!important}.portfolio-os--no-motion .resume-job__index:after,.resume-app[data-motion-enabled=false] .resume-job__index:after{transform:scaleX(1)}.portfolio-os--no-motion .resume-job__marker:after,.resume-app[data-motion-enabled=false] .resume-job__marker:after{animation:none;opacity:0;visibility:hidden!important}.portfolio-os--no-motion .resume-job__marker:before,.resume-app[data-motion-enabled=false] .resume-job__marker:before{transition:none}.portfolio-os--no-motion .resume-app .tech-logo__picture,.portfolio-os--no-motion .resume-app .resume-projects-link span{transform:none!important;transition:none}@media(max-width:950px){.resume-profile,.resume-contact{grid-template-columns:minmax(0,1fr);gap:28px;min-height:0}.resume-profile__body,.resume-contact__details{margin-left:54px}.resume-profile__summary{max-width:70ch}.resume-job,.resume-skill,.resume-work__item,.resume-education__entry{grid-template-columns:minmax(115px,.3fr) minmax(0,1fr);gap:26px}.resume-work__heading h3{font-size:clamp(22px,2.5vw,28px)}}@media(max-width:700px),(hover:none),(pointer:coarse){.resume-tech-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.resume-skill h3{padding-top:10px}}@media(max-width:600px){.resume-section{padding:27px 19px 32px}.resume-section h2{font-size:clamp(40px,10.5vw,59px)}.resume-section__heading{margin-bottom:25px}.resume-section__title-row{flex-wrap:wrap;gap:15px;margin-bottom:25px}.resume-projects-link{margin-left:36px}.resume-profile{gap:24px}.resume-profile__body,.resume-contact__details,.resume-experience,.resume-skills,.resume-work,.resume-education,.resume-earlier{margin-left:0}.resume-profile__summary{margin-top:0;font-size:13px}.resume-job,.resume-skill,.resume-work__item,.resume-education__entry{grid-template-columns:minmax(0,1fr);gap:15px}.resume-job__period{flex-direction:row;flex-wrap:wrap;align-items:center;gap:5px 12px;padding:0 0 0 20px;font-size:12px}.resume-job__period:before,.resume-job__period:after,.resume-job:last-child .resume-job__period:before,.resume-job:last-child .resume-job__period:after{inset:auto auto -7px 20px;width:54px;height:1px;transform:none;background:#414f5a}.resume-job__period:after,.resume-job:last-child .resume-job__period:after{background:var(--accent);transform:scaleX(var(--resume-job-progress));transform-origin:left}.resume-job__marker{top:5px}.resume-job__body{padding-bottom:27px}.resume-job:not(:last-child) .resume-job__body{margin-bottom:24px}.resume-job__heading h3{font-size:25px}.resume-job__heading p{margin-top:7px;font-size:12px}.resume-contributions{margin:17px 0 21px;font-size:13px}.resume-tech-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:8px}.resume-skill h3{padding-top:0;font-size:16px}.resume-skill{gap:11px;padding-block:22px}.resume-skill__details{margin-top:10px}.resume-work__item{gap:14px;padding-block:24px}.resume-work__heading h3{font-size:28px}.resume-work__body>p{margin-bottom:17px}.resume-education__date{margin-top:0;font-size:12px}.resume-education__entry h3{font-size:24px}.resume-education__entry{gap:10px}.resume-contact{gap:24px}.resume-contact__details .projects-chapter__fact{padding-block:13px}.resume-contact__details dd{font-size:12px}.portfolio-os--no-motion .resume-job__period:after,.resume-app[data-motion-enabled=false] .resume-job__period:after{transform:scaleX(1)!important}}@media(max-width:350px){.resume-section{padding-right:16px;padding-left:16px}.resume-section h2{font-size:37px}.resume-projects-link{margin-left:28px}}@media(prefers-reduced-motion:reduce){.resume-section:before,.resume-section__heading .projects-chapter__number:after,.resume-app [data-resume-row]:after{animation:none!important;transform:scaleX(1)}.resume-job__period:after{transform:scaleY(1)!important}.resume-job__index:after{transform:scaleX(1)}.resume-job__marker:after{animation:none!important;opacity:0;visibility:hidden!important}.resume-job__marker:before{transition:none}.resume-app .tech-logo__picture,.resume-app .resume-projects-link span{transform:none!important;transition:none}}@media(max-width:600px)and (prefers-reduced-motion:reduce){.resume-job__period:after{transform:scaleX(1)!important}}@font-face{font-family:SteamNoto;src:url(/steamos/fonts/NotoSans-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:SteamNoto;src:url(/steamos/fonts/NotoSans-Bold.ttf) format("truetype");font-weight:700;font-display:swap}.portfolio-os{--panel-height:52px;--vapor-window:#24272c;--vapor-view:#151c23;--vapor-alt:#1a212a;--vapor-text:#eff0f1;--vapor-muted:#aeb7bf;--vapor-blue:#569fcc;position:relative;width:100%;height:100%;min-height:100dvh;overflow:hidden;isolation:isolate;background:#151c23;color:var(--vapor-text);font:400 12px/1.35 SteamNoto,Noto Sans,sans-serif;-webkit-font-smoothing:antialiased}.portfolio-os *,.portfolio-os *:before,.portfolio-os *:after{box-sizing:border-box}.portfolio-os button,.portfolio-os input{font:inherit}.portfolio-os button{cursor:pointer;color:inherit}.portfolio-os button:focus-visible,.portfolio-os input:focus-visible,.portfolio-os [tabindex="-1"]:focus-visible{outline:2px solid #68b8ea;outline-offset:-2px}.portfolio-os button:disabled{opacity:.4;cursor:default}.portfolio-os--no-motion *{animation-duration:0ms!important;transition-duration:0ms!important}.plasma-wallpaper{position:absolute;inset:0;background:#111927 url(/steamos/wallpaper-next-dark-optimized.webp) center center/cover no-repeat}.plasma-desktop{position:absolute;inset:0 0 var(--panel-height)}.plasma-desktop-icons{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:18px 14px}.plasma-desktop-shortcut{display:flex;flex-direction:column;align-items:center;gap:6px;width:102px;min-height:96px;padding:7px 4px;border:1px solid transparent;border-radius:3px;background:transparent;text-align:center;color:#fff!important;text-shadow:0 1px 3px #000,0 1px 7px #000}.plasma-desktop-shortcut:hover,.plasma-desktop-shortcut:focus-visible{background:#569fcc52;border-color:#88cdf67a}.plasma-desktop-shortcut img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 2px 3px #10151a)}.plasma-desktop-shortcut span{font-size:11px;line-height:1.22;max-width:98px}.plasma-panel{position:absolute;bottom:6px;left:6px;right:6px;z-index:9000;height:46px;display:flex;align-items:center;gap:3px;padding:2px 5px;background:#24272cd1;border:1px solid rgba(187,200,211,.22);border-radius:9px;box-shadow:0 5px 20px #00000054;backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1)}.plasma-panel button{height:40px;min-width:42px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;position:relative}.plasma-panel button:hover,.plasma-panel button.is-open,.plasma-panel button.is-current{background:#93acbb33}.plasma-panel-launcher img{width:28px;height:28px;object-fit:contain}.plasma-panel-divider{display:none}.plasma-panel-apps{display:flex;align-items:center;gap:3px;min-width:0;flex:0 0 auto}.plasma-panel-app img{width:28px;height:28px;object-fit:contain}.plasma-panel-app.is-running:after{content:"";position:absolute;bottom:1px;left:9px;right:9px;height:2px;border-radius:2px;background:#97b8cf}.plasma-panel-app.is-current:after{background:#68b5df}.plasma-panel-spacer{flex:1;min-width:0}.plasma-panel .plasma-panel-status{display:flex;align-items:center;gap:0;width:auto;min-width:0;flex:0 0 auto;padding:0}.plasma-panel .plasma-tray-button{width:34px;min-width:34px;flex:0 0 34px;padding:0}.plasma-panel-status img{width:16px;height:16px;object-fit:contain;filter:brightness(0) invert(1);opacity:.83}.plasma-panel .plasma-panel-clock{display:flex;flex-direction:column;justify-content:center;gap:0;width:64px;min-width:64px;flex:0 0 64px;padding-inline:2px;font-size:10px;line-height:1.1;text-align:center;font-variant-numeric:tabular-nums}.plasma-panel-clock time{font-weight:700;white-space:nowrap;flex:none}.plasma-panel-clock span{opacity:.78;white-space:nowrap;flex:none}.plasma-panel .plasma-panel-show-desktop{width:42px;min-width:42px;margin-left:0;border:0;border-radius:4px}.plasma-panel-show-desktop img{width:28px;height:28px;object-fit:contain}.portfolio-os:has(.plasma-window.is-maximized:not(.is-minimized)) .plasma-panel{bottom:0;left:0;right:0;height:var(--panel-height);border-right:0;border-bottom:0;border-left:0;border-radius:0}.plasma-window{position:absolute;left:var(--window-x);top:var(--window-y);width:min(780px,calc(100% - 24px));height:min(548px,calc(100% - 94px));min-width:320px;min-height:260px;display:flex;flex-direction:column;overflow:hidden;background:var(--vapor-window);border:1px solid #4a5660;border-radius:5px;box-shadow:0 18px 45px #0000008a,0 0 0 1px #00000038}.plasma-window--konsole{width:min(700px,calc(100% - 24px));height:min(460px,calc(100% - 94px))}.plasma-window--settings,.plasma-window--discover{width:min(810px,calc(100% - 24px))}.plasma-window--cv,.plasma-window--projects{width:min(1050px,calc(100% - 24px));height:min(700px,calc(100% - 94px))}.plasma-window.is-minimized{display:none}.plasma-window.is-maximized{left:0!important;top:0!important;width:100%!important;height:calc(100% - var(--panel-height))!important;border-radius:0}.plasma-titlebar{height:33px;min-height:33px;display:flex;align-items:center;gap:7px;padding:0 4px 0 10px;background:#24272f;touch-action:none;-webkit-user-select:none;user-select:none}.plasma-titlebar>img{width:16px;height:16px;object-fit:contain}.plasma-window-title{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:12px;font-weight:400;color:#ecedef}.plasma-window:not(.is-active) .plasma-window-title{color:#abb4be}.plasma-window-controls{display:flex;gap:1px}.plasma-window-controls button{width:28px;height:27px;display:grid;place-items:center;border:0;border-radius:3px;background:transparent;color:#bbc6ce}.plasma-window-controls button:hover{background:#414b56;color:#fff}.plasma-window-controls button:last-child:hover{background:#bd4d5d}.dolphin-app{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;background:var(--vapor-view)}.dolphin-toolbar{display:flex;align-items:center;gap:6px;height:47px;min-height:47px;padding:5px 8px;background:var(--vapor-window);border-bottom:1px solid #313840}.dolphin-toolbar-group{display:flex;align-items:center;gap:1px;flex:none}.plasma-tool-button{width:29px;height:29px;display:grid;place-items:center;border:0;border-radius:3px;background:transparent;color:#e0e4e8}.plasma-tool-button:hover,.plasma-tool-button.is-selected{background:#374758}.dolphin-breadcrumb{flex:1;min-width:60px;height:29px;display:flex;align-items:center;gap:3px;overflow:hidden;padding:0 7px;border:1px solid #4a5158;border-radius:3px;background:#1d252d;color:#dde4e9;white-space:nowrap}.dolphin-breadcrumb button{border:0;background:transparent;padding:3px 5px;border-radius:2px}.dolphin-breadcrumb button:hover{background:#355171}.dolphin-breadcrumb svg{flex:none;color:#929da7}.dolphin-search{height:37px;min-height:37px;display:flex;align-items:center;gap:8px;padding:4px 10px;background:#242c34;border-bottom:1px solid #48525d}.dolphin-search input{flex:1;min-width:0;height:26px;padding:0 8px;color:#fff;background:#151c23;border:1px solid #5d6b76;border-radius:3px}.dolphin-search button{border:0;background:transparent}.dolphin-control-menu{position:absolute;right:7px;top:42px;z-index:10;display:flex;flex-direction:column;min-width:175px;padding:4px;background:#2a313a;border:1px solid #59636d;box-shadow:0 9px 20px #0008}.dolphin-control-menu button{height:29px;display:flex;align-items:center;gap:6px;text-align:left;padding:0 8px;border:0;background:transparent}.dolphin-menu-check{display:grid;place-items:center;width:15px;height:15px;flex:0 0 15px}.dolphin-control-menu button:hover{background:#366a91}.dolphin-body{display:flex;flex:1;min-height:0}.dolphin-places{width:174px;flex:0 0 174px;overflow-y:auto;padding:7px 5px;background:#24272c;border-right:1px solid #353d44}.dolphin-places-heading{height:26px;display:flex;align-items:center;padding:0 9px;color:#a9b3bc;font-size:11px}.dolphin-places-heading--devices{margin-top:9px}.dolphin-places button{width:100%;height:29px;display:flex;align-items:center;gap:9px;padding:0 10px;text-align:left;border:0;border-radius:3px;background:transparent;white-space:nowrap}.dolphin-places button:hover{background:#354657}.dolphin-places button.is-current{background:#365d7c;color:#fff}.dolphin-places img{width:17px;height:17px;object-fit:contain}.dolphin-content{flex:1;min-width:0;display:flex;overflow:hidden;background:var(--vapor-view)}.dolphin-content-pane{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.dolphin-content-pane--split{border-left:1px solid #4c5862}.dolphin-pane-path{height:29px;min-height:29px;display:flex;align-items:center;gap:2px;padding:0 9px;border-bottom:1px solid #3b4853;background:#1d252d;color:#dce3e8;white-space:nowrap;overflow:hidden}.dolphin-pane-path button{padding:3px 5px;border:0;border-radius:2px;background:transparent}.dolphin-pane-path button:hover{background:#355171}.dolphin-pane-path svg{flex:none;color:#929da7}.dolphin-pane-path span{overflow:hidden;text-overflow:ellipsis}.dolphin-files{flex:1;min-height:0;overflow-y:auto;padding:13px;align-content:start}.dolphin-files--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}.dolphin-file{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 3px;border:1px solid transparent;border-radius:3px;background:transparent;text-align:center}.dolphin-file:hover,.dolphin-file:focus-visible{background:#294761;border-color:#4c7698}.dolphin-files--grid .dolphin-file{min-height:86px;flex-direction:column;justify-content:flex-start}.dolphin-file img{width:48px;height:48px;object-fit:contain}.dolphin-file span{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:11px;line-height:1.25}.dolphin-file small{color:#9eafbc;font-size:10px}.dolphin-files--list{display:flex;flex-direction:column;gap:1px}.dolphin-files--list .dolphin-file{height:35px;text-align:left;padding:3px 7px}.dolphin-files--list .dolphin-file img{width:22px;height:22px}.dolphin-empty{grid-column:1/-1;margin:20px;color:#aab6bf}.dolphin-status{height:27px;min-height:27px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:0 11px;border-top:1px solid #3e4851;background:#24272c;color:#aeb9c1;font-size:10px;white-space:nowrap;overflow:hidden}.dolphin-status span{overflow:hidden;text-overflow:ellipsis}.konsole-app{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;background:#151b21}.konsole-menubar{height:27px;min-height:27px;display:flex;align-items:center;gap:17px;padding:0 12px;background:#24272c;color:#dce2e7}.konsole-menubar{gap:2px;padding:0 5px}.konsole-menubar button{height:24px;padding:0 7px;border:0;border-radius:2px;background:transparent}.konsole-menubar button:hover,.konsole-menubar button.is-current{background:#3a627f}.konsole-menu-popup{position:absolute;top:25px;z-index:3;min-width:152px;display:flex;flex-direction:column;padding:4px;border:1px solid #586574;background:#28313a;box-shadow:0 8px 19px #0009}.konsole-menu-popup button{height:29px;padding:0 9px;border:0;background:transparent;text-align:left;white-space:nowrap}.konsole-menu-popup button:hover{background:#3a627f}.konsole-tab{height:31px;min-height:31px;display:flex;align-items:center;gap:8px;width:210px;padding:0 10px;background:#151b21;border-right:1px solid #4a535d;border-bottom:2px solid #569fcc}.konsole-tab img{width:15px;height:15px}.konsole-tab span{flex:1}.konsole-tab button{border:0;background:transparent}.konsole-screen{flex:1;min-height:0;overflow:auto;padding:9px 11px;background:#151b21;color:#eff0f1;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;cursor:text}.konsole-command{color:#9dc6e3}.konsole-screen form{display:flex;align-items:center;gap:7px}.konsole-screen label{color:#8fbedc;white-space:nowrap}.konsole-screen input{width:100%;min-width:0;flex:1;border:0;outline:0;background:transparent;color:#eff0f1;font:inherit;caret-color:#eff0f1}.settings-app,.discover-app{display:flex;flex:1;min-height:0;background:#151c23}.settings-sidebar,.discover-sidebar{width:206px;flex:0 0 206px;padding:14px 8px;background:#24272c;border-right:1px solid #3c4750;overflow:auto}.settings-sidebar-search{height:31px;display:flex;align-items:center;gap:8px;margin:0 5px 13px;padding:0 8px;border:1px solid #56616a;border-radius:3px;color:#a6b1ba}.settings-sidebar-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#eff0f1;font-size:11px}.settings-sidebar-search input::placeholder{color:#a6b1ba}.settings-sidebar button,.discover-sidebar button{width:100%;min-height:34px;display:flex;align-items:center;gap:9px;padding:5px 9px;text-align:left;border:0;border-radius:3px;background:transparent}.settings-sidebar button:hover,.discover-sidebar button:hover{background:#34485b}.settings-sidebar button.is-current,.discover-sidebar button.is-current{background:#365d7c}.settings-content,.discover-content{flex:1;min-width:0;overflow:auto;padding:22px 26px}.settings-content h3,.discover-content h3{margin:0 0 19px;font-size:21px;font-weight:400}.settings-groups{display:grid;gap:20px}.settings-groups section{max-width:600px;padding:14px 16px;border:1px solid #47505a;border-radius:4px;background:#242b33}.settings-groups h4{margin:0 0 13px;font-size:14px;font-weight:700}.settings-groups p{margin:0;color:#ccd5db}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:13px;min-height:37px}.settings-row input[type=range],.status-popup-row input[type=range]{accent-color:#569fcc;max-width:170px}.plasma-switch{width:42px;height:22px;flex:0 0 42px;display:flex;align-items:center;padding:2px;border:1px solid #6a7781;border-radius:12px;background:#515a63}.plasma-switch span{width:16px;height:16px;border-radius:50%;background:#ebf0f3;box-shadow:0 1px 3px #0006;transition:transform .15s}.plasma-switch.is-on{background:#3d8fba;border-color:#67b3dc}.plasma-switch.is-on span{transform:translate(19px)}.settings-theme{display:flex;align-items:center;gap:13px}.settings-theme-preview{width:86px;height:56px;flex:none;background:#151c23 url(/steamos/wallpaper-next-dark-optimized.webp) center/cover;border:2px solid #6faed4;border-radius:3px}.settings-theme>div:nth-child(2){display:flex;flex:1;flex-direction:column;gap:3px}.settings-theme span{color:#acb9c3;font-size:11px}.settings-about{text-align:center;max-width:460px;margin:22px auto}.settings-about>img{width:60px;height:60px}.settings-about h4{font-size:27px;margin:12px 0 4px}.settings-about p{color:#b4c0c9}.settings-about dl{margin-top:30px;text-align:left;border-top:1px solid #4a535d}.settings-about dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #4a535d;padding:10px 2px}.settings-about dt{color:#aebac3}.settings-about dd{margin:0;text-align:right}.discover-sidebar-title{padding:6px 9px 17px;font-size:18px;font-weight:700}.discover-content>p{color:#aebac3}.discover-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:11px;max-width:550px;margin-top:25px}.discover-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:128px;padding:15px 7px;border:1px solid #48535c;border-radius:4px;background:#252d36}.discover-card:hover{background:#30475d;border-color:#6398bc}.discover-card img{width:42px;height:42px}.discover-card strong{font-size:12px}.discover-card span{color:#83bce0}.plasma-kickoff{position:absolute;left:6px;bottom:calc(var(--panel-height) + 4px);width:min(510px,calc(100% - 12px));height:min(562px,calc(100% - 64px));display:flex;flex-direction:column;border:1px solid #586572;border-radius:4px;background:#252b33;box-shadow:0 12px 28px #000a;overflow:hidden}.kickoff-header{height:54px;min-height:54px;display:flex;align-items:center;gap:10px;padding:0 14px;background:#24272c}.kickoff-user-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#566574;color:#fff;font-size:18px}.kickoff-header>span{flex:1;font-size:14px}.kickoff-header button{width:25px;height:25px;display:grid;place-items:center;border:0;background:transparent}.kickoff-search{height:40px;min-height:40px;display:flex;align-items:center;gap:8px;margin:0 12px 9px;padding:0 8px;border:1px solid #65737d;border-radius:3px;background:#151c23;color:#b8c6cf}.kickoff-search:focus-within{border-color:#74b7de}.kickoff-search input{width:100%;height:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff}.kickoff-body{flex:1;min-height:0;display:flex;border-top:1px solid #3c4650}.kickoff-categories{width:40%;min-width:150px;padding:8px 4px;overflow-y:auto;border-right:1px solid #49535c}.kickoff-categories button{width:100%;height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;text-align:left;border:0;border-radius:2px;background:transparent;white-space:nowrap}.kickoff-categories button:hover,.kickoff-categories button.is-current{background:#3a627f}.kickoff-categories svg{opacity:.6}.kickoff-results{flex:1;min-width:0;overflow-y:auto;padding:12px;background:#202831}.kickoff-results h3{margin:0 0 11px;font-size:12px;font-weight:400;color:#cdd7de}.kickoff-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.kickoff-app-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:76px;padding:8px 4px;border:1px solid transparent;border-radius:3px;background:transparent;text-align:center}.kickoff-app-grid button:hover,.kickoff-search-result:hover{background:#365a77;border-color:#4b80a6}.kickoff-app-grid img{width:36px;height:36px;object-fit:contain}.kickoff-app-grid span{font-size:10px;line-height:1.2}.kickoff-search-result{width:100%;min-height:51px;display:flex;align-items:center;gap:9px;padding:6px;border:1px solid transparent;border-radius:3px;background:transparent;text-align:left}.kickoff-search-result img,.kickoff-search-result>svg{width:27px;height:27px;flex:none}.kickoff-search-result span{display:flex;flex-direction:column;gap:2px}.kickoff-search-result strong{font-size:12px;font-weight:400}.kickoff-search-result small{color:#acbac4;font-size:10px}.kickoff-no-results{margin:10px;color:#aeb9c3;font-size:11px}.kickoff-footer{height:38px;min-height:38px;display:flex;align-items:center;gap:1px;padding:2px 5px;border-top:1px solid #48535e;background:#24272c}.kickoff-footer>span{flex:1}.kickoff-footer button{height:30px;display:flex;align-items:center;gap:3px;padding:0 7px;border:0;border-radius:2px;background:transparent;font-size:10px;white-space:nowrap}.kickoff-footer button:hover,.kickoff-footer button.is-current{background:#365a77}.plasma-status-popup,.plasma-calendar-popup{position:absolute;right:6px;bottom:calc(var(--panel-height) + 4px);z-index:9001;width:min(340px,calc(100% - 12px));padding:15px;background:#252c34;border:1px solid #60717e;border-radius:4px;box-shadow:0 10px 25px #000a}.plasma-status-popup h3{margin:0 0 14px;font-size:14px;font-weight:400}.status-popup-row{display:flex;align-items:center;gap:12px;min-height:39px}.status-popup-row>span{flex:1}.status-popup-row input{width:150px}.status-popup-detail{margin:4px 0 12px 31px;color:#b4c0c9}.status-popup-mute{height:29px;margin:4px 0 2px 31px;padding:0 10px;border:1px solid #4d5d68;border-radius:3px;background:#344654}.status-popup-mute:hover{background:#42617a}.status-popup-settings{width:100%;height:34px;display:flex;align-items:center;gap:8px;margin-top:10px;padding:0 7px;border:1px solid #4d5d68;border-radius:3px;background:#344654;text-align:left}.status-popup-settings img{width:20px;height:20px}.plasma-calendar-popup strong{font-size:14px}.calendar-large-time{margin:13px 0;font-size:28px}.plasma-calendar-popup p{margin:0;padding:16px;border-top:1px solid #47515b;color:#b3c0c9}.plasma-sleep-screen{position:absolute;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;width:100%;border:0;background:#080b11;color:#e7e9ed}.plasma-sleep-screen img{width:60px;height:60px}@media(max-width:700px){.portfolio-os{--panel-height: calc(54px + env(safe-area-inset-bottom)) }.plasma-panel,.portfolio-os:has(.plasma-window.is-maximized:not(.is-minimized)) .plasma-panel{bottom:0;left:0;right:0;height:var(--panel-height);padding:2px 4px calc(2px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:0;overflow:hidden}.plasma-panel-apps{flex:1 1 auto;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none}.plasma-panel-apps::-webkit-scrollbar{display:none}.plasma-panel-spacer{display:none}.plasma-desktop{bottom:var(--panel-height)}.plasma-panel button{height:44px;min-width:42px;flex-shrink:0}.plasma-panel-app img{width:27px;height:27px}.plasma-window,.plasma-window.is-maximized{left:0!important;top:0!important;width:100%!important;height:calc(100dvh - var(--panel-height))!important;min-width:0;min-height:0;border:0;border-radius:0}.plasma-titlebar{height:40px;min-height:40px}.plasma-window-controls button{width:36px;height:34px}.plasma-kickoff{left:0;bottom:var(--panel-height);width:100%;height:min(570px,calc(100dvh - var(--panel-height) - 4px));border-radius:0}.dolphin-places{width:114px;flex-basis:114px}.dolphin-places button{padding:0 5px;gap:5px;font-size:10px}.dolphin-toolbar{padding:4px;gap:2px}.dolphin-toolbar-group--right{gap:0}.plasma-tool-button{width:25px;height:29px}.plasma-tool-button svg{width:16px;height:16px}.dolphin-files--grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));padding:8px;gap:3px}.dolphin-files--grid .dolphin-file{min-height:75px}.dolphin-file img{width:40px;height:40px}.dolphin-content-pane--split{display:none}.settings-sidebar,.discover-sidebar{width:139px;flex-basis:139px;padding:8px 4px}.settings-sidebar button{font-size:10px}.settings-content,.discover-content{padding:15px}.plasma-panel-clock{font-size:9px}.plasma-panel .plasma-panel-clock{width:64px;min-width:64px;flex-basis:64px;font-size:9px}.plasma-panel .plasma-tray-button{width:32px;min-width:32px;flex-basis:32px}.plasma-panel-status img{width:14px;height:14px}.plasma-panel-show-desktop{display:none!important}}@media(max-width:430px){.plasma-panel{gap:1px;padding-inline:3px}.plasma-panel button{width:40px;min-width:40px}.plasma-panel-launcher img,.plasma-panel-app img{width:25px;height:25px}.kickoff-categories{width:38%;min-width:128px}.kickoff-categories button{font-size:10px;padding:0 5px}.kickoff-results{padding:9px}.kickoff-footer button{padding:0 4px;font-size:9px}.plasma-panel .plasma-tray-button{width:30px;min-width:30px;flex-basis:30px}.plasma-panel .plasma-panel-clock{width:60px;min-width:60px;flex-basis:60px}.plasma-panel-clock span{font-size:8px}.settings-sidebar{width:112px;flex-basis:112px}.settings-sidebar button{gap:4px;padding:4px}.settings-sidebar button svg{flex:none;width:14px;height:14px}}@media(max-width:370px){.plasma-panel button{width:32px;min-width:32px}.plasma-panel-launcher img,.plasma-panel-app img{width:24px;height:24px}.plasma-panel .plasma-tray-button{width:28px;min-width:28px;flex-basis:28px}.plasma-panel .plasma-panel-clock{width:54px;min-width:54px;flex-basis:54px}}@media(max-height:520px)and (min-width:701px){.plasma-window{height:calc(100% - 58px);top:7px!important}.plasma-kickoff{height:calc(100% - 52px)}.dolphin-places button{height:26px}}.plasma-window{transform-origin:center center;transition:border-color .16s ease,box-shadow .18s ease}.plasma-window:not(.is-active){border-color:#3c4650;box-shadow:0 13px 31px #0000006b,0 0 0 1px #00000029}.plasma-window.is-active{border-color:#586672}.plasma-titlebar{transition:background-color .16s ease}.plasma-window:not(.is-active) .plasma-titlebar{background:#24272c}.plasma-window:not(.is-active) .plasma-window-title{color:#7f8c8d}.portfolio-os .plasma-window-title:focus-visible{outline:none}.plasma-window[data-window-phase=opening]{animation:plasma-window-open .2s cubic-bezier(.215,.61,.355,1) both}.plasma-window[data-window-phase=closing]{pointer-events:none;animation:plasma-window-close .2s cubic-bezier(.55,.055,.675,.19) both}@keyframes plasma-window-open{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes plasma-window-close{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.plasma-kickoff,.plasma-status-popup,.plasma-calendar-popup,.dolphin-control-menu,.konsole-menu-popup{animation:plasma-popup-fade .15s linear both}.plasma-kickoff{--kickoff-page-slide:255px}.plasma-kickoff .kickoff-body{overflow:hidden}.plasma-kickoff[data-searching=true] .kickoff-categories{display:none}.plasma-kickoff[data-page-transition=entering] .kickoff-results{animation:plasma-kickoff-page-in .2s cubic-bezier(.215,.61,.355,1) both}.plasma-sleep-screen{animation:plasma-screen-fade .2s ease-out both}@keyframes plasma-popup-fade{0%{opacity:0}to{opacity:1}}@keyframes plasma-kickoff-page-in{0%{transform:translate(var(--kickoff-page-slide))}to{transform:translate(0)}}@keyframes plasma-screen-fade{0%{opacity:0}to{opacity:1}}.portfolio-os button{transition:background-color .1s ease,border-color .1s ease,color .1s ease,box-shadow .1s ease}.portfolio-os button:disabled{transition:none}.plasma-panel button:active,.plasma-window-controls button:active,.plasma-tool-button:active{box-shadow:inset 0 1px 3px #00000070}.plasma-window-controls button:last-child:active{background:#9e3f50;color:#fff}.dolphin-file:active,.kickoff-search-result:active,.kickoff-app-grid button:active,.discover-card:active{background-color:#2e6287;border-color:#6193b5}.plasma-desktop-shortcut:active{background:#569fcc6e;border-color:#88cdf69e}.plasma-panel button:focus-visible,.plasma-window-controls button:focus-visible,.plasma-tool-button:focus-visible,.dolphin-places button:focus-visible,.kickoff-categories button:focus-visible,.kickoff-footer button:focus-visible,.konsole-menubar button:focus-visible{background-color:#365a77}.plasma-panel-app:after{transition:background-color .1s ease}.plasma-panel-status img{transition:opacity .1s ease}.plasma-panel-status img.is-disabled{opacity:.35}.kickoff-search,.dolphin-breadcrumb,.settings-sidebar-search{transition:border-color .1s ease,box-shadow .1s ease}.kickoff-search:focus-within,.settings-sidebar-search:focus-within{box-shadow:0 0 0 1px #68b8ea66}.konsole-screen input:focus-visible,.kickoff-search input:focus-visible,.settings-sidebar-search input:focus-visible{outline:0}.dolphin-breadcrumb:focus-within{border-color:#6da7ca}.dolphin-breadcrumb form{display:flex;align-items:center;flex:1;min-width:0;height:100%}.dolphin-breadcrumb input{flex:1;min-width:0;width:100%;height:25px;padding:0;border:0;outline:0;background:transparent;color:#eff0f1;font:inherit;caret-color:#eff0f1}.dolphin-breadcrumb input:focus-visible{outline:0}.dolphin-location-error{position:absolute;top:47px;right:8px;z-index:11;max-width:calc(100% - 16px);padding:5px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f3d0cb;background:#493137;border:1px solid #96545a;border-radius:3px;box-shadow:0 5px 13px #0006;pointer-events:none;animation:plasma-popup-fade .15s linear both}.plasma-notification{position:absolute;right:8px;bottom:calc(var(--panel-height) + 8px);z-index:9002;display:flex;align-items:center;gap:10px;width:min(320px,calc(100% - 16px));min-height:56px;padding:10px 12px;border:1px solid #61717e;border-radius:4px;background:#252c34;box-shadow:0 10px 25px #0009;color:#eff0f1;pointer-events:none;animation:plasma-notification-life 2.5s linear both}.plasma-notification img{width:24px;height:24px;flex:none;object-fit:contain}.plasma-notification span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes plasma-notification-life{0%{opacity:0}6%{opacity:1}92%{opacity:1}to{opacity:0}}.status-popup-row input[type=range]{width:150px;max-width:42%;min-width:65px;flex:0 1 150px}.status-popup-row output{width:38px;flex:0 0 38px;text-align:right;font-size:11px;font-variant-numeric:tabular-nums;color:#c4d0d8}.portfolio-os[data-status-open=true] .plasma-notification{bottom:calc(var(--panel-height) + 205px)}.settings-row input[type=range]+span{width:42px;flex:0 0 42px;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:700px){.plasma-kickoff{--kickoff-page-slide:50vw}}@media(max-height:320px){.portfolio-os[data-status-open=true] .plasma-notification{display:none}}.portfolio-os--no-motion *,.portfolio-os--no-motion *:before,.portfolio-os--no-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){.portfolio-os *,.portfolio-os *:before,.portfolio-os *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.settings-language{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.settings-language button{display:grid;grid-template-columns:24px minmax(0,1fr) 15px;align-items:center;gap:8px;min-width:0;min-height:39px;padding:7px 10px;border:1px solid #495763;border-radius:3px;background:#1c252d;text-align:left}.settings-language button>span{font-size:10px;letter-spacing:.04em;color:#a8b9c5}.settings-language button[aria-pressed=true]{border-color:#6aa6cd;background:#315774;color:#eff7fc}.settings-language button[aria-pressed=true]>span{color:#c4e6fa}.settings-language button:hover{background:#344b5e}.konsole-menubar button{flex:none;white-space:nowrap}.konsole-menubar{overflow-x:auto;scrollbar-width:none}.konsole-menubar::-webkit-scrollbar{display:none}.konsole-menu-popup{width:max-content;max-width:min(238px,calc(100% - 10px))}.konsole-menu-popup button{white-space:normal;min-height:29px;height:auto;padding-block:6px}.kickoff-categories button>span{min-width:0;white-space:normal}.kickoff-categories button>svg{flex:none}.settings-sidebar button>svg{flex:none}@media(max-width:700px){.settings-language{grid-template-columns:minmax(0,1fr)}.settings-language button{gap:5px;padding-inline:7px}.settings-row{gap:8px}.settings-row input[type=range]{min-width:0;width:100%}.settings-theme{flex-wrap:wrap}.settings-groups section{padding:12px}.settings-about dl div{flex-wrap:wrap}.settings-about dd{max-width:100%}}.experience-language{position:absolute;z-index:4;top:clamp(24px,3vw,44px);right:clamp(24px,3vw,44px)}.experience-language[hidden]{display:none}.language-switch{--language-icon-width: 22px;position:relative;display:grid;grid-template-columns:var(--language-icon-width) repeat(2,74px);align-items:center;height:52px;padding:3px;border:1px solid #d6c6a72e;border-radius:7px;background:#122229d9;color:#c9bba4;box-shadow:0 5px 18px #04131830,inset 0 1px #e8d6b60a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:Trebuchet MS,Avenir Next,sans-serif;isolation:isolate}.language-switch__globe{justify-self:center;margin-right:1px;opacity:.8}.language-switch__selection{position:absolute;z-index:-1;inset-block:4px;left:calc(4px + var(--language-icon-width));width:74px;border:1px solid #fff2d548;border-radius:4px;background:#e8d6b6;box-shadow:0 2px 5px #020c1b30;transform:translate(0);transition:transform .26s cubic-bezier(.22,.75,.25,1),background .18s ease;pointer-events:none}.language-switch[data-language=es] .language-switch__selection{transform:translate(74px)}.language-switch button{display:grid;place-items:center;min-width:0;height:44px;padding:0;border:0;border-radius:4px;background:transparent;color:#d6c9b4;font-size:12px;font-weight:600;line-height:1;letter-spacing:.01em;transition:color .18s ease}.language-switch button[aria-pressed=true]{color:#25302e}.language-switch button[lang=en]{grid-column:2}.language-switch button[lang=es]{grid-column:3}.language-switch button[aria-pressed=false]:hover{color:#fff0d5}.language-switch button:focus-visible{outline:2px solid #fff0c4;outline-offset:-3px}@media(max-width:700px){.experience-language{top:max(20px,env(safe-area-inset-top));right:20px}}@media(max-width:380px){.language-switch{--language-icon-width: 0px}.language-switch__globe{display:none}}@media(prefers-reduced-motion:reduce){.language-switch__selection,.language-switch button{transition:none}}:root{font-family:DM Sans,sans-serif;color:#19352e;background:#e8e7da;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #e2ad59;outline-offset:3px}.experience{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;isolation:isolate;background:#151c23}.room-layer,.os-layer,.boot-layer{position:absolute;inset:0}.room-layer{z-index:1;background:#111b25}.experience--os .room-layer{opacity:0;pointer-events:none}.experience--returning .room-layer{opacity:1}.os-layer{z-index:3;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .24s ease,visibility 0s .24s}.experience--boot .os-layer{opacity:1;visibility:visible;transition:opacity .32s cubic-bezier(.22,.61,.36,1)}.experience--os .os-layer{opacity:1;pointer-events:auto;visibility:visible;transition:none}.boot-layer{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}.room-fallback{width:100%;height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 50%,#f6f0dc,#d6dccb 67%,#c2d0bf)}.room-fallback__stage{position:absolute;left:50%;top:26%;width:min(60vw,600px);height:min(35vw,330px);transform:translate(-50%) skewY(-9deg);border:2px solid #314d42;border-radius:22px;background:linear-gradient(145deg,#c49a68 0 52%,#866640 52% 100%);box-shadow:22px 30px #53685a;opacity:.65}.room-fallback__desk{position:absolute;left:20%;top:25%;width:65%;height:30%;border-radius:5px;background:#8d6044;box-shadow:0 25px #593b2e}.room-fallback__monitor{position:absolute;bottom:70%;border:7px solid #2e463d;border-radius:6px;background:#dce8b9}.room-fallback__monitor--wide{left:12%;width:55%;height:165%}.room-fallback__monitor--tall{right:8%;width:21%;height:220%}.room-fallback__keyboard{position:absolute;left:22%;top:55%;width:39%;height:23%;border-radius:3px;background:#d8d0ac}.room-fallback__content{position:relative;z-index:1;align-self:end;max-width:680px;text-align:center;background:#f7f6ece0;padding:20px 24px 28px;border:1px solid #afbeae;border-radius:16px;box-shadow:0 15px 40px #24463720}.room-fallback__content h1{font:600 clamp(25px,4vw,46px)/1.1 "Space Grotesk",sans-serif;margin:12px auto}.room-fallback__content p{margin:0 0 20px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:700}.primary-action{display:inline-flex;align-items:center;gap:16px;padding:13px 20px;border:0;border-radius:9px;color:#fff8e8;background:#274d3e;font-weight:700}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
