@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;overflow:clip;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}}.room-scene.is-focused .room-hud{opacity:0;transform:translateY(8px);pointer-events:none}.room-scene.is-focused .room-canvas{cursor:default}.room-note{position:absolute;z-index:3;top:50%;right:clamp(24px,3vw,56px);width:min(360px,29vw);display:flex;flex-direction:column;align-items:flex-start;gap:14px;color:#f7ebd7;font-family:Trebuchet MS,Avenir Next,sans-serif;text-shadow:0 2px 18px #061821b3;opacity:0;transform:translate3d(0,calc(-50% + 10px),0);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.room-note:before{content:"";position:absolute;inset:-60px -80px -60px -90px;z-index:-1;background:radial-gradient(closest-side,#0b1820d9,#0b182099 55%,#0b182000)}.room-note.is-open{opacity:1;transform:translate3d(0,-50%,0);pointer-events:auto;transition:opacity .36s ease .9s,transform .36s cubic-bezier(.2,.8,.2,1) .9s}.room-note h2{margin:0;font-size:clamp(24px,2.4vw,34px);font-weight:600;line-height:1.08;letter-spacing:-.035em}.room-note p{margin:0;color:#e6dccb;font-size:15px;line-height:1.55}.room-note .room-note__detail{color:#b4c2c9;font-size:13px}.room-note__back{margin-top:10px}.room-note .room-hud__subhint{align-self:flex-start}@media(max-aspect-ratio:9/10){.room-note{top:auto;right:20px;left:20px;bottom:max(26px,env(safe-area-inset-bottom));width:auto;transform:translate3d(0,10px,0)}.room-note.is-open{transform:translateZ(0)}.room-note:before{inset:-70px -40px -40px}.room-note__back{width:100%}.room-note .room-hud__subhint{display:none}.room-note{bottom:calc(4vh + 18px)}}@media(prefers-reduced-motion:reduce){.room-note,.room-note.is-open{transition:opacity .12s ease}}.room-letterbox{position:absolute;inset:0;z-index:1;pointer-events:none}.room-letterbox:before,.room-letterbox:after{content:"";position:absolute;left:0;right:0;height:7vh;background:#060b0f;transform:scaleY(0);transition:transform .52s cubic-bezier(.6,0,.2,1)}.room-letterbox:before{top:0;transform-origin:top}.room-letterbox:after{bottom:0;transform-origin:bottom}.room-scene.is-focused .room-letterbox:before,.room-scene.is-focused .room-letterbox:after{transform:scaleY(1);transition-delay:.2s;transition-duration:.9s}@media(max-aspect-ratio:9/10){.room-letterbox:before,.room-letterbox:after{height:4vh}}@media(prefers-reduced-motion:reduce){.room-letterbox:before,.room-letterbox:after{transition:none}}.room-note--shelf{width:min(420px,33vw);gap:12px}.room-books{list-style:none;margin:2px 0 0;padding:0;width:100%;counter-reset:book}.room-books button{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:14px;width:100%;border:0;padding:4px 0 4px 16px;background:none;color:#cfc3ae;font:inherit;font-size:14px;line-height:1.25;text-align:left;text-shadow:inherit;cursor:pointer;transition:color .16s ease,transform .2s cubic-bezier(.2,.8,.2,1)}.room-books button span:last-child{flex:none;color:#8f9fa6;font-size:11px}.room-books button:before{content:"";position:absolute;left:0;top:50%;width:8px;height:2px;background:#cba46b;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.room-books button:hover,.room-books button.is-active{color:#f7ebd7;transform:translate(4px)}.room-books button.is-active:before,.room-books button:hover:before{transform:scaleX(1)}.room-books button:focus-visible{outline:2px solid #fff0c4;outline-offset:2px}.room-book{height:214px;display:flex;flex-direction:column;gap:8px}.room-book .room-book__translation{color:#cba46b;font-size:12px;letter-spacing:.02em}.room-book__translation span{color:#e6dccb;font-style:italic}.room-book p{font-size:14px}.room-book .room-book__meta{color:#b4c2c9;font-size:12px;letter-spacing:.02em}.room-book .room-book__why{color:#e6dccb}.room-book__why span{display:block;margin-bottom:2px;color:#cba46b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase}@media(max-aspect-ratio:9/10){.room-note--shelf{width:auto;gap:8px}.room-note--shelf h2{font-size:22px}.room-books{display:flex;flex-wrap:wrap;gap:2px 14px}.room-books li{flex:none}.room-books button{width:auto;padding:2px 0 2px 12px;font-size:12px}.room-books button span:last-child{display:none}.room-book{height:196px;gap:4px}.room-book p{font-size:13px;line-height:1.45}}@media(prefers-reduced-motion:reduce){.room-books button,.room-books button:before{transition:none}}.tech-logo{--tech-logo-color: #dce5ed;box-sizing:border-box;display:grid;place-items:center start;position:relative;width:38px;height:38px;min-width:0;color:#c9d3dd;cursor:default}.tech-logo:focus{outline:none}.tech-logo__picture{display:grid;place-items:center start;width:38px;height:38px;border-radius:4px;transition:background-color .12s ease}.tech-logo:hover .tech-logo__picture,.tech-logo:focus-visible .tech-logo__picture{background:#d3e8fb17}.tech-logo:focus-visible .tech-logo__picture{outline:2px solid #82c5f8;outline-offset:1px}.tech-logo__mark{display:block;width:30px;height:30px;background:var(--tech-logo-color);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.tech-logo--wide-mark,.tech-logo--wide-mark .tech-logo__picture,.tech-logo--wide-mark .tech-logo__mark{width:52px}.tech-logo--wide-mark .tech-logo__mark{height:52px}.tech-logo__initials{color:#dce5ed;font-size:12px;font-weight:700;letter-spacing:-.03em}.tech-logo__name{position:absolute;z-index:5;bottom:calc(100% + 7px);left:0;width:max-content;max-width:150px;padding:3px 6px;border:1px solid #48525c;border-radius:3px;background:#242b32;box-shadow:0 3px 10px #0006;color:#c9d3dd;font-size:10px;line-height:1.15;font-weight:500;text-align:left;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease}.tech-logo:hover .tech-logo__name,.tech-logo:focus-visible .tech-logo__name{opacity:1}@media(max-width:700px),(hover:none),(pointer:coarse){.tech-logo{grid-template-rows:38px 28px;width:100%;height:66px}.tech-logo__name{position:static;width:100%;max-width:none;padding:0;border:0;background:transparent;box-shadow:none;white-space:normal;overflow-wrap:anywhere;opacity:1}}@media(prefers-reduced-motion:reduce){.tech-logo__picture,.tech-logo__name{transition:none}}.motion-study{--study-peach:#e3b99b;--study-light:#e9edef;--study-dark:#151c23;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.motion-study text{font-variant-numeric:tabular-nums;letter-spacing:normal;stroke:none;-webkit-user-select:none;user-select:none}.motion-study .study-solid{fill:currentColor;stroke:none}.motion-study .study-secondary{fill:var(--study-peach);stroke:none}.motion-study .study-line{fill:none;stroke:currentColor}.motion-study .study-light{fill:var(--study-light);stroke:none}.motion-study .study-muted{fill:none;stroke:currentColor;opacity:.18}.motion-study .study-ground{fill:none;stroke:currentColor;stroke-width:1;opacity:.2}.project-stage:not(.project-stage--fighter) .project-composition{transform:none}.duel{pointer-events:none}.duel-chase{fill:none;stroke:#f4f5ff;stroke-width:2.4}.duel-chase-glow{fill:none;stroke:#e9edef;stroke-width:3.2}.duel-flash{fill:#fff}.duel-echo{fill:#c3c2f4}.duel-effect{stroke:none}.duel-effect--shadow{fill:#030508}.duel-effect--shock{fill:none}.duel-effect--cut{fill:#fff3ea}.duel-effect--star{fill:#d6d5ff}.duel-effect--core{fill:#fff}.duel-effect--ring{fill:none;stroke:#ebeaff}.duel-effect--spark{fill:#fff}.duel-effect--ember{fill:#f6cdb0}.duel-track{fill:#0b1015;stroke:#e9edef;stroke-opacity:.18;stroke-width:1}.duel-gloss{fill:#fff;opacity:.3}.duel-edge{fill:#fff}.duel-tag{font-size:14.5px;font-weight:800;letter-spacing:.06em}.duel-tag--left{fill:#bfbef1}.duel-tag--right{fill:#f1c5a8;text-anchor:end}.duel-versus{fill:#e9edef;opacity:.55;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-anchor:middle}.project-visual{--scene-play:paused;position:relative;will-change:transform;display:grid;flex:1;place-items:center;min-width:0;min-height:320px;contain:layout paint;overflow:hidden;isolation:isolate;color:var(--accent,#abc5ce)}.project-visual{--visual-fade-x:clamp(48px,16%,180px);--visual-fade-y:clamp(40px,15%,140px);--visual-fade-top:var(--visual-fade-y);--visual-round:62%;--visual-edge-x:transparent,rgb(0 0 0/.16) calc(var(--visual-fade-x)*.25),rgb(0 0 0/.5) calc(var(--visual-fade-x)*.5),rgb(0 0 0/.84) calc(var(--visual-fade-x)*.75),#000 var(--visual-fade-x),#000 calc(100% - var(--visual-fade-x)),rgb(0 0 0/.84) calc(100% - var(--visual-fade-x)*.75),rgb(0 0 0/.5) calc(100% - var(--visual-fade-x)*.5),rgb(0 0 0/.16) calc(100% - var(--visual-fade-x)*.25),transparent;--visual-edge-y:transparent,rgb(0 0 0/.16) calc(var(--visual-fade-top)*.25),rgb(0 0 0/.5) calc(var(--visual-fade-top)*.5),rgb(0 0 0/.84) calc(var(--visual-fade-top)*.75),#000 var(--visual-fade-top),#000 calc(100% - var(--visual-fade-y)),rgb(0 0 0/.84) calc(100% - var(--visual-fade-y)*.75),rgb(0 0 0/.5) calc(100% - var(--visual-fade-y)*.5),rgb(0 0 0/.16) calc(100% - var(--visual-fade-y)*.25),transparent;--visual-corner:#000 var(--visual-round),rgb(0 0 0/.84) calc(var(--visual-round) + (100% - var(--visual-round))*.25),rgb(0 0 0/.5) calc(var(--visual-round) + (100% - var(--visual-round))*.5),rgb(0 0 0/.16) calc(var(--visual-round) + (100% - var(--visual-round))*.75),transparent 100%;-webkit-mask-image:linear-gradient(90deg,var(--visual-edge-x)),linear-gradient(180deg,var(--visual-edge-y)),radial-gradient(ellipse farthest-corner at 50% 50%,var(--visual-corner));mask-image:linear-gradient(90deg,var(--visual-edge-x)),linear-gradient(180deg,var(--visual-edge-y)),radial-gradient(ellipse farthest-corner at 50% 50%,var(--visual-corner));-webkit-mask-composite:source-in;mask-composite:intersect}.project-stage--fighter{--visual-fade-x:clamp(32px,8%,90px);--visual-fade-top:20px;--visual-round:84%}.project-visual.project-visual--pending{width:100%;aspect-ratio:560/380;will-change:auto}.project-visual>svg{display:block;width:100%;height:100%;max-height:540px;overflow:visible;stroke-linecap:round;stroke-linejoin:round}.project-composition{transform-origin:280px 190px;transform:scale(1.12)}.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}}.achievement-icon{--achievement-hue:205;display:grid;flex:none;place-items:center;width:52px;height:52px;border-radius:6px;background:linear-gradient(145deg,hsl(var(--achievement-hue) 72% 58%),hsl(var(--achievement-hue) 70% 28%));box-shadow:inset 0 1px #ffffff47,0 4px 12px #00000059;color:#fff}.achievement-icon.is-locked{background:linear-gradient(145deg,#3a4652,#222a33);box-shadow:inset 0 1px #ffffff14;color:#6f7d89}.achievement-toast{position:absolute;right:14px;bottom:calc(var(--panel-height) + 14px);z-index:9600;display:flex;align-items:center;gap:13px;width:min(320px,calc(100% - 28px));padding:11px 16px 11px 11px;overflow:hidden;border:1px solid rgba(102,192,244,.28);border-radius:6px;background:linear-gradient(135deg,#1b2838,#2a475e);box-shadow:0 14px 34px #0000008c;color:#fff;font:400 12px/1.35 DM Sans,SteamNoto,sans-serif;pointer-events:none;animation:achievement-toast-life 5.4s cubic-bezier(.2,.8,.2,1) both}.achievement-toast:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.16) 50%,transparent 65%);transform:translate(-110%);animation:achievement-shine .9s cubic-bezier(.4,0,.2,1) .45s both}.achievement-toast .achievement-icon{animation:achievement-icon-pop .62s cubic-bezier(.34,1.56,.64,1) .12s both}.achievement-toast div{display:grid;gap:2px;min-width:0}.achievement-toast small{color:#66c0f4;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.achievement-toast strong{overflow:hidden;font-size:15px;font-weight:700;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.achievement-toast span{color:#acb2b8;font-size:12px}.achievement-toast--platinum{border-color:#ffd6788c;background:linear-gradient(135deg,#2b2616,#5a4a1e)}.achievement-toast--platinum small{color:#ffd678}@keyframes achievement-toast-life{0%{opacity:0;transform:translate3d(0,24px,0) scale(.96)}7%{opacity:1;transform:none}90%{opacity:1;transform:none}to{opacity:0;transform:translate3d(0,14px,0)}}@keyframes achievement-shine{to{transform:translate(110%)}}@keyframes achievement-icon-pop{0%{transform:scale(.4) rotate(-12deg)}to{transform:none}}.portfolio-os--no-motion .achievement-toast,.portfolio-os--no-motion .achievement-toast *{animation-duration:5.4s!important;animation-name:achievement-toast-hold!important}@keyframes achievement-toast-hold{0%,92%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.achievement-toast{animation-name:achievement-toast-hold}.achievement-toast:after,.achievement-toast .achievement-icon{animation:none}}.discover-achievements{display:grid;gap:10px;max-width:640px}.discover-achievements__progress{display:grid;gap:8px;margin:0 0 8px}.discover-achievements__progress span{color:#aeb7bf;font-size:12px}.discover-achievements__bar{height:6px;overflow:hidden;border-radius:3px;background:#3a4450}.discover-achievements__bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--os-accent-grad-a,#06bfff),var(--os-accent-grad-b,#2d73ff));transform-origin:left}.discover-achievement{display:flex;align-items:center;gap:13px;padding:8px 10px;border-radius:4px;background:#ffffff08}.discover-achievement div{display:grid;gap:2px;min-width:0}.discover-achievement strong{color:#eff0f1;font-size:13px}.discover-achievement span{color:#aeb7bf;font-size:12px}.discover-achievement.is-locked strong{color:#8a96a1}.projects-app{--ui-ground:#151c23;--ui-line:rgba(255,255,255,.07);--ui-line-strong:rgba(255,255,255,.12);--ui-text:#eef2f5;--ui-soft:#c3ced7;--ui-muted:#93a4b1;--ui-faint:#6f8290;--ui-blue:var(--os-accent-ui,#1a9fff);--ui-blue-light:var(--os-accent-ui-light,#7cc4ff);--ui-font:"DM Sans",SteamNoto,"Noto Sans",system-ui,sans-serif;--ui-label:"Space Grotesk","DM Sans",system-ui,sans-serif;--ui-gutter:clamp(24px,3.5vw,56px);--ui-ease:cubic-bezier(.2,.8,.2,1);display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;background:var(--ui-ground);color:var(--ui-text);font:400 14px/1.55 var(--ui-font)}.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 48px;align-items:center;gap:10px;min-width:0;padding:0 14px;border-bottom:1px solid var(--ui-line);background:#1d232b}.projects-toolbar__home{display:grid;flex:0 0 32px;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#dce3e8;transition:background-color .15s ease,color .15s ease}.projects-toolbar__home:hover{background:#ffffff14;color:#fff}.projects-toolbar__home:focus-visible{outline:2px solid var(--ui-blue);outline-offset:-2px}.projects-toolbar__location{display:flex;flex:1;align-items:center;gap:9px;min-width:0;overflow:hidden;color:var(--ui-muted);font-size:13px;white-space:nowrap}.projects-toolbar__location strong{min-width:0;overflow:hidden;color:var(--ui-text);font-weight:500;text-overflow:ellipsis}.projects-toolbar__location span:nth-child(2){color:var(--ui-faint);font-size:16px;line-height:1}.projects-toolbar__count{flex:none;color:var(--ui-blue-light);font:600 11px/1 var(--ui-label);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.projects-scroll{flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--ui-ground);scrollbar-color:#3d4955 transparent;scrollbar-width:thin}.projects-scroll:focus{outline:none}.projects-scroll:focus-visible{outline:2px solid var(--ui-blue);outline-offset:-2px}.projects-status{position:relative;display:flex;flex:0 0 30px;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:0 14px;border-top:1px solid var(--ui-line);background:#1b2128;color:var(--ui-muted);font:500 11px/1 var(--ui-label);letter-spacing:.02em;white-space:nowrap}.projects-status:before{content:"";position:absolute;top:-1px;right:0;left:0;height:2px;background:linear-gradient(90deg,var(--os-accent-grad-a,#06bfff),var(--os-accent-grad-b,#2d73ff));transform:scaleX(var(--projects-scroll-progress,0));transform-origin:left;will-change:transform;pointer-events:none}.projects-status span{overflow:hidden;text-overflow:ellipsis}.projects-status span:last-child{color:var(--ui-soft);text-align:right}.projects-chapter__fact{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:baseline;min-width:0}.projects-chapter__fact dt{color:var(--ui-faint);font:600 10.5px/1.4 var(--ui-label);letter-spacing:.14em;text-transform:uppercase}.projects-chapter__fact dd{min-width:0;margin:0;color:var(--ui-soft);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.projects-chapter__fact--used{align-items:center}.projects-learned-list{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}.projects-learned-list li{color:var(--ui-soft);font-size:14px;line-height:1.5}.projects-learned-list li:not(:last-child):after{content:"·";padding:0 10px;color:var(--ui-faint)}.projects-title__accessible{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.projects-title__composition{display:block;min-width:0}.projects-title__word{display:inline-block;max-width:100%;padding:.05em .025em .15em 0;margin:0 -.025em -.15em 0;overflow:hidden;vertical-align:top;white-space:nowrap;font-size:calc(1em * var(--word-scale,1) * var(--word-fit,1))}.projects-title__letter{display:inline-block;transform-origin:50% 95%}.projects-app [data-visual]{--accent:#79bddd}.projects-app [data-visual=fighter],.projects-app [data-visual=chess]{--accent:#a7aee1}.projects-app [data-visual=currency]{--accent:#e5bc91}.projects-app [data-visual=plot],.projects-app [data-visual=video]{--accent:#dfa2b2}.projects-app [data-visual=language]{--accent:#b8d5a7}.projects-app [data-visual=terminal],.projects-app [data-visual=ink]{--accent:#88c9c4}.projects-app [data-visual=schedule],.projects-app [data-visual=agents]{--accent:#c7afe5}.projects-app [data-visual=social],.projects-app [data-visual=room]{--accent:#d4d0a3}.projects-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;max-width:1500px;margin:0 auto;padding:clamp(44px,5.5cqw,80px) var(--ui-gutter) 28px;isolation:isolate}.projects-hero:before{content:"";position:absolute;z-index:-1;top:-30%;left:-10%;width:70%;height:150%;background:radial-gradient(closest-side,color-mix(in srgb,var(--ui-blue) 13%,transparent),transparent);pointer-events:none}.projects-hero__intro{min-width:0}.projects-hero__eyebrow{display:flex;align-items:center;gap:10px;margin:0;color:var(--ui-blue-light);font:600 12px/1 var(--ui-label);letter-spacing:.2em;text-transform:uppercase}.projects-hero__eyebrow:before{content:"";width:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--os-accent-grad-a,#06bfff),var(--os-accent-grad-b,#2d73ff))}.projects-hero h1{margin:16px 0 0;background:linear-gradient(180deg,#fff 30%,#a9b8c5);-webkit-background-clip:text;background-clip:text;color:transparent;font:700 clamp(64px,10cqw,140px)/.9 var(--ui-font);letter-spacing:-.06em;padding-right:.08em}.projects-hero__meta{margin:18px 0 0;color:var(--ui-muted);font-size:14px}.projects-hero__stats{display:flex;flex:none;gap:clamp(26px,3.4cqw,52px);margin:0 0 6px}.projects-hero__stats>div{display:flex;flex-direction:column-reverse;gap:8px}.projects-hero__stats dt{color:var(--ui-faint);font:600 10.5px/1.2 var(--ui-label);letter-spacing:.14em;text-transform:uppercase}.projects-hero__stats dd{margin:0;color:var(--ui-text);font:700 clamp(40px,4.2cqw,56px)/1 var(--ui-font);letter-spacing:-.05em;font-variant-numeric:tabular-nums}.projects-shelf{max-width:1500px;margin:0 auto;padding:0 var(--ui-gutter) 40px}.projects-shelf ol{display:flex;flex-wrap:wrap;gap:2px clamp(18px,2.2cqw,30px);margin:0;padding:18px 0 0;border-top:1px solid var(--ui-line);list-style:none}.projects-capsule{position:relative;display:inline-flex;align-items:baseline;gap:8px;padding:8px 0 10px;border:0;background:none;color:var(--ui-muted);font:600 15px/1.2 var(--ui-font);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:color .2s ease}.projects-capsule:after{content:"";position:absolute;right:0;bottom:2px;left:0;height:2px;border-radius:2px;background:var(--accent);opacity:.7;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ui-ease)}.projects-capsule__number{color:var(--accent);font:600 11px/1 var(--ui-label);letter-spacing:.06em}.projects-capsule[aria-current=true]{color:#fff}.projects-capsule[aria-current=true]:after{background:var(--ui-blue);opacity:1;transform:scaleX(1)}.projects-capsule:focus-visible{outline:2px solid var(--ui-blue);outline-offset:4px;border-radius:3px}@media(hover:hover)and (pointer:fine){.projects-capsule:hover{color:var(--ui-text)}.projects-capsule:hover:after{transform:scaleX(1)}}.projects-chapters{max-width:1500px;margin:0 auto}.projects-chapter:not([data-revealed=true]){content-visibility:auto;contain-intrinsic-size:auto 780px}.projects-chapter{position:relative;display:grid;grid-template-areas:"heading visual" "description visual" "bottom visual";grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-rows:auto auto 1fr;column-gap:clamp(30px,4cqw,64px);min-height:660px;padding:clamp(52px,5.5cqw,84px) var(--ui-gutter);isolation:isolate}.projects-chapter:before{content:"";position:absolute;top:0;right:var(--ui-gutter);left:var(--ui-gutter);height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 75%,transparent),rgba(255,255,255,.07) 45%,transparent);transform-origin:left;pointer-events:none}.projects-chapter__ghost{position:absolute;z-index:-1;top:clamp(18px,2.4cqw,34px);left:calc(var(--ui-gutter) - .07em);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 13%,transparent),transparent 80%);-webkit-background-clip:text;background-clip:text;color:transparent;font:700 clamp(150px,19cqw,260px)/.8 var(--ui-label);letter-spacing:-.08em;padding-right:.12em;pointer-events:none;-webkit-user-select:none;user-select:none}.projects-chapter__heading{grid-area:heading;display:flex;align-items:flex-start;gap:20px;min-width:0}.projects-chapter__heading>div{flex:1;min-width:0}.projects-chapter__number{flex:0 0 32px;padding-top:2px;color:var(--accent);font:700 13px/1.5 var(--ui-label);letter-spacing:.04em;font-variant-numeric:tabular-nums}.projects-app:not(.resume-app) .projects-chapter__number{display:none}.projects-chapter__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:clamp(40px,4.6cqw,70px) 0 20px;color:var(--ui-muted);font-size:13px;line-height:1.3}.projects-chapter__type{color:color-mix(in srgb,var(--accent) 85%,#fff);font-weight:600}.projects-chapter__eyebrow-divider{width:3px;height:3px;border-radius:50%;background:var(--ui-faint)}.projects-chapter__date{font-variant-numeric:tabular-nums;white-space:nowrap}.projects-chapter__date time{color:inherit}.projects-chapter__status{display:inline-flex;align-items:center;gap:7px;color:#7fdca5;white-space:nowrap}.projects-chapter__status:before{content:"";width:7px;height:7px;border-radius:50%;background:#59d38c;box-shadow:0 0 10px #59d38cb3}.projects-chapter h2{max-width:100%;margin:0;color:#f3f6f8;font:700 clamp(52px,6.4cqw,92px)/.97 var(--ui-font);letter-spacing:-.055em;overflow-wrap:normal}.projects-chapter__line{max-width:30ch;margin:18px 0 0;color:color-mix(in srgb,var(--accent) 85%,#fff);font:500 clamp(21px,2.1cqw,28px)/1.25 var(--ui-font);letter-spacing:-.025em}.projects-chapter__description{grid-area:description;max-width:38ch;margin:24px 0 0;color:var(--ui-soft);font-size:clamp(16px,1.55cqw,19px);line-height:1.6;letter-spacing:-.01em}.projects-chapter__visual{grid-area:visual;position:relative;display:flex;flex-direction:column;align-self:center;min-width:0;min-height:400px;margin:0}.projects-chapter__visual:before{content:"";position:absolute;z-index:-1;inset:-4% -6%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 12%,transparent),transparent);pointer-events:none}.projects-chapter__visual .project-visual{min-height:400px}.projects-chapter__visual .project-visual>svg{max-height:none}.projects-chapter__bottom{grid-area:bottom;align-self:end;min-width:0;margin-top:34px}.projects-chapter__facts{display:grid;gap:14px;margin:0;padding-top:20px;border-top:1px solid var(--ui-line)}.projects-tech-list{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;margin:0;padding:0;list-style:none}.projects-chapter__links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:22px}.projects-chapter__links a{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ui-blue-light);font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s var(--ui-ease),color .2s ease}.projects-chapter__links a:first-child{padding:0 20px;overflow:hidden;border-radius:11px;background:linear-gradient(90deg,var(--os-accent-grad-a,#06bfff),var(--os-accent-grad-b,#2d73ff));color:#fff;box-shadow:0 12px 26px -14px color-mix(in srgb,var(--ui-blue) 90%,transparent)}.projects-chapter__links a:first-child:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translate(-120%);pointer-events:none}.projects-chapter__links a span{font-size:15px;line-height:1;transition:transform .2s var(--ui-ease)}.projects-chapter__links a:focus-visible{outline:2px solid var(--ui-blue);outline-offset:3px;border-radius:11px}@media(hover:hover)and (pointer:fine){.projects-chapter__links a:hover{color:#fff}.projects-chapter__links a:first-child:hover{transform:translateY(-2px)}.projects-chapter__links a:first-child:hover:after{transform:translate(120%);transition:transform .7s var(--ui-ease)}.projects-chapter__links a:hover span{transform:translate(2px,-2px)}}.projects-empty{padding:40px var(--ui-gutter);color:var(--ui-muted)}@keyframes projects-letter-in{0%{opacity:0;transform:translate3d(0,.55em,0) rotate(5deg)}to{opacity:1;transform:none}}@keyframes projects-rise{0%{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:none}}@keyframes projects-stage-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes projects-ghost-in{0%{opacity:0;transform:translate3d(-28px,0,0)}to{opacity:1;transform:none}}@keyframes projects-rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes projects-hero-in{0%{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}.projects-app[data-motion-enabled=true]:not(.resume-app) .projects-chapter:not([data-revealed=true]) :is(.projects-title__letter,.projects-chapter__eyebrow,.projects-chapter__line,.projects-chapter__description,.projects-chapter__bottom,.projects-chapter__visual,.projects-chapter__ghost){opacity:0}.projects-app[data-motion-enabled=true]:not(.resume-app) .projects-chapter[data-revealed=true]:before{animation:projects-rule-in 1.1s var(--ui-ease) both}.projects-app[data-motion-enabled=true]:not(.resume-app) .projects-chapter[data-revealed=true] .projects-chapter__ghost{animation:projects-ghost-in 1.2s var(--ui-ease) both}.projects-app[data-motion-enabled=true]:not(.resume-app) .projects-chapter[data-revealed=true] .projects-chapter__eyebrow{animation:projects-rise .8s var(--ui-ease) both}.projects-app[data-motion-enabled=true]:not(.resume-app) .projects-chapter[data-revealed=true] .projects-title__letter{animation:projects-letter-in .85s cubic-bezier(.2,.9,.25,1) both;animation-delay:calc(.12s + var(--word-order,0) * .11s + var(--letter-order,0) * 24ms)}.projects-app[data-motion-enabled=true]:not(.resume-app) .projects-chapter[data-revealed=true] .projects-chapter__line{animation:projects-rise .9s var(--ui-ease) .38s both}.projects-app[data-motion-enabled=true]:not(.resume-app) .projects-chapter[data-revealed=true] .projects-chapter__description{animation:projects-rise .9s var(--ui-ease) .48s both}.projects-app[data-motion-enabled=true]:not(.resume-app) .projects-chapter[data-revealed=true] .projects-chapter__bottom{animation:projects-rise .9s var(--ui-ease) .58s both}.projects-app[data-motion-enabled=true]:not(.resume-app) .projects-chapter[data-revealed=true] .projects-chapter__visual{animation:projects-stage-in 1.2s var(--ui-ease) .15s both}.projects-app[data-motion-enabled=true] .projects-hero>*,.projects-app[data-motion-enabled=true] .projects-shelf li{animation:projects-hero-in .8s var(--ui-ease) both}.projects-app[data-motion-enabled=true] .projects-hero__stats{animation-delay:.12s}.projects-app[data-motion-enabled=true] .projects-shelf li{animation-delay:calc(.18s + var(--shelf-index,0) * 30ms)}.projects-app[data-motion-enabled=false] *,.projects-app[data-motion-enabled=false] *:before,.projects-app[data-motion-enabled=false] *:after{transition:none!important}@container project-gallery (max-width:900px){.projects-hero{flex-direction:column;align-items:flex-start}.projects-chapter{grid-template-areas:"heading" "description" "visual" "bottom";grid-template-columns:minmax(0,1fr);grid-template-rows:auto;min-height:0}.projects-chapter h2{font-size:clamp(56px,11cqw,96px)}.projects-chapter__description{max-width:56ch}.projects-chapter__visual{margin-top:18px;min-height:360px}.projects-chapter__visual .project-visual{min-height:360px}.projects-chapter__bottom{margin-top:22px}}@container project-gallery (max-width:600px){.projects-toolbar{gap:6px;padding-inline:8px}.projects-toolbar__count{display:none}.projects-hero{gap:22px;padding:36px 19px 22px}.projects-hero h1{font-size:clamp(62px,18vw,94px)}.projects-hero__stats{gap:24px}.projects-hero__stats dd{font-size:34px}.projects-shelf{padding:0 19px 28px}.projects-shelf ol{flex-wrap:nowrap;margin-right:-19px;padding-right:19px;overflow-x:auto;scrollbar-width:none}.projects-chapter{padding:44px 19px 40px}.projects-chapter__ghost{font-size:140px}.projects-chapter__eyebrow{margin-top:44px}.projects-chapter h2{font-size:clamp(54px,15.5vw,86px);letter-spacing:-.06em}.projects-title__word{font-size:calc(1em * var(--word-mobile-scale,1) * var(--word-fit,1))}.projects-chapter__line{margin-top:14px;font-size:21px}.projects-chapter__description{margin-top:18px;font-size:16px}.projects-chapter__visual,.projects-chapter__visual .project-visual{min-height:300px}.projects-chapter__fact{grid-template-columns:minmax(0,1fr);gap:8px}}@container project-gallery (max-width:350px){.projects-hero,.projects-chapter,.projects-shelf{padding-inline:16px}.projects-chapter h2{font-size:50px}.projects-chapter__line{font-size:19px}}@media(prefers-reduced-motion:reduce){.projects-app *,.projects-app *:before,.projects-app *:after{animation:none!important;transition:none!important}.projects-app .projects-chapter :is(.projects-title__letter,.projects-chapter__eyebrow,.projects-chapter__line,.projects-chapter__description,.projects-chapter__bottom,.projects-chapter__visual,.projects-chapter__ghost){opacity:1!important;transform:none!important}}.portfolio-os--no-motion .projects-app *,.portfolio-os--no-motion .projects-app *:before,.portfolio-os--no-motion .projects-app *:after{animation:none!important;transition:none!important}.projects-app:not(.resume-app) .project-tech-grid{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.projects-app:not(.resume-app) .project-tech-grid li{display:flex;align-items:center;min-width:0}.project-tech-trigger{display:grid;place-items:center;flex:none;position:relative;width:46px;height:46px;margin:0;padding:0;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.project-tech-trigger:after{content:"";position:absolute;bottom:0;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--os-accent-ui,#1a9fff);opacity:0;transition:opacity .15s ease}.project-tech-trigger .tech-logo{transition:transform .2s cubic-bezier(.2,.8,.2,1)}@media(hover:hover)and (pointer:fine){.project-tech-trigger:hover .tech-logo{transform:translateY(-3px)}}.project-tech-trigger[aria-expanded=true]:after{opacity:1}.project-tech-trigger:focus-visible{outline:2px solid #8bc9f2;outline-offset:2px}.project-tech-trigger:active .tech-logo{transform:scale(.94)}.projects-app:not(.resume-app) .project-tech-grid .tech-logo,.projects-app:not(.resume-app) .project-tech-grid .tech-logo__picture{display:grid;place-items:center;width:40px;height:40px;grid-template-rows:none;pointer-events:none;background:transparent;outline:0}.projects-app:not(.resume-app) .project-tech-grid .tech-logo__mark{width:31px;height:31px}.projects-app:not(.resume-app) .project-tech-grid .tech-logo--wide-mark,.projects-app:not(.resume-app) .project-tech-grid .tech-logo--wide-mark .tech-logo__picture{width:40px}.projects-app:not(.resume-app) .project-tech-grid .tech-logo--wide-mark .tech-logo__mark{width:36px;height:31px}.project-tech-popover{position:fixed;inset:auto;box-sizing:border-box;width:296px;max-width:calc(100vw - 24px);max-height:calc(100vh - 32px);margin:0;padding:15px 16px 16px;border:1px solid color-mix(in srgb,var(--ui-blue) 35%,transparent);border-radius:14px;background:linear-gradient(180deg,#24303c,#1d252e);color:#e8eef2;box-shadow:0 10px 32px #0007,0 2px 7px #0003;font:400 13px/1.55 DM Sans,SteamNoto,Noto Sans,system-ui,sans-serif;overflow:auto;overscroll-behavior:contain}.project-tech-popover:popover-open{animation:project-tech-open .14s cubic-bezier(.2,.8,.2,1) both}.project-tech-popover:focus{outline:none}.project-tech-popover::backdrop{background:transparent;pointer-events:none}.project-tech-popover__heading{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:10px}.project-tech-popover__heading .tech-logo,.project-tech-popover__heading .tech-logo__picture{width:28px;height:28px;grid-template-rows:none;place-items:center;background:transparent;pointer-events:none}.project-tech-popover__heading .tech-logo__mark{width:26px;height:26px}.project-tech-popover__heading h3{flex:1;min-width:0;margin:0;color:#f0f3f6;font-size:15px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.project-tech-popover p{margin:0;color:#c7d1da}.project-tech-popover__close{display:grid;place-items:center;flex:none;width:28px;height:28px;margin:-3px -5px -3px 0;padding:0;border:0;border-radius:4px;background:transparent;color:#aebfcb;cursor:pointer}.project-tech-popover__close:hover{background:#8facc51a;color:#fff}.project-tech-popover__close:focus-visible{outline:2px solid #8bc9f2;outline-offset:1px}@keyframes project-tech-open{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.project-tech-popover--static:popover-open{animation:none}@media(prefers-reduced-motion:reduce){.project-tech-popover:popover-open{animation:none}.project-tech-trigger{transition:none}}.projects-app.resume-app{container:resume / inline-size}.resume-sections{max-width:1500px;margin:0 auto}.resume-section{--accent:#79bddd;position:relative;min-width:0;padding:clamp(48px,5vw,80px) var(--ui-gutter)}.resume-section:before{content:"";position:absolute;top:0;right:var(--ui-gutter);left:var(--ui-gutter);height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 75%,transparent),rgba(255,255,255,.07) 45%,transparent);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:#f3f6f8;font:700 clamp(40px,4.8vw,68px)/1 var(--ui-font);letter-spacing:-.05em;overflow-wrap:anywhere}.resume-section h3{margin:0;color:var(--ui-text);font:700 clamp(21px,2.1vw,28px)/1.2 var(--ui-font);letter-spacing:-.03em;overflow-wrap:anywhere}.resume-section p{overflow-wrap:anywhere}.resume-section__heading{grid-area:auto;display:flex;align-items:baseline;gap:16px;margin-bottom:36px}.resume-section__heading>div{min-width:0}.resume-section__heading .projects-chapter__number{flex:none;padding:0;color:var(--accent);font:700 14px/1 var(--ui-label);letter-spacing:.06em}.resume-app a{color:inherit;text-decoration:underline;text-decoration-color:#7cc4ff73;text-underline-offset:3px}.resume-app a:hover{color:#fff;text-decoration-color:var(--ui-blue)}.resume-app a:focus-visible{outline:2px solid var(--ui-blue);outline-offset:3px;border-radius:2px}.resume-profile{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:clamp(28px,4vw,64px);padding-top:clamp(44px,5vw,76px);isolation:isolate}.resume-profile:before{display:none}.resume-profile:after{content:"";position:absolute;z-index:-1;top:-20%;left:-8%;width:68%;height:130%;background:radial-gradient(closest-side,color-mix(in srgb,var(--ui-blue) 15%,transparent),transparent);pointer-events:none}.resume-profile__card{min-width:0}.resume-profile__identity{display:flex;align-items:center;gap:clamp(18px,2.4vw,32px);min-width:0}.resume-avatar{position:relative;display:grid;flex:none;place-items:center;width:clamp(92px,9vw,128px);aspect-ratio:1;padding:3px;overflow:hidden;border-radius:50%;isolation:isolate}.resume-avatar:before{content:"";position:absolute;z-index:-1;inset:-30%;background:conic-gradient(var(--os-accent-grad-a,#06bfff),var(--os-accent-grad-b,#2d73ff),#c7afe5,#e5bc91,var(--os-accent-grad-a,#06bfff))}.resume-avatar span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:radial-gradient(80% 80% at 30% 20%,#2c3a48,#151c23);color:#fff;font:700 clamp(32px,3.2vw,46px)/1 var(--ui-label);letter-spacing:-.05em}.resume-profile__heading{min-width:0}.resume-profile__eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--ui-blue-light);font:600 12px/1 var(--ui-label);letter-spacing:.2em;text-transform:uppercase}.resume-profile__eyebrow:before{content:"";width:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--os-accent-grad-a,#06bfff),var(--os-accent-grad-b,#2d73ff))}.resume-profile h2{font-size:clamp(42px,5.4vw,80px);line-height:.95}.resume-profile__title{margin:12px 0 0;color:var(--ui-blue-light);font:500 clamp(18px,1.8vw,24px)/1.25 var(--ui-font);letter-spacing:-.02em}.resume-profile__tags{display:flex;flex-wrap:wrap;margin:12px 0 0;padding:0;list-style:none;color:var(--ui-muted);font-size:14px}.resume-profile__tags li:not(:last-child):after{content:"·";padding:0 10px;color:var(--ui-faint)}.resume-stats{display:flex;flex-wrap:wrap;gap:22px clamp(26px,3.4vw,52px);margin:40px 0 0}.resume-stats>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:8px;min-width:0;max-width:17ch}.resume-stats dt{color:var(--ui-faint);font:600 10.5px/1.35 var(--ui-label);letter-spacing:.12em;text-transform:uppercase}.resume-stats dd{margin:0;color:var(--ui-text);font:700 clamp(38px,3.8vw,54px)/1 var(--ui-font);letter-spacing:-.05em;font-variant-numeric:tabular-nums}.resume-profile__body{min-width:0;padding-bottom:6px}.resume-profile__summary{max-width:46ch;margin:0;color:var(--ui-soft);font-size:clamp(16px,1.35vw,18px);line-height:1.68;letter-spacing:-.01em}.resume-profile__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin-top:26px}.resume-app .resume-button{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:46px;color:var(--ui-blue-light);font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s var(--ui-ease),color .2s ease}.resume-app .resume-button--primary{padding:0 20px;overflow:hidden;border-radius:12px;background:linear-gradient(90deg,var(--os-accent-grad-a,#06bfff),var(--os-accent-grad-b,#2d73ff));color:#fff;box-shadow:0 12px 26px -14px color-mix(in srgb,var(--ui-blue) 90%,transparent)}.resume-app .resume-button--primary:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translate(-120%);pointer-events:none}.resume-button span{font-size:15px;line-height:1;transition:transform .2s var(--ui-ease)}@media(hover:hover)and (pointer:fine){.resume-app .resume-button:hover{color:#fff}.resume-app .resume-button--primary:hover{transform:translateY(-2px)}.resume-app .resume-button--primary:hover:after{transform:translate(120%);transition:transform .7s var(--ui-ease)}.resume-app .resume-button:hover span{transform:translate(2px,-2px)}}.resume-experience{margin:0;padding:0;list-style:none}.resume-job{--resume-job-progress:0;display:grid;grid-template-columns:minmax(150px,.25fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);min-width:0}.resume-job__period{position:relative;display:flex;flex-direction:column;align-items:flex-start;align-self:start;gap:4px;margin-top:6px;padding:3px 0 0 26px;color:var(--accent);font:600 13px/1.4 var(--ui-label);font-variant-numeric:tabular-nums}.resume-job__period:before{content:"";position:absolute;top:14px;left:5px;width:2px;height:var(--resume-rail-height, calc(100% + 12px) );border-radius:2px;background:#ffffff14}.resume-job:last-child .resume-job__period:before{background:linear-gradient(rgba(255,255,255,.08),transparent)}.resume-job__period:after{content:"";position:absolute;top:14px;left:5px;width:2px;height:var(--resume-rail-height, calc(100% + 12px) );border-radius:2px;background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent) 40%,transparent));transform:scaleY(var(--resume-job-progress));transform-origin:top;pointer-events:none}.resume-job__period small{color:var(--ui-faint);font-size:11px}.resume-job__marker{position:absolute;top:6px;left:0;width:12px;height:12px;border:2px solid var(--accent);border-radius:50%;background:var(--ui-ground)}.resume-job__marker:before{content:"";position:absolute;inset:1px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .25s var(--ui-ease)}.resume-job__marker:after{content:"";position:absolute;inset:-7px;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:40px}.resume-job:not(:last-child) .resume-job__body{margin-bottom:34px;border-bottom:1px solid var(--ui-line)}.resume-job:last-child .resume-job__body{padding-bottom:0}.resume-job__heading{padding-right:40px}.resume-job__heading h3{font-size:clamp(24px,2.4vw,32px)}.resume-job__heading p{margin:8px 0 0;color:color-mix(in srgb,var(--accent) 85%,#fff);font-size:15px;font-weight:600}.resume-job__index{position:absolute;top:6px;right:0;color:var(--ui-faint);font:600 12px/1 var(--ui-label);font-variant-numeric:tabular-nums}.resume-job__index:after{content:"";position:absolute;right:0;bottom:-6px;left:0;height:1px;background:var(--accent);opacity:.7;transform:scaleX(var(--resume-job-progress));transform-origin:left;pointer-events:none}.resume-contributions{display:grid;gap:11px;max-width:78ch;margin:22px 0 26px;padding:0;list-style:none;color:var(--ui-soft);font-size:15px;line-height:1.65}.resume-contributions li{position:relative;padding-left:20px}.resume-contributions li:before{content:"";position:absolute;top:.62em;left:2px;width:6px;height:6px;border-radius:2px;background:var(--accent);transform:rotate(45deg)}.resume-facts{display:grid;gap:14px;min-width:0;margin:0}.resume-job .projects-chapter__fact--used{align-items:center}.resume-tech-context{margin:6px 0 0;color:var(--ui-muted);font-size:12.5px;line-height:1.5}.resume-earlier{max-width:78ch;margin:30px 0 0;color:var(--ui-muted);font-size:14px;line-height:1.6}.resume-skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:40px clamp(28px,3.4vw,52px)}.resume-skills__tier{grid-column:1/-1;margin:0 0 -16px;color:var(--accent);font:600 11px/1 var(--ui-label);letter-spacing:.18em;text-transform:uppercase}.resume-skill{display:flex;flex-direction:column;gap:14px;min-width:0}.resume-skill h3{font-size:19px;font-weight:600;letter-spacing:-.02em}.resume-skill>div{display:flex;flex-direction:column;gap:12px;min-width:0}.resume-skill--projects{grid-column:1/-1;padding-top:30px;border-top:1px solid var(--ui-line)}.resume-skill__details{margin:0}.resume-languages{grid-column:1/-1;margin:0}.resume-language-list{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}.resume-language-list li{color:var(--ui-soft);font-size:14px}.resume-language-list li:not(:last-child):after{content:"·";padding:0 10px;color:var(--ui-faint)}.resume-study{grid-template-columns:minmax(0,1fr)}.resume-study .resume-skill{display:grid;grid-template-columns:minmax(160px,.3fr) minmax(0,1fr);align-items:baseline;gap:clamp(16px,3vw,40px)}.resume-study .resume-skill>p{max-width:70ch;margin:0;color:var(--ui-soft);font-size:15px;line-height:1.65}.resume-education{display:grid;gap:26px}.resume-education__entry{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,40px);min-width:0}.resume-education__entry>div{min-width:0}.resume-education__date{margin:0;color:var(--accent);font:700 clamp(46px,5vw,72px)/1 var(--ui-label);letter-spacing:-.05em;font-variant-numeric:tabular-nums}.resume-education__entry>div>p{margin:8px 0 0;color:var(--ui-muted);font-size:15px}.resume-contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;column-gap:clamp(30px,4.5vw,74px);padding-bottom:clamp(60px,7vw,110px)}.resume-contact .resume-section__heading{margin-bottom:0}.resume-contact__details{display:grid;gap:22px;min-width:0;margin:0}.resume-contact__details .projects-chapter__fact{grid-template-columns:110px minmax(0,1fr)}.resume-contact__details dd{color:var(--ui-text);font-size:clamp(18px,1.7vw,24px);font-weight:600;letter-spacing:-.02em;overflow-wrap:normal;word-break:normal}.resume-tech-list{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;list-style:none}.resume-tech-list li{display:flex;min-width:0}.resume-tech-trigger{display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer}.resume-tech-trigger:focus-visible{outline:2px solid var(--ui-blue);outline-offset:2px}.resume-app .resume-tech-trigger .tech-logo,.resume-app .resume-tech-trigger .tech-logo__picture{display:grid;grid-template-rows:1fr;place-items:center;width:38px;height:38px;background:transparent;outline:none;pointer-events:none}.resume-app .resume-tech-trigger .tech-logo{transition:transform .2s var(--ui-ease)}@media(hover:hover)and (pointer:fine){.resume-app .resume-tech-trigger:hover .tech-logo{transform:translateY(-3px)}}.resume-tech-trigger .tech-logo__mark,.resume-tech-trigger .tech-logo__picture img{width:30px;height:30px}.resume-tech-list--compact .resume-tech-trigger{width:42px;height:42px}.resume-tech-list--compact .tech-logo__mark,.resume-tech-list--compact .tech-logo__picture img{width:25px;height:25px}.resume-tech-tooltip{position:fixed;inset:auto;box-sizing:border-box;width:max-content;max-width:min(280px,calc(100vw - 24px));margin:0;padding:12px 15px;border:1px solid color-mix(in srgb,var(--ui-blue) 35%,transparent);border-radius:12px;background:#212b35;color:#e5ecf1;box-shadow:0 12px 32px #00000080;font:13px/1.5 DM Sans,system-ui,sans-serif;text-align:left;overflow-wrap:anywhere}.resume-tech-tooltip strong{font-weight:600}.resume-tech-tooltip p{margin:5px 0 0;color:#b6c3ce;font-size:12px}@keyframes resume-rise{0%{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}@keyframes resume-rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes resume-avatar-spin{to{transform:rotate(1turn)}}@keyframes resume-timeline-pulse{0%{opacity:.5;transform:scale(.6)}65%,to{opacity:0;transform:scale(1.8)}}.resume-app[data-motion-enabled=true] .resume-section:not([data-revealed=true])>*,.resume-app[data-motion-enabled=true] [data-resume-row]:not([data-revealed=true]){opacity:0}.resume-app[data-motion-enabled=true] .resume-section[data-revealed=true]>*{animation:resume-rise .9s var(--ui-ease) both}.resume-app[data-motion-enabled=true] .resume-section[data-revealed=true]>:nth-child(2){animation-delay:.12s}.resume-app[data-motion-enabled=true] .resume-section[data-revealed=true]>:nth-child(n+3){animation-delay:.22s}.resume-app[data-motion-enabled=true] .resume-section[data-revealed=true]:before{animation:resume-rule-in 1.1s var(--ui-ease) both}.resume-app[data-motion-enabled=true] [data-resume-row][data-revealed=true]{animation:resume-rise .8s var(--ui-ease) both}.resume-app[data-motion-enabled=true] .resume-skill[data-revealed=true]:nth-of-type(3n+2){animation-delay:.08s}.resume-app[data-motion-enabled=true] .resume-skill[data-revealed=true]:nth-of-type(3n){animation-delay:.16s}.resume-avatar:before{animation:resume-avatar-spin 9s linear infinite paused}.resume-job__marker:after{animation:resume-timeline-pulse 3.8s ease-out infinite paused}.resume-app[data-motion-active=true] .resume-avatar:before{animation-play-state:running}.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}.resume-app[data-motion-enabled=false] *,.resume-app[data-motion-enabled=false] *:before,.resume-app[data-motion-enabled=false] *:after,.portfolio-os--no-motion .resume-app *,.portfolio-os--no-motion .resume-app *:before,.portfolio-os--no-motion .resume-app *:after{animation:none!important;transition:none!important}.resume-app[data-motion-enabled=false] .resume-job__period:after,.portfolio-os--no-motion .resume-job__period:after{transform:scaleY(1)}.resume-app[data-motion-enabled=false] .resume-job__index:after,.portfolio-os--no-motion .resume-job__index:after{transform:scaleX(1)}@container resume (max-width:1100px){.resume-profile{grid-template-columns:minmax(0,1fr);align-items:start}.resume-profile__summary{max-width:70ch}}@container resume (max-width:950px){.resume-job{grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:22px}.resume-contact{grid-template-columns:minmax(0,1fr);gap:26px}}@container resume (max-width:600px){.resume-app .projects-toolbar__count{display:none}.resume-section{padding:40px 19px}.resume-section__heading{gap:12px;margin-bottom:26px}.resume-section h2{font-size:clamp(36px,10.5vw,52px)}.resume-profile{padding-top:30px}.resume-profile__identity{flex-direction:column;align-items:flex-start;gap:18px}.resume-avatar{width:84px}.resume-profile h2{font-size:clamp(40px,11.5vw,54px)}.resume-stats{gap:20px 28px;margin-top:28px}.resume-stats dd{font-size:34px}.resume-profile__summary{font-size:16px}.resume-job{grid-template-columns:minmax(0,1fr);gap:12px}.resume-job__period{flex-direction:row;flex-wrap:wrap;align-items:center;gap:5px 12px;margin-top:0;padding:0 0 0 22px;font-size:12px}.resume-job__period:before,.resume-job__period:after,.resume-job:last-child .resume-job__period:before{top:auto;bottom:-7px;left:22px;width:54px;height:2px;background:#ffffff14}.resume-job__period:after{background:var(--accent);transform:scaleX(var(--resume-job-progress));transform-origin:left}.resume-job__marker{top:3px}.resume-job__heading h3{font-size:24px}.resume-contributions{margin:16px 0 20px;font-size:14.5px}.resume-education__entry,.resume-study .resume-skill{grid-template-columns:minmax(0,1fr);gap:10px}.resume-contact__details .projects-chapter__fact{grid-template-columns:minmax(0,1fr);gap:6px}.resume-app[data-motion-enabled=false] .resume-job__period:after,.portfolio-os--no-motion .resume-job__period:after{transform:scaleX(1)}}@container resume (max-width:350px){.resume-section{padding-inline:16px}}@media(prefers-reduced-motion:reduce){.resume-app *,.resume-app *:before,.resume-app *:after{animation:none!important;transition:none!important}.resume-app .resume-section>*,.resume-app [data-resume-row]{opacity:1!important;transform:none!important}.resume-job__period:after{transform:scaleY(1)!important}.resume-job__index:after{transform:scaleX(1)}@container resume (max-width:600px){.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:var(--os-hl-569fcc,#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 var(--os-hl-68b8ea,#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:var(--os-hl-68b5df,#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{visibility:hidden;content-visibility:hidden;pointer-events: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:var(--os-hl-355171,#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:var(--os-hl-366a91,#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:var(--os-hl-365d7c,#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:var(--os-hl-355171,#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:var(--os-hl-294761,#294761);border-color:var(--os-hl-4c7698,#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:var(--os-hl-3a627f,#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:var(--os-hl-3a627f,#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 var(--os-hl-569fcc,#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:var(--os-hl-365d7c,#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:var(--os-hl-569fcc,#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:var(--os-hl-3d8fba,#3d8fba);border-color:var(--os-hl-67b3dc,#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 var(--os-hl-6faed4,#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:var(--os-hl-6398bc,#6398bc)}.discover-card img{width:42px;height:42px}.discover-card strong{font-size:12px}.discover-card span{color:var(--os-hl-83bce0,#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:var(--os-hl-74b7de,#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:var(--os-hl-3a627f,#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:var(--os-hl-365a77,#365a77);border-color:var(--os-hl-4b80a6,#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:var(--os-hl-365a77,#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:var(--os-hl-42617a,#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=preparing]{opacity:0;transform:scale(.8);pointer-events:none}.plasma-window[data-window-phase=opening]{animation:plasma-window-open calc(.2s * var(--plasma-anim,1)) cubic-bezier(.215,.61,.355,1) both}.plasma-window[data-window-phase=closing]{pointer-events:none;animation:plasma-window-close calc(.2s * var(--plasma-anim,1)) 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{animation:plasma-popup-slide calc(.18s * var(--plasma-anim,1)) cubic-bezier(.215,.61,.355,1) both}.dolphin-control-menu,.konsole-menu-popup{animation:plasma-popup-fade calc(.15s * var(--plasma-anim,1)) linear both}@keyframes plasma-popup-slide{0%{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}.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 calc(.2s * var(--plasma-anim,1)) cubic-bezier(.215,.61,.355,1) both}.plasma-sleep-screen{animation:plasma-screen-fade calc(.2s * var(--plasma-anim,1)) 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:var(--os-hl-2e6287,#2e6287);border-color:var(--os-hl-6193b5,#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:var(--os-hl-365a77,#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:var(--os-hl-6da7ca,#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:var(--os-hl-6aa6cd,#6aa6cd);background:var(--os-hl-315774,#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%}}.plasma-wallpaper--next{background:#111927 url(/steamos/wallpaper-next-dark-optimized.webp) center center/cover no-repeat}.plasma-wallpaper--deck{background:#1a1f2b url(/steamos/wallpaper.jpg) center center/cover no-repeat}.plasma-wallpaper--vapor{background:radial-gradient(70% 60% at 18% 22%,rgba(26,159,255,.38),transparent 62%),radial-gradient(60% 70% at 85% 80%,rgba(155,107,223,.32),transparent 60%),radial-gradient(50% 50% at 60% 30%,rgba(63,182,178,.18),transparent 70%),linear-gradient(160deg,#0e1622,#141a2b 55%,#1b1430)}.plasma-wallpaper.is-entering{animation:plasma-wallpaper-in calc(.42s * var(--plasma-anim,1)) ease-out both}@keyframes plasma-wallpaper-in{0%{opacity:0}to{opacity:1}}.plasma-wallpaper,.plasma-desktop{transition:opacity calc(.26s * var(--plasma-anim,1)) ease}.plasma-hot-corner{position:absolute;top:0;left:0;z-index:9100;width:4px;height:4px}.portfolio-os--overview .plasma-wallpaper,.portfolio-os--overview .plasma-desktop{opacity:.32}.portfolio-os--overview .plasma-window{cursor:pointer}.portfolio-os--overview .plasma-window>*{pointer-events:none}.portfolio-os--overview .plasma-window:hover{border-color:var(--os-hl-68b8ea,#68b8ea);box-shadow:0 0 0 3px var(--os-hl-68b8ea,#68b8ea),0 24px 50px #0009}.plasma-overview-caption{position:absolute;z-index:9050;translate:-50% 0;max-width:260px;padding:4px 10px;overflow:hidden;border-radius:4px;background:#141a21db;color:#eff0f1;font-size:12px;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;animation:plasma-popup-slide calc(.24s * var(--plasma-anim,1)) cubic-bezier(.215,.61,.355,1) both}.plasma-overview-hint{position:absolute;top:22px;left:50%;z-index:9050;translate:-50% 0;padding:7px 14px;border-radius:999px;background:#141a21db;color:#aeb7bf;font-size:12px;pointer-events:none;animation:plasma-popup-slide calc(.24s * var(--plasma-anim,1)) cubic-bezier(.215,.61,.355,1) both}.konsole-app{position:relative;container-type:inline-size}.konsole-locomotive-stage{position:absolute;right:0;bottom:0;left:0;top:var(--konsole-chrome,58px);z-index:3;overflow:hidden;background:#151b21;pointer-events:none;animation:konsole-stage calc(5.2s * var(--plasma-anim,1)) linear both}@keyframes konsole-stage{0%,to{opacity:0}3%,97%{opacity:1}}.konsole-locomotive{position:absolute;top:50%;left:100%;margin-top:-90px;color:#eff0f1;font:13px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;pointer-events:none;will-change:transform;animation:konsole-train calc(5.2s * var(--plasma-anim,1)) linear both}.konsole-locomotive pre{margin:0;white-space:pre}.konsole-locomotive__smoke{color:#aeb7bf;animation:konsole-smoke .5s steps(2,end) infinite}.konsole-locomotive__wheels{display:grid}.konsole-locomotive__wheels pre{grid-area:1/1}.konsole-locomotive__wheels pre:last-child{animation:konsole-wheels .24s steps(1,end) infinite}@keyframes konsole-train{0%{transform:translate(0)}to{transform:translate(calc(-100% - 100cqw))}}@keyframes konsole-smoke{50%{opacity:.55}}@keyframes konsole-wheels{50%{opacity:0}}.portfolio-os--no-motion .konsole-locomotive-stage{display:none}.settings-swatches{display:flex;flex-wrap:wrap;gap:9px}.settings-swatch{position:relative;width:30px;height:30px;padding:0;border:2px solid transparent;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #00000040;cursor:pointer;transition:transform .15s ease}.settings-swatch[data-default=true]{background:conic-gradient(#569fcc 0 50%,#3d8fba 0)}.settings-swatch[aria-pressed=true]{border-color:#eff0f1}.settings-swatch:hover{transform:scale(1.1)}.settings-wallpapers{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.settings-wallpaper{display:grid;gap:7px;padding:5px;border:2px solid transparent;border-radius:6px;background:none;color:#eff0f1;font:inherit;text-align:left;cursor:pointer}.settings-wallpaper span:first-child{display:block;aspect-ratio:16/10;border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff1a}.settings-wallpaper[aria-pressed=true]{border-color:var(--os-hl-569fcc,#569fcc);background:#ffffff0a}.settings-wallpaper small{color:#aeb7bf}.settings-speed{display:grid;gap:6px;width:min(330px,100%)}.settings-speed input{width:100%;max-width:none!important;accent-color:var(--os-hl-569fcc,#569fcc)}.settings-speed div{display:flex;justify-content:space-between;color:#aeb7bf;font-size:11px}.settings-row--stacked{flex-direction:column;align-items:stretch;gap:8px;padding:6px 0}.settings-hint{margin:2px 0 0;color:#aeb7bf;font-size:11.5px}@media(prefers-reduced-motion:reduce){.plasma-wallpaper.is-entering,.plasma-overview-caption,.plasma-overview-hint{animation:none}.konsole-locomotive-stage{display:none}}.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}}
