@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}}.mf-scene{color:var(--accent,#b6c7d1)}.mf-scene *{animation-play-state:var(--scene-play,paused)!important;vector-effect:non-scaling-stroke}.mf-scene .mf-stroke{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mf-memory__value,.mf-memory__decoded{fill:currentColor;font:500 25px/1 ui-monospace,monospace;letter-spacing:-.05em}.mf-memory__value{animation:mf-number-source 12s ease-in-out both infinite}.mf-memory__decoded{animation:mf-number-decoded 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-memory__bit{fill:currentColor;opacity:.15}.mf-memory__bit--on{opacity:.55}.mf-memory__digit{fill:currentColor;font:500 12px/1 ui-monospace,monospace;opacity:.9}.mf-memory__bit--on+.mf-memory__digit{fill:#172630}.mf-memory__row{animation:mf-byte-pack 12s cubic-bezier(.3,.1,.2,1) both infinite}.mf-memory__row--1{animation-delay:.1s}.mf-memory__row--2{animation-delay:.2s}.mf-memory__row--3{animation-delay:.3s}.mf-memory__scan{fill:currentColor;opacity:0;animation:mf-byte-scan 12s cubic-bezier(.35,0,.35,1) both infinite}.mf-currency__arc{opacity:.55}.mf-currency__dollar text{fill:currentColor;opacity:.9;font:400 65px Georgia,serif}.mf-currency__bolivar text{fill:currentColor;opacity:.9;font:400 44px Georgia,serif;letter-spacing:-.065em}.mf-currency__dollar,.mf-currency__bolivar{transform-box:fill-box;transform-origin:center}.mf-currency__dollar{animation:mf-dollar-receive 12s cubic-bezier(.3,.1,.2,1) both infinite}.mf-currency__bolivar{animation:mf-bolivar-receive 12s cubic-bezier(.3,.1,.2,1) both infinite}.mf-currency__track{opacity:.15}.mf-currency__forward,.mf-currency__return{stroke-dasharray:1;stroke-dashoffset:0;opacity:.9}.mf-currency__forward{animation:mf-forward 12s ease-in-out both infinite}.mf-currency__return{animation:mf-return 12s ease-in-out both infinite}.mf-currency__token{fill:currentColor;opacity:0;animation:mf-travel-value 12s linear both infinite}.mf-plot__zoom{transform-origin:155px 260px;transform:scale(.82);animation:mf-plot-bounds 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-plot__underlay{opacity:.15}.mf-plot__segment{opacity:.9;stroke-dasharray:1;stroke-dashoffset:0}.mf-plot__segment--0{animation:mf-segment-one 12s ease-in-out both infinite}.mf-plot__segment--1{animation:mf-segment-two 12s ease-in-out both infinite}.mf-plot__segment--2{animation:mf-segment-three 12s ease-in-out both infinite}.mf-plot__segment--3{animation:mf-segment-added 12s ease-in-out both infinite}.mf-plot__node{fill:currentColor;opacity:.9}.mf-plot__node--1{animation:mf-node-one 12s ease both infinite}.mf-plot__node--2{animation:mf-node-two 12s ease both infinite}.mf-plot__node--3{animation:mf-node-three 12s ease both infinite}.mf-plot__node--4{animation:mf-node-added 12s ease both infinite}.mf-plot__undo{opacity:0;stroke-dasharray:1;stroke-dashoffset:0;animation:mf-undo-cue 12s ease both infinite}.mf-web__viewport{transform-origin:280px 190px;stroke-dasharray:1;stroke-dashoffset:0;opacity:.55;animation:mf-responsive-frame 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-web__gm{fill:currentColor;font:600 26px/1 Arial,sans-serif;letter-spacing:-.065em;animation:mf-responsive-heading 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-web__gm tspan{fill:#e1bda4}.mf-web__copy{animation:mf-responsive-copy 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-web__headline{stroke-dasharray:1;stroke-dashoffset:0;opacity:.9;animation:mf-responsive-headline 12s ease-in-out both infinite}.mf-web__body{opacity:.55;animation:mf-responsive-body 12s ease both infinite}.mf-web__code{transform-origin:361px 170px;animation:mf-responsive-code 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-web__code path{opacity:.9;stroke-dasharray:1;stroke-dashoffset:0;animation:mf-code-write 12s ease-in-out both infinite}.mf-web__footer{transform-origin:160px 252px;opacity:.55;stroke-dasharray:1;stroke-dashoffset:0;animation:mf-responsive-footer 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-terminal__command{fill:currentColor;font:500 19px/1 ui-monospace,monospace;opacity:.9}.mf-terminal__clip{transform-origin:158px 79px;animation:mf-command-type 12s steps(9,end) both infinite}.mf-terminal__execution{opacity:.55;stroke-dasharray:1;stroke-dashoffset:0;animation:mf-command-run 12s ease both infinite}.mf-terminal__pixel{fill:currentColor;opacity:.9}.mf-terminal__step--0{animation:mf-pyramid-one 12s cubic-bezier(.3,.1,.2,1) both infinite}.mf-terminal__step--1{animation:mf-pyramid-two 12s cubic-bezier(.3,.1,.2,1) both infinite}.mf-terminal__step--2{animation:mf-pyramid-three 12s cubic-bezier(.3,.1,.2,1) both infinite}.mf-terminal__step--3{animation:mf-pyramid-four 12s cubic-bezier(.3,.1,.2,1) both infinite}.mf-terminal__complete{opacity:.55;stroke-dasharray:1;stroke-dashoffset:0;animation:mf-pyramid-complete 12s ease both infinite}.mf-schedule circle{fill:currentColor}.mf-schedule__fixed{opacity:.9;animation:mf-first-conflict 12s ease both infinite}.mf-schedule__candidate{color:#e1bda4;animation:mf-find-slot 12s cubic-bezier(.4,0,.2,1) both infinite}.mf-schedule__alternative{opacity:.55}.mf-schedule__alternative--one{animation:mf-test-slot-one 12s ease both infinite}.mf-schedule__alternative--two{animation:mf-test-slot-two 12s ease both infinite}.mf-schedule__conflict{color:#e1bda4;opacity:0;animation:mf-conflict-response 12s cubic-bezier(.4,0,.2,1) both infinite}.mf-schedule__check{opacity:.9;stroke-dasharray:1;stroke-dashoffset:0;animation:mf-valid-slot 12s ease both infinite}.mf-social__blade{fill:currentColor;fill-opacity:.75;stroke:none;animation:mf-camera-close 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-social__exposure{fill:currentColor;opacity:0;animation:mf-exposure 12s linear both infinite}.mf-social__photo{transform-origin:360px 190px;animation:mf-photo-develop-upload 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-social__sky{fill:currentColor;opacity:.15}.mf-social__sun{fill:#e1bda4;opacity:.9}.mf-social__land{fill:currentColor;opacity:.55}.mf-social__clip{transform-origin:360px 190px;animation:mf-photo-crop-bounds 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-social__crop{transform-origin:360px 190px;opacity:.55;stroke-dasharray:1;stroke-dashoffset:0;animation:mf-crop-photo 12s cubic-bezier(.35,0,.2,1) both infinite}.mf-social__upload{opacity:.9;stroke-dasharray:1;stroke-dashoffset:0;animation:mf-send-photo 12s ease-in-out both infinite}@keyframes mf-number-source{0%{transform:translateY(15px);opacity:1}12%{transform:translateY(0);opacity:1}25%,65%{transform:translateY(0);opacity:.35}80%,89%{opacity:0}to{transform:translateY(15px);opacity:1}}@keyframes mf-byte-pack{0%,9%{transform:translate(var(--mf-x));opacity:.15}26%,45%{transform:translate(0);opacity:1}60%,73%{transform:translateY(var(--mf-pack));opacity:1}87%,to{transform:translate(var(--mf-x));opacity:.15}}@keyframes mf-byte-scan{0%,24%{transform:translate(0);opacity:0}28%{opacity:.9}51%{transform:translate(238px);opacity:.9}58%,72%{transform:translate(238px);opacity:0}86%{transform:translate(0);opacity:.35}93%,to{opacity:0}}@keyframes mf-number-decoded{0%,62%{transform:translateY(0);opacity:0}73%{transform:translateY(0);opacity:1}80%{transform:translateY(-22px);opacity:1}93%,to{transform:translateY(-185px);opacity:0}}@keyframes mf-dollar-receive{0%{transform:scale(1)}7%{transform:scale(.94)}15%,87%{transform:scale(1)}92%{transform:scale(1.09)}98%,to{transform:scale(1)}}@keyframes mf-bolivar-receive{0%,39%{transform:scale(1)}46%{transform:scale(1.09)}52%{transform:scale(1)}56%{transform:scale(.95)}64%,to{transform:scale(1)}}@keyframes mf-forward{0%,8%{stroke-dashoffset:1;opacity:.15}44%,88%{stroke-dashoffset:0;opacity:.9}to{stroke-dashoffset:1;opacity:.15}}@keyframes mf-return{0%,52%{stroke-dashoffset:1;opacity:.15}89%,94%{stroke-dashoffset:0;opacity:.9}to{stroke-dashoffset:1;opacity:.15}}@keyframes mf-travel-value{0%{transform:translate(215px,190px);opacity:0}5%{transform:translate(219px,190px);opacity:.9}12%{transform:translate(235px,164px)}20%{transform:translate(253px,147px)}29%{transform:translate(280px,138px)}38%{transform:translate(307px,147px)}45%{transform:translate(325px,164px);opacity:.9}50%,52%{transform:translate(343px,190px);opacity:0}56%{transform:translate(325px,216px);opacity:.9}64%{transform:translate(307px,233px)}73%{transform:translate(280px,242px)}82%{transform:translate(253px,233px)}89%{transform:translate(235px,216px);opacity:.9}95%,to{transform:translate(217px,190px);opacity:0}}@keyframes mf-plot-bounds{0%,41%{transform:scale(1)}55%,65%{transform:scale(.82)}80%,83%{transform:scale(1)}96%{transform:scale(.82)}to{transform:scale(1)}}@keyframes mf-segment-one{0%{stroke-dashoffset:1}12%,93%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes mf-segment-two{0%,12%{stroke-dashoffset:1}25%,93%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes mf-segment-three{0%,25%{stroke-dashoffset:1}39%,93%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes mf-segment-added{0%,41%{stroke-dashoffset:1}56%,65%{stroke-dashoffset:0}76%,83%{stroke-dashoffset:1}96%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes mf-node-one{0%,8%{opacity:.15}15%,93%{opacity:.9}to{opacity:.15}}@keyframes mf-node-two{0%,21%{opacity:.15}28%,93%{opacity:.9}to{opacity:.15}}@keyframes mf-node-three{0%,35%{opacity:.15}42%,93%{opacity:.9}to{opacity:.15}}@keyframes mf-node-added{0%,43%{opacity:0}55%,65%{opacity:.9}74%,84%{opacity:0}96%{opacity:.9}to{opacity:0}}@keyframes mf-undo-cue{0%,62%{opacity:0;stroke-dashoffset:1}69%{opacity:.9}77%{opacity:.9;stroke-dashoffset:0}82%,to{opacity:0;stroke-dashoffset:0}}@keyframes mf-responsive-frame{0%{transform:scaleX(1);stroke-dashoffset:1}14%{transform:scaleX(1);stroke-dashoffset:0}37%,60%{transform:scaleX(.5);stroke-dashoffset:0}80%,94%{transform:scaleX(1);stroke-dashoffset:0}to{transform:scaleX(1);stroke-dashoffset:1}}@keyframes mf-responsive-heading{0%,15%{transform:translate(0);opacity:.9}37%,60%{transform:translate(65px);opacity:.9}80%,93%{transform:translate(0);opacity:.9}to{transform:translate(0);opacity:.35}}@keyframes mf-responsive-copy{0%,15%{transform:translate(0)}37%,60%{transform:translate(65px)}80%,to{transform:translate(0)}}@keyframes mf-responsive-headline{0%{stroke-dashoffset:1}14%,93%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes mf-responsive-body{0%,17%{opacity:.55}31%,63%{opacity:0}79%,94%{opacity:.55}to{opacity:.15}}@keyframes mf-responsive-code{0%,15%{transform:translate(0) scale(1)}37%,60%{transform:translate(-81px,44px) scale(.8)}80%,to{transform:translate(0) scale(1)}}@keyframes mf-code-write{0%{stroke-dashoffset:1}16%,31%{stroke-dashoffset:0}36%{stroke-dashoffset:1}57%,94%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes mf-responsive-footer{0%{transform:translate(0) scaleX(1);stroke-dashoffset:1}15%{transform:translate(0) scaleX(1);stroke-dashoffset:0}37%,60%{transform:translate(65px) scaleX(.45);stroke-dashoffset:0}80%{transform:translate(0) scaleX(1);stroke-dashoffset:1}93%{transform:translate(0) scaleX(1);stroke-dashoffset:0}to{transform:translate(0) scaleX(1);stroke-dashoffset:1}}@keyframes mf-command-type{0%{transform:scaleX(0)}16%,85%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes mf-command-run{0%,16%{stroke-dashoffset:1;opacity:.15}24%{stroke-dashoffset:0;opacity:.9}33%,83%{stroke-dashoffset:0;opacity:.15}to{stroke-dashoffset:1;opacity:.15}}@keyframes mf-pyramid-one{0%,20%{transform:translateY(-8px);opacity:.15}26%,75%{transform:translateY(0);opacity:1}85%{transform:translateY(8px);opacity:.15}to{transform:translateY(-8px);opacity:.15}}@keyframes mf-pyramid-two{0%,28%{transform:translateY(-8px);opacity:.15}34%,69%{transform:translateY(0);opacity:1}78%{transform:translateY(8px);opacity:.15}to{transform:translateY(-8px);opacity:.15}}@keyframes mf-pyramid-three{0%,36%{transform:translateY(-8px);opacity:.15}42%,63%{transform:translateY(0);opacity:1}71%{transform:translateY(8px);opacity:.15}to{transform:translateY(-8px);opacity:.15}}@keyframes mf-pyramid-four{0%,44%{transform:translateY(-8px);opacity:.15}50%,57%{transform:translateY(0);opacity:1}64%{transform:translateY(8px);opacity:.15}to{transform:translateY(-8px);opacity:.15}}@keyframes mf-pyramid-complete{0%,50%{stroke-dashoffset:1;opacity:.15}60%{stroke-dashoffset:0;opacity:.9}85%,to{stroke-dashoffset:1;opacity:.15}}@keyframes mf-first-conflict{0%,10%{opacity:.9}16%{opacity:.35}24%,to{opacity:.9}}@keyframes mf-find-slot{0%{transform:translate(-95px)}12%,22%{transform:translate(-80px)}39%,45%{transform:translate(-120px,64px)}59%,65%{transform:translateY(104px)}81%,90%{transform:translate(0)}to{transform:translate(-95px)}}@keyframes mf-test-slot-one{0%,29%{opacity:.55}38%{opacity:.9}46%,to{opacity:.55}}@keyframes mf-test-slot-two{0%,49%{opacity:.55}58%{opacity:.9}66%,to{opacity:.55}}@keyframes mf-conflict-response{0%,11%{transform:translate(270px,128px);opacity:0}16%,23%{transform:translate(270px,128px);opacity:.9}30%{opacity:0}38%,45%{transform:translate(240px,192px);opacity:.9}50%{opacity:0}58%,65%{transform:translate(355px,232px);opacity:.9}73%,to{transform:translate(355px,232px);opacity:0}}@keyframes mf-valid-slot{0%,78%{stroke-dashoffset:1;opacity:0}88%{stroke-dashoffset:0;opacity:.9}94%{stroke-dashoffset:0;opacity:.9}to{stroke-dashoffset:1;opacity:0}}@keyframes mf-camera-close{0%{transform:translateY(-6px)}12%{transform:translateY(0)}22%,28%{transform:translateY(18px)}41%,60%{transform:translateY(-6px)}80%{transform:translateY(0)}94%,to{transform:translateY(-6px)}}@keyframes mf-exposure{0%,21%{opacity:0}23%{opacity:.75}26%,to{opacity:0}}@keyframes mf-photo-develop-upload{0%,24%{transform:translate(-175px) scale(.1);opacity:0}27%{opacity:.15}42%,59%{transform:translate(0) scale(1);opacity:1}69%{transform:translateY(-20px) scale(.8);opacity:1}82%{transform:translateY(-94px) scale(.3);opacity:.55}94%,to{transform:translate(-175px) scale(.1);opacity:0}}@keyframes mf-crop-photo{0%,40%{transform:scale(1.1);opacity:0;stroke-dashoffset:1}47%{opacity:.55}59%,62%{transform:scale(.9);opacity:.9;stroke-dashoffset:0}68%{transform:scale(1);opacity:.55;stroke-dashoffset:0}77%,to{transform:scale(1);opacity:0;stroke-dashoffset:0}}@keyframes mf-photo-crop-bounds{0%,47%{transform:scale(1)}59%,62%{transform:scale(.88)}68%,to{transform:scale(1)}}@keyframes mf-send-photo{0%,60%{stroke-dashoffset:1;opacity:.15}75%,83%{stroke-dashoffset:0;opacity:.9}95%,to{stroke-dashoffset:1;opacity:.15}}.projects-app[data-motion-enabled=false] .mf-scene *{animation:none!important}@media(prefers-reduced-motion:reduce){.mf-scene *{animation:none!important}}.mp{color:var(--accent)}.mp *{animation-play-state:var(--scene-play,paused)!important}.mp-line{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mp-solid{fill:currentColor;fill-opacity:.9;stroke:none}.mp-team-mark{fill:currentColor;fill-opacity:.9}.mp-team{animation-duration:12s;animation-timing-function:cubic-bezier(.25,.75,.25,1);animation-iteration-count:infinite}.mp-team--0{animation-name:mp-rank-a}.mp-team--1{color:#e1bda4;animation-name:mp-rank-b}.mp-team--2{animation-name:mp-rank-c}.mp-score-track{opacity:.15}.mp-score-progress{opacity:.9;transform-box:fill-box;transform-origin:left;animation:mp-score-progress 12s ease infinite}.mp-tally{opacity:.55;transform-box:fill-box;transform-origin:center bottom;animation:mp-tally 12s ease infinite;animation-fill-mode:backwards}.mp-tally--0{animation:none!important;opacity:.9}.mp-tally--1{animation-delay:.7s}.mp-tally--2{animation-delay:3.5s}.mp-tally--3{animation-delay:6.2s}.mp-team--1 .mp-tally--2{animation-delay:4s}.mp-team--1 .mp-tally--3{animation-delay:8.2s}.mp-team--2 .mp-tally--3{animation-delay:5.1s}.mp-team--3 .mp-tally--3{animation-delay:7.6s}@keyframes mp-rank-a{0%,8%,to{transform:translateY(45px)}20%,32%{transform:translateY(0)}44%,64%{transform:translateY(45px)}78%,88%{transform:translateY(0)}}@keyframes mp-rank-b{0%,8%,to{transform:translateY(-45px)}20%,32%{transform:translateY(0)}44%,52%{transform:translateY(-45px)}66%,76%{transform:translateY(45px)}88%{transform:translateY(0)}}@keyframes mp-rank-c{0%,52%,88%,to{transform:translateY(0)}66%,76%{transform:translateY(-90px)}}@keyframes mp-score-progress{0%,to{transform:scaleX(.45)}15%{transform:scaleX(.65)}28%{transform:scaleX(.58)}43%{transform:scaleX(.8)}55%{transform:scaleX(.7)}68%{transform:scaleX(1)}82%{transform:scaleX(.88)}93%{transform:scaleX(.6)}}@keyframes mp-tally{0%,to{opacity:.15;transform:scaleY(.3)}9%,75%{opacity:.9;transform:scaleY(1)}88%{opacity:.55;transform:scaleY(.75)}}.mp-board-square{fill:currentColor;fill-opacity:.07;stroke:none}.mp-board-square--dark{fill-opacity:.15}.mp-candidate,.mp-pawn-reply-route{opacity:.55;stroke-dasharray:1}.mp-candidate--commit{animation:mp-candidate-commit 12s ease infinite}.mp-candidate--alternate{animation:mp-candidate-alternate 12s ease infinite}.mp-pawn-reply-route{color:#e1bda4;animation:mp-pawn-reply-route 12s ease infinite}.mp-knight-shape{fill:currentColor;fill-opacity:.9;stroke:none}.mp-knight-motion{transform-origin:202px 268px;animation:mp-knight-sequence 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-pawn{fill:#e1bda4;fill-opacity:.9}.mp-pawn--capture{animation:mp-pawn-capture 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-pawn--reply{animation:mp-pawn-reply 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-capture-ring{opacity:0;transform-origin:306px 216px;animation:mp-capture-ring 12s ease infinite}@keyframes mp-candidate-commit{0%,to{stroke-dashoffset:1;opacity:.15}12%,34%{stroke-dashoffset:0;opacity:.55}48%,64%{stroke-dashoffset:0;opacity:.15}78%{stroke-dashoffset:0;opacity:.55}90%{stroke-dashoffset:1;opacity:.15}}@keyframes mp-candidate-alternate{0%,5%,to{stroke-dashoffset:1;opacity:.15}17%{stroke-dashoffset:0;opacity:.55}30%,49%{stroke-dashoffset:0;opacity:.15}62%,70%{stroke-dashoffset:0;opacity:.55}85%{stroke-dashoffset:1;opacity:.15}}@keyframes mp-knight-sequence{0%,to{transform:translate(0) rotate(0)}8%{transform:translateY(-3px) rotate(-4deg)}16%{transform:translate(0) rotate(0)}25%{transform:translate(104px) rotate(0)}34%{transform:translate(104px,-52px) rotate(0)}40%{transform:translate(104px,-53px) rotate(2deg)}47%,61%{transform:translate(104px,-52px) rotate(0)}72%{transform:translate(104px) rotate(0)}84%{transform:translate(0) rotate(0)}92%{transform:translateY(-2px) rotate(-2deg)}}@keyframes mp-pawn-capture{0%,31%,to{transform:translate(0) scale(1);opacity:1}37%{transform:translate(4px,-3px) scale(.85);opacity:.9}45%,74%{transform:translate(17px,-14px) scale(.15);opacity:0}86%{transform:translate(0) scale(1);opacity:1}}@keyframes mp-pawn-reply{0%,44%,to{transform:translateY(0);opacity:1}59%,70%{transform:translateY(52px);opacity:1}77%{transform:translateY(52px);opacity:0}81%{transform:translateY(0);opacity:0}91%{transform:translateY(0);opacity:1}}@keyframes mp-pawn-reply-route{0%,44%,to{stroke-dashoffset:1;opacity:.15}59%,70%{stroke-dashoffset:0;opacity:.55}85%{stroke-dashoffset:1;opacity:.15}}@keyframes mp-capture-ring{0%,33%,to{opacity:0;transform:scale(.55)}40%{opacity:.55;transform:scale(1)}49%{opacity:0;transform:scale(1.45)}}.mp-code-left{opacity:.9;animation:mp-code-left 12s ease infinite}.mp-code-right{opacity:.9;animation:mp-code-right 12s ease infinite}.mp-code-token{opacity:.9}.mp-code-token--one{animation:mp-code-token-one 12s cubic-bezier(.25,.75,.25,1) infinite}.mp-code-token--two{color:#e1bda4;animation:mp-code-token-two 12s cubic-bezier(.25,.75,.25,1) infinite}.mp-code-lines{opacity:.55;transform-origin:280px 190px;animation:mp-code-lines 12s ease infinite}.mp-code-slash{color:#e1bda4;opacity:.9;stroke-dasharray:1;animation:mp-code-slash 12s ease infinite}.mp-code-check{opacity:0;stroke-dasharray:1;animation:mp-code-check 12s ease infinite}.mp-code-result{opacity:.15;stroke-dasharray:1;animation:mp-code-result 12s ease infinite}@keyframes mp-code-left{0%,to{transform:translate(0)}9%{transform:translate(-15px)}23%{transform:translate(0)}37%,49%{transform:translate(10px)}63%{transform:translate(0)}77%{transform:translate(-15px)}90%{transform:translate(0)}}@keyframes mp-code-right{0%,to{transform:translate(0)}9%{transform:translate(15px)}23%{transform:translate(0)}37%,49%{transform:translate(-10px)}63%{transform:translate(0)}77%{transform:translate(15px)}90%{transform:translate(0)}}@keyframes mp-code-token-one{0%,5%,to{transform:translate(0);opacity:.9}18%,25%{transform:translate(151px,-23px);opacity:.9}34%,69%{transform:translate(151px);opacity:0}77%{transform:translate(151px,23px);opacity:.9}91%{transform:translate(0);opacity:.9}}@keyframes mp-code-token-two{0%,8%,to{transform:translate(0);opacity:.9}24%,29%{transform:translate(-151px,23px);opacity:.9}38%,69%{transform:translate(-151px);opacity:0}79%{transform:translate(-151px,-23px);opacity:.9}95%{transform:translate(0);opacity:.9}}@keyframes mp-code-lines{0%,to{transform:scaleX(.55) rotate(0);opacity:.55}24%{transform:scaleX(1) rotate(0);opacity:.9}35%{transform:scaleX(.8) rotate(90deg);opacity:.9}45%{transform:scaleX(1) rotate(0);opacity:.9}52%,72%{transform:scaleX(.3) rotate(0);opacity:0}83%{transform:scaleX(1) rotate(0);opacity:.55}94%{transform:scaleX(.65) rotate(0);opacity:.55}}@keyframes mp-code-slash{0%,23%,to{stroke-dashoffset:1;opacity:.15}37%{stroke-dashoffset:0;opacity:.9}48%,79%{stroke-dashoffset:0;opacity:0}91%{stroke-dashoffset:0;opacity:.9}}@keyframes mp-code-check{0%,48%,to{stroke-dashoffset:1;opacity:0}61%,69%{stroke-dashoffset:0;opacity:.9}77%{stroke-dashoffset:1;opacity:0}}@keyframes mp-code-result{0%,57%,to{stroke-dashoffset:1;opacity:.15}70%{stroke-dashoffset:0;opacity:.55}82%{stroke-dashoffset:0;opacity:0}93%{stroke-dashoffset:1;opacity:.15}}.mp-jamo-guide{opacity:.15}.mp-jamo{fill:currentColor;fill-opacity:.9;stroke:none}.mp-jamo--top{transform-origin:235px 134px;animation:mp-jamo-top 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-jamo--corner{transform-origin:276px 190px;animation:mp-jamo-corner 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-jamo--vertical{transform-origin:334px 188px;animation:mp-jamo-vertical 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-jamo--arm{color:#e1bda4;transform-origin:343px 188px;animation:mp-jamo-arm 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-consonant-practice{animation:mp-consonant-practice 12s ease infinite}.mp-language-practice{opacity:0;stroke-dasharray:1;animation:mp-language-practice 12s ease infinite}@keyframes mp-jamo-top{0%,to{transform:translate(-24px,-26px) rotate(-5deg)}12%,78%{transform:translate(0) rotate(0)}89%{transform:translate(-12px,-12px) rotate(-2deg)}}@keyframes mp-jamo-corner{0%,to{transform:translate(-24px,28px) rotate(5deg)}21%,78%{transform:translate(0) rotate(0)}89%{transform:translate(-12px,14px) rotate(2deg)}}@keyframes mp-jamo-vertical{0%,to{transform:translate(34px,-20px) rotate(3deg)}26%,78%{transform:translate(0) rotate(0)}89%{transform:translate(16px,-10px) rotate(1deg)}}@keyframes mp-jamo-arm{0%,to{transform:translate(46px,24px) rotate(8deg)}31%,39%{transform:translate(0) rotate(0)}52%,60%{transform:translate(-53px) rotate(0)}72%,78%{transform:translate(0) rotate(0)}89%{transform:translate(23px,12px) rotate(4deg)}}@keyframes mp-consonant-practice{0%,39%,72%,to{transform:translate(0)}52%,60%{transform:translate(-10px)}}@keyframes mp-language-practice{0%,44%,to{stroke-dashoffset:1;opacity:0}62%{stroke-dashoffset:0;opacity:.55}76%{stroke-dashoffset:0;opacity:0}90%{stroke-dashoffset:1;opacity:0}}.mp-ink .mp-line{stroke-width:2}.mp-ink-box,.mp-ink-horizontal,.mp-ink-correction,.mp-ink-bottom{opacity:.9;stroke-dasharray:1}.mp-ink-box{animation:mp-ink-box 12s ease infinite}.mp-ink-horizontal{animation:mp-ink-horizontal 12s ease infinite}.mp-ink-correction{animation:mp-ink-correction 12s ease infinite}.mp-ink-bottom{animation:mp-ink-bottom 12s ease infinite}.mp-ink-mistake{color:#e1bda4;opacity:0;stroke-dasharray:1;animation:mp-ink-mistake 12s ease infinite}.mp-ink-retrace{opacity:0;stroke-dasharray:1;animation:mp-ink-retrace 12s ease infinite}.mp-ink-response{opacity:0;transform-origin:280px 212px;animation:mp-ink-response 12s ease infinite}@keyframes mp-ink-box{0%,to{stroke-dashoffset:1;opacity:.15}12%,22%{stroke-dashoffset:0;opacity:.9}33%,52%{stroke-dashoffset:0;opacity:.55}67%,88%{stroke-dashoffset:0;opacity:.9}97%{stroke-dashoffset:1;opacity:.15}}@keyframes mp-ink-horizontal{0%,10%,to{stroke-dashoffset:1;opacity:.15}21%,86%{stroke-dashoffset:0;opacity:.9}97%{stroke-dashoffset:1;opacity:.15}}@keyframes mp-ink-mistake{0%,20%,to{stroke-dashoffset:1;opacity:0}30%,36%{stroke-dashoffset:0;opacity:.9}45%{stroke-dashoffset:1;opacity:0}}@keyframes mp-ink-correction{0%,40%,to{stroke-dashoffset:1;opacity:0}53%,87%{stroke-dashoffset:0;opacity:.9}98%{stroke-dashoffset:1;opacity:.15}}@keyframes mp-ink-bottom{0%,51%,to{stroke-dashoffset:1;opacity:.15}65%,87%{stroke-dashoffset:0;opacity:.9}98%{stroke-dashoffset:1;opacity:.15}}@keyframes mp-ink-retrace{0%,64%,to{stroke-dashoffset:1;opacity:0}78%{stroke-dashoffset:0;opacity:.9}86%{stroke-dashoffset:0;opacity:0}94%{stroke-dashoffset:1;opacity:0}}@keyframes mp-ink-response{0%,52%,72%,82%,to{transform:scale(.3);opacity:0}56%{transform:scale(.42);opacity:.55}68%{transform:scale(.75);opacity:0}87%{transform:scale(.8);opacity:.55}98%{transform:scale(1.14);opacity:0}}.mp-wave-bar{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.mp-wave-section{opacity:.55}.mp-wave-section--0{animation:mp-wave-first 12s ease infinite}.mp-wave-section--1{color:#e1bda4;opacity:.9;animation:mp-wave-selected 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-wave-section--2{animation:mp-wave-last 12s ease infinite}.mp-video-cut{color:#e1bda4;opacity:0;stroke-dasharray:1}.mp-video-cut--one{animation:mp-video-cut-one 12s ease infinite}.mp-video-cut--two{animation:mp-video-cut-two 12s ease infinite}.mp-video-cursor{opacity:.9;animation:mp-video-cursor 12s linear infinite}@keyframes mp-wave-first{0%,to{opacity:.55}10%,24%{opacity:.9}36%{opacity:.55}80%{opacity:.9}94%{opacity:.55}}@keyframes mp-wave-selected{0%,49%,to{transform:translateY(0);opacity:.55}59%,66%{transform:translateY(-30px);opacity:.9}78%{transform:translateY(0);opacity:.9}92%{transform:translateY(0);opacity:.55}}@keyframes mp-wave-last{0%,to{opacity:.55}40%,53%{opacity:.9}66%{opacity:.55}82%,91%{opacity:.9}}@keyframes mp-video-cut-one{0%,25%,to{stroke-dashoffset:1;opacity:0}30%,66%{stroke-dashoffset:0;opacity:.55}80%{stroke-dashoffset:0;opacity:0}94%{stroke-dashoffset:1;opacity:0}}@keyframes mp-video-cut-two{0%,42%,to{stroke-dashoffset:1;opacity:0}47%,66%{stroke-dashoffset:0;opacity:.55}80%{stroke-dashoffset:0;opacity:0}94%{stroke-dashoffset:1;opacity:0}}@keyframes mp-video-cursor{0%,to{transform:translate(0)}10%{transform:translate(116px)}17%{transform:translate(47px)}24%,31%{transform:translate(81px)}41%,48%{transform:translate(171px)}56%{transform:translate(236px)}65%,72%{transform:translate(121px)}84%{transform:translate(236px)}96%{transform:translate(0)}}.mp-agent-track{opacity:.15}.mp-agent-message{fill:currentColor;fill-opacity:.9;stroke:none;opacity:0;animation:mp-agent-message 12s linear infinite}.mp-agent-head{fill:currentColor;fill-opacity:.9}.mp-agent{opacity:.55;animation:mp-agent-attend 12s ease infinite}.mp-agent--1{color:#e1bda4;animation-delay:1.8s}.mp-agent--2{animation-delay:4s}.mp-agent--3{animation-delay:6.4s}.mp-agent-result{opacity:.9;stroke-dasharray:1;animation:mp-agent-result 12s ease infinite}@keyframes mp-agent-message{0%{transform:translate(var(--p0x),var(--p0y));opacity:0}2.000000%{transform:translate(var(--p0x),var(--p0y));opacity:.9}3.500000%{transform:translate(var(--p1x),var(--p1y));opacity:.9}5.000000%{transform:translate(var(--p2x),var(--p2y));opacity:.9}6.500000%{transform:translate(var(--p3x),var(--p3y));opacity:.9}8.000000%{transform:translate(var(--p4x),var(--p4y));opacity:.9}9.500000%{transform:translate(var(--p5x),var(--p5y));opacity:.9}11.000000%{transform:translate(var(--p6x),var(--p6y));opacity:.9}12.500000%{transform:translate(var(--p7x),var(--p7y));opacity:.9}14.000000%{transform:translate(var(--p8x),var(--p8y));opacity:.9}15.500000%{transform:translate(var(--p9x),var(--p9y));opacity:.9}17.000000%{transform:translate(var(--p10x),var(--p10y));opacity:.9}18.500000%{transform:translate(var(--p11x),var(--p11y));opacity:.9}20.000000%{transform:translate(var(--p12x),var(--p12y));opacity:0}to{transform:translate(var(--p12x),var(--p12y));opacity:0}}.mp-agent-message--outbound{animation-name:mp-agent-message-outbound}@keyframes mp-agent-message-outbound{0%{transform:translate(var(--p0x),var(--p0y));opacity:0}0.500000%{transform:translate(var(--p0x),var(--p0y));opacity:.9}1.166667%{transform:translate(var(--p1x),var(--p1y));opacity:.9}1.833333%{transform:translate(var(--p2x),var(--p2y));opacity:.9}2.500000%{transform:translate(var(--p3x),var(--p3y));opacity:.9}3.166667%{transform:translate(var(--p4x),var(--p4y));opacity:.9}3.833333%{transform:translate(var(--p5x),var(--p5y));opacity:.9}4.500000%{transform:translate(var(--p6x),var(--p6y));opacity:.9}5.166667%{transform:translate(var(--p7x),var(--p7y));opacity:.9}5.833333%{transform:translate(var(--p8x),var(--p8y));opacity:.9}6.500000%{transform:translate(var(--p9x),var(--p9y));opacity:.9}7.166667%{transform:translate(var(--p10x),var(--p10y));opacity:.9}7.833333%{transform:translate(var(--p11x),var(--p11y));opacity:.9}8.500000%{transform:translate(var(--p12x),var(--p12y));opacity:0}to{transform:translate(var(--p12x),var(--p12y));opacity:0}}@keyframes mp-agent-attend{0%,to{opacity:.55}13%{opacity:.9}26%{opacity:.55}48%{opacity:.9}63%{opacity:.55}82%{opacity:.9}94%{opacity:.55}}@keyframes mp-agent-result{0%,80%,to{stroke-dashoffset:1;opacity:0}89%,93%{stroke-dashoffset:0;opacity:.9}99%{stroke-dashoffset:0;opacity:0}}.mp-flat-desk{opacity:.55;stroke-dasharray:1;animation:mp-desk-enter 12s ease infinite}.mp-monitor-outline{opacity:.9;stroke-dasharray:1;animation:mp-monitor-enter 12s ease infinite}.mp-monitor-fill{fill:currentColor;fill-opacity:.15;stroke:none}.mp-monitor--wide{transform-origin:230px 170px;animation:mp-monitor-wide 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-monitor--tall{transform-origin:362px 165px;animation:mp-monitor-tall 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-room-cursor{transform:translate(230px,170px);animation:mp-room-cursor 12s cubic-bezier(.22,.75,.25,1) infinite}.mp-room-click{opacity:0}.mp-room-click--wide{transform-origin:230px 170px;animation:mp-room-click-wide 12s ease infinite}.mp-room-click--tall{transform-origin:362px 165px;animation:mp-room-click-tall 12s ease infinite}@keyframes mp-desk-enter{0%,to{stroke-dashoffset:1;opacity:.15}17%,88%{stroke-dashoffset:0;opacity:.55}98%{stroke-dashoffset:1;opacity:.15}}@keyframes mp-monitor-enter{0%,to{stroke-dashoffset:1;opacity:.15}15%,88%{stroke-dashoffset:0;opacity:.9}98%{stroke-dashoffset:1;opacity:.15}}@keyframes mp-monitor-wide{0%,17%,to{transform:scale(1);opacity:.9}30%{transform:scale(1.23);opacity:.9}40%{transform:scale(1.29);opacity:.9}49%{transform:scale(1);opacity:.9}62%,74%{transform:scale(.97);opacity:.3}86%{transform:scale(1);opacity:.9}}@keyframes mp-monitor-tall{0%,45%,to{transform:scale(1);opacity:.55}58%{transform:scale(1.04);opacity:.9}70%{transform:scale(1.23);opacity:.9}80%{transform:scale(1.29);opacity:.9}91%{transform:scale(1);opacity:.9}}@keyframes mp-room-cursor{0%,to{transform:translate(280px,276px) scale(1);opacity:.55}11%{transform:translate(230px,170px) scale(1);opacity:.9}15%{transform:translate(230px,170px) scale(.8);opacity:.9}18%,46%{transform:translate(230px,170px) scale(1);opacity:.9}54%{transform:translate(362px,165px) scale(1);opacity:.9}58%{transform:translate(362px,165px) scale(.8);opacity:.9}61%,86%{transform:translate(362px,165px) scale(1);opacity:.9}96%{transform:translate(280px,276px) scale(1);opacity:.55}}@keyframes mp-room-click-wide{0%,10%,to{transform:scale(.4);opacity:0}16%{transform:scale(.65);opacity:.55}25%{transform:scale(1.4);opacity:0}}@keyframes mp-room-click-tall{0%,51%,to{transform:scale(.4);opacity:0}58%{transform:scale(.65);opacity:.55}67%{transform:scale(1.4);opacity:0}}.duel-left{--duel-main:var(--accent,#a7aee1);--duel-light:#c3c7e8;--duel-dark:#686c96;--duel-deep:#484e6c}.duel-right{--duel-main:#d5ac8f;--duel-light:#e9c7ac;--duel-dark:#957765;--duel-deep:#69594f}.duel-shirt{fill:var(--duel-main)}.duel-rear,.duel-leg{fill:var(--duel-dark)}.duel-rear-leg,.duel-shoe,.duel-hair{fill:var(--duel-deep)}.duel-skin,.duel-glove{fill:var(--duel-light)}.duel-fold{fill:none;stroke:var(--duel-dark);stroke-width:1.3;opacity:.55}.duel-ground{fill:none;stroke:currentColor;stroke-width:1;opacity:.15}.duel-trails{fill:none;stroke-width:2;stroke-linecap:round;pointer-events:none}.duel-trails path:first-child{stroke:#b7bee6}.duel-trails path:last-child{stroke:#e9c7ac}.duel-impact{fill:none;stroke:#f0dfc6;stroke-width:1.5;stroke-linecap:round;pointer-events:none}.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}.projects-app[data-motion-active=true] .projects-chapter[data-in-view=true] .project-visual{--scene-play:running}.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}.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}}
