:root{color-scheme:light;--brand: #1f2937;--brand-dark: #111827;--brand-soft: #475569;--brand-accent: #0f766e;--brand-accent-soft: #ecfeff;--bg: #f8fafc;--surface: #ffffff;--surface-soft: #f1f5f9;--text: #111827;--muted: #64748b;--border: #e5e7eb;--shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .06);--btn-primary-text: #ffffff;--control-border-hover: #cbd5e1;--heatmap-empty: #ebedf0;--heatmap-empty-outline: rgba(27, 31, 35, .06);--atmosphere-wash: radial-gradient(90% 70% at 92% 8%, rgba(15, 23, 42, .07), transparent 50%), linear-gradient(180deg, #f8fafc 0%, #eef2f7 48%, #f8fafc 100%);--atmosphere-teal: rgba(15, 118, 110, .3);--atmosphere-grid: rgba(15, 23, 42, .04);--atmosphere-orb-a: rgba(15, 118, 110, .34);--radius-xl: 20px;--radius-lg: 16px;--radius: 12px;--radius-sm: 10px;--font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--display: "Pretendard Variable", Pretendard, system-ui, sans-serif;--max: 1080px;--pad-x: clamp(20px, 4vw, 40px);--topbar-bg: color-mix(in srgb, var(--bg) 38%, transparent);--overlay-backdrop-color: rgba(15, 23, 42, .32);--overlay-backdrop-blur: 8px;--toast-text: #ffffff;--toast-close: rgba(255, 255, 255, .72);--toast-close-hover: #ffffff;--toast-info-bg: rgba(17, 24, 39, .94);--toast-info-shadow: 0 12px 32px rgba(15, 23, 42, .2)}[data-theme=dark]{color-scheme:dark;--brand: #e5e7eb;--brand-dark: #f9fafb;--brand-soft: #9ca3af;--brand-accent: #2dd4bf;--brand-accent-soft: rgba(45, 212, 191, .12);--bg: #0b0f14;--surface: #111827;--surface-soft: #1f2937;--text: #f9fafb;--muted: #9ca3af;--border: #2f3540;--shadow: 0 1px 2px rgba(0, 0, 0, .24), 0 12px 32px rgba(0, 0, 0, .32);--btn-primary-text: #111827;--control-border-hover: #475569;--heatmap-empty: #21262d;--heatmap-empty-outline: rgba(255, 255, 255, .06);--atmosphere-wash: radial-gradient(90% 70% at 92% 8%, rgba(148, 163, 184, .08), transparent 50%), linear-gradient(180deg, #0b0f14 0%, #111827 48%, #0b0f14 100%);--atmosphere-teal: rgba(45, 212, 191, .32);--atmosphere-grid: rgba(255, 255, 255, .04);--atmosphere-orb-a: rgba(45, 212, 191, .36);--topbar-bg: color-mix(in srgb, var(--bg) 38%, transparent);--overlay-backdrop-color: rgba(0, 0, 0, .48);--overlay-backdrop-blur: 8px;--toast-info-bg: rgba(39, 48, 60, .98);--toast-info-shadow: 0 12px 32px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}html.is-loading-splash{overflow:hidden}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font);font-feature-settings:"ss01" on,"cv01" on;background:transparent;color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.page-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:center;background:var(--bg)}.page-splash[hidden]{display:none}.page-splash__inner{display:flex;flex-direction:column;align-items:center}.page-splash__label{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.5}.spinner-ring{--spinner-ring: 3.5px;width:40px;height:40px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 45deg,var(--muted) 110deg,var(--brand-soft) 200deg,var(--text) 290deg,transparent 340deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-ring)),#000 calc(100% - var(--spinner-ring) + .5px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-ring)),#000 calc(100% - var(--spinner-ring) + .5px));animation:spinner-spin .85s linear infinite;flex-shrink:0}.spinner-ring--md{width:40px;height:40px;margin:0 auto 12px;--spinner-ring: 3.5px}@keyframes spinner-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner-ring{animation:none}}a{color:inherit;text-decoration:none}.atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.atmosphere__wash{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--atmosphere-wash)}.atmosphere__teal{position:absolute;top:0;left:0;width:min(58vw,520px);height:min(58vw,520px);will-change:transform}.atmosphere__teal:before,.atmosphere__orb--a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.atmosphere__teal:before{background:radial-gradient(circle,var(--atmosphere-teal),transparent 64%);animation:atmosphere-breathe 7.5s ease-in-out infinite}.atmosphere__grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:linear-gradient(var(--atmosphere-grid) 1px,transparent 1px),linear-gradient(90deg,var(--atmosphere-grid) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 72%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 72%)}.atmosphere__orb{position:absolute;border-radius:50%;filter:blur(40px);will-change:transform}.atmosphere__orb--a{top:0;left:0;width:min(32vw,280px);height:min(32vw,280px);filter:blur(24px)}.atmosphere__orb--a:before{background:radial-gradient(circle,var(--atmosphere-orb-a),transparent 70%);animation:atmosphere-breathe 9.5s ease-in-out infinite;animation-delay:-3.2s}@keyframes atmosphere-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.055);opacity:.82}}@media(prefers-reduced-motion:reduce){.atmosphere__teal:before,.atmosphere__orb--a:before{animation:none}}.reduce-motion .atmosphere__teal:before,.reduce-motion .atmosphere__orb--a:before{animation:none}.topbar,main,.footer{position:relative;z-index:1}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:62;width:100%;max-width:var(--max);margin:0 auto;min-height:56px;padding:calc(14px + env(safe-area-inset-top,0px)) max(var(--pad-x),env(safe-area-inset-right,0px)) 14px max(var(--pad-x),env(safe-area-inset-left,0px));background:transparent;transition:top .52s cubic-bezier(.4,0,.2,1)}.topbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:50%;width:100vw;transform:translate(-50%);background:var(--topbar-bg);backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25);box-shadow:0 1px color-mix(in srgb,var(--border) 28%,transparent);z-index:0;pointer-events:none}.topbar>*{position:relative;z-index:1}.topbar--collapsed{top:calc(-1 * var(--topbar-shift, 80px));pointer-events:none}.topbar__brand{display:inline-flex;align-items:center;gap:8px;font-weight:780;font-size:1.05rem;letter-spacing:-.03em;line-height:1;color:var(--brand-dark)}.topbar__brand-mark{width:26px;height:26px;flex-shrink:0;display:block}.topbar__brand-mark rect{fill:#111827;stroke:none}.topbar__brand-mark-t{fill:none;stroke:#f9fafb;stroke-width:2.55;stroke-linecap:round;stroke-linejoin:round}.topbar__brand-mark-dot{fill:#0f766e}.topbar__brand-text{transform:translateY(.5px)}.topbar__end{display:flex;align-items:center;gap:16px}.topbar__menu-btn,.topbar__nav-close{display:none}.topbar__nav{display:flex;align-items:center;gap:18px;font-size:.9rem;font-weight:600;line-height:1;color:var(--muted)}.topbar__nav a{display:inline-flex;align-items:center;gap:8px;transition:color .18s ease}.topbar__nav a:hover{color:var(--text)}.topbar__nav-icon,.topbar__scrim{display:none}.hero{max-width:var(--max);margin:0 auto;padding:clamp(40px,8vh,72px) var(--pad-x) 12px;display:grid;align-content:start;gap:0}.hero__brand{margin:0 0 14px;font-family:var(--display);font-size:clamp(2.8rem,9vw,5.4rem);font-weight:820;letter-spacing:-.055em;line-height:.95;color:var(--brand-dark);animation:rise .9s cubic-bezier(.22,1,.36,1) both}.hero__headline{margin:0;max-width:none;white-space:nowrap;font-size:clamp(1.1rem,2.8vw,1.85rem);font-weight:650;letter-spacing:-.03em;line-height:1.25;color:var(--brand);animation:rise .9s cubic-bezier(.22,1,.36,1) .08s both}.hero__lede{margin:14px 0 0;max-width:36rem;font-size:1.02rem;color:var(--muted);animation:rise .9s cubic-bezier(.22,1,.36,1) .14s both}.hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;animation:rise .9s cubic-bezier(.22,1,.36,1) .2s both}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:var(--radius);font-size:.95rem;font-weight:650;border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.btn--primary{background:var(--brand-dark);color:var(--btn-primary-text);border-color:var(--brand-dark)}.btn--primary:hover{background:var(--brand);border-color:var(--brand)}.btn--ghost{background:color-mix(in srgb,var(--surface) 72%,transparent);border-color:var(--border);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn--ghost:hover{background:var(--surface);border-color:var(--control-border-hover)}.btn:active{transform:scale(.98)}.layout{--profile-col: 280px;--profile-scale: 1;--profile-gap-scale: 1;--profile-fade: 1;--profile-blur: 0px;max-width:var(--max);margin:0 auto;padding:clamp(40px,7vh,72px) var(--pad-x) 0;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:clamp(28px,4vw,48px);align-items:start}@media(min-width:861px){.layout{grid-template-columns:minmax(0,var(--profile-col)) minmax(0,1fr);gap:calc(clamp(28px,4vw,48px) * var(--profile-gap-scale))}.layout .profile{overflow:hidden}.layout .profile__dock{width:280px;transform:scale(var(--profile-scale));transform-origin:top left;opacity:var(--profile-fade);filter:blur(var(--profile-blur));will-change:transform,opacity,filter}.layout--profile-gone .profile{visibility:hidden;pointer-events:none}}.layout__main{min-width:0}.layout__main .section{max-width:none;margin:0;padding:0 0 clamp(48px,8vh,80px)}.layout__main .section:last-child{padding-bottom:clamp(56px,8vh,88px)}.section{max-width:var(--max);margin:0 auto;padding:clamp(56px,10vh,96px) var(--pad-x) 0;opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.section.is-in,.reduce-motion .section,#work.section,#projects.section{opacity:1;transform:none}#work .section__head,#projects .section__head{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),margin-bottom .32s ease}#work.is-in .section__head,#projects.is-in .section__head,.reduce-motion #work .section__head,.reduce-motion #projects .section__head{opacity:1;transform:none}.section__head{margin-bottom:28px;max-width:none;width:100%;transition:margin-bottom .32s ease}.section[data-section-collapsible] .section__head{margin-bottom:0}.section__head h2,.section__title{margin:0;display:flex;align-items:center;gap:10px;width:100%;font-size:clamp(1.5rem,3vw,1.85rem);font-weight:750;letter-spacing:-.035em;line-height:1.15}.section__title--collapsible{padding:4px 0 14px;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.section__title--collapsible:focus{outline:none}.section__title--collapsible:focus-visible{outline:2px solid var(--brand-soft);outline-offset:2px;border-radius:4px}.section__toggle{margin-left:auto;flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);transition:color .15s ease;pointer-events:none}.section__title--collapsible:hover .section__toggle{color:var(--text)}.section__toggle-icon{width:18px;height:18px;transition:transform .32s ease}.section.is-collapsed .section__toggle-icon{transform:rotate(-90deg)}.section__panel{display:grid;grid-template-rows:1fr;transition:grid-template-rows .32s ease}.section__panel-inner{overflow:hidden;opacity:1;transition:opacity .24s ease}.section.is-collapsed .section__panel{grid-template-rows:0fr}.section.is-collapsed .section__panel-inner{min-height:0;opacity:0}@media(prefers-reduced-motion:reduce){.section__panel,.section__panel-inner,.section__toggle-icon,.section__head{transition:none}}.section__icon{width:1.05em;height:1.05em;flex-shrink:0;color:currentColor}.section__head p,.section__panel-inner>p,.section__panel-inner>.exp-lede{margin:8px 0 0;color:var(--muted);font-size:.98rem}.section__panel-inner>.exp-list,.section__panel-inner>.career-list,.section__panel-inner>.projects-list{margin-top:28px}.exp-lede{display:flex;flex-direction:column;gap:2px;line-height:1.35}.exp-lede [data-experience-company]{color:var(--muted);font-weight:600}.exp-lede [data-experience-duration]{color:var(--muted);font-size:.92em}.exp-lede__basis{color:var(--muted);font-size:.78em}.exp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}.exp-item{opacity:0;transform:translateY(14px);transition:opacity .65s cubic-bezier(.22,1,.36,1) var(--stagger, 0ms),transform .65s cubic-bezier(.22,1,.36,1) var(--stagger, 0ms)}.exp-item.is-in,.reduce-motion .exp-item{opacity:1;transform:none}.exp-item__row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start}.exp-item__logo{width:48px;height:48px;border-radius:10px;border:1px solid #e5e7eb;background:color-mix(in srgb,#ffffff 92%,transparent);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.exp-item__logo img{width:100%;height:100%;padding:5px;box-sizing:border-box;object-fit:contain;display:block}.exp-item__logo--placeholder{font-size:.95rem;font-weight:720;color:var(--muted);letter-spacing:-.02em}.exp-item__body{min-width:0}.exp-item__company-head{margin-bottom:8px}.exp-item__company{margin:0;font-size:1.05rem;font-weight:720;letter-spacing:-.03em}.company-crosslink{color:inherit;text-decoration:none;cursor:pointer;transition:color .15s ease}.company-crosslink:hover{color:var(--brand-dark);text-decoration:underline dotted;text-underline-offset:.32em;text-decoration-thickness:1px}.company-crosslink:focus{outline:none}.company-crosslink:focus-visible{outline:2px solid var(--brand-soft);outline-offset:2px;border-radius:2px}[id^=experience-],[id^=work-]{scroll-margin-top:24px}.exp-item__tenure{margin:2px 0 0;font-size:.86rem;color:var(--muted)}.exp-item__roles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.exp-item__role{position:relative;padding-left:14px}.exp-item__role:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--brand-soft) 70%,#94a3b8)}.exp-item__roles .exp-item__role+.exp-item__role:after{content:"";position:absolute;left:2.5px;top:calc(-12px + .55em);bottom:calc(100% - .55em);width:1px;background:var(--border)}.exp-item__title{margin:0;font-size:.98rem;font-weight:650;letter-spacing:-.02em}.exp-item__type,.exp-item__gpa{margin:2px 0 0;font-size:.86rem;color:var(--muted)}.exp-item__gpa{font-variant-numeric:tabular-nums}.exp-item__dates{margin:2px 0 0;font-size:.86rem;color:var(--muted);font-variant-numeric:tabular-nums}.career-list{display:flex;flex-direction:column;gap:28px}.projects-list{display:flex;flex-direction:column;gap:20px}.career-company{opacity:1;transform:none}.career-company__head{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:14px;align-items:start;margin-bottom:14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:margin-bottom .32s ease}.career-company__head:focus{outline:none}.career-company__head:focus-visible{outline:2px solid var(--brand-soft);outline-offset:2px;border-radius:4px}.career-company__toggle{width:28px;height:28px;margin-top:2px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);pointer-events:none;transition:color .15s ease}.career-company__head:hover .career-company__toggle{color:var(--text)}.career-company__toggle-icon{width:18px;height:18px;transition:transform .32s ease}.career-company.is-collapsed .career-company__toggle-icon{transform:rotate(-90deg)}.career-company__panel{display:grid;grid-template-rows:1fr;transition:grid-template-rows .32s ease}.career-company__panel-inner{overflow:hidden}.career-company.is-collapsed .career-company__panel{grid-template-rows:0fr}.career-company.is-collapsed .career-company__panel-inner{min-height:0}.career-company.is-collapsed .career-company__head{margin-bottom:0}@media(prefers-reduced-motion:reduce){.career-company__panel,.career-company__panel-inner,.career-company__toggle-icon,.career-company__head{transition:none}}.career-company__logo{width:48px;height:48px;padding:5px;border-radius:10px;border:1px solid #e5e7eb;background:color-mix(in srgb,#ffffff 92%,transparent);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.career-company__logo img{width:100%;height:100%;object-fit:contain;display:block}.career-company__logo--fallback{font-size:1.05rem;font-weight:720;color:var(--muted);letter-spacing:-.02em}.career-company__name{margin:0;font-size:1.12rem;font-weight:720;letter-spacing:-.03em}.career-company__name .company-crosslink{font:inherit}.career-company__team{margin:4px 0 0;font-size:.88rem;color:var(--muted)}.career-company__blurb{position:relative;margin:8px 0 0;padding-left:14px}.career-company__blurb:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--brand-soft) 70%,#94a3b8)}.career-company__summary{margin:0;font-size:.95rem;line-height:1.45;color:var(--text)}.career-company__leave{margin:2px 0 0;font-size:.82rem;color:var(--muted);opacity:.85}.career-company__analysis{grid-column:2 / 3;margin-top:8px;min-width:0}.career-company__analysis-error{margin:6px 0 0;font-size:.78rem;line-height:1.4;color:color-mix(in srgb,#dc2626 78%,var(--text))}.career-company__projects{display:flex;flex-direction:column;gap:20px}.career-project{--career-project-radius: 22px;position:relative;display:flex;flex-direction:column;min-width:0;padding:18px;border:0;border-radius:var(--career-project-radius);background:transparent}.career-project>:not(.career-project__frost){position:relative;z-index:1}.career-project__frost{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;overflow:hidden;pointer-events:none}.career-project__frost:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(155deg,color-mix(in srgb,#ffffff 22%,transparent),color-mix(in srgb,#ffffff 5%,transparent) 40%,color-mix(in srgb,var(--surface) 12%,transparent) 72%,color-mix(in srgb,var(--surface) 22%,transparent));backdrop-filter:blur(40px) saturate(1.85) brightness(1.06);-webkit-backdrop-filter:blur(40px) saturate(1.85) brightness(1.06);-webkit-mask-image:-webkit-radial-gradient(#fff,#fff);mask-image:radial-gradient(#fff,#fff);clip-path:inset(0 round var(--career-project-radius));-webkit-clip-path:inset(0 round var(--career-project-radius))}.career-project:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(155deg,color-mix(in srgb,#ffffff 88%,transparent),color-mix(in srgb,#ffffff 18%,transparent) 36%,color-mix(in srgb,#ffffff 8%,transparent) 58%,color-mix(in srgb,#ffffff 48%,transparent));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}[data-theme=dark] .career-project__frost:before{background:linear-gradient(155deg,color-mix(in srgb,#ffffff 16%,transparent),color-mix(in srgb,var(--surface) 18%,transparent) 40%,color-mix(in srgb,var(--surface) 32%,transparent))}[data-theme=dark] .career-project:after{background:linear-gradient(155deg,color-mix(in srgb,#ffffff 42%,transparent),color-mix(in srgb,#ffffff 8%,transparent) 38%,color-mix(in srgb,#ffffff 4%,transparent) 60%,color-mix(in srgb,#ffffff 20%,transparent))}@media(prefers-reduced-transparency:reduce){.career-project,[data-theme=dark] .career-project{background:var(--surface);border:1px solid var(--border);box-shadow:none}.career-project__frost{display:none}.career-project:after{content:none}}.career-project[data-status=failed]:after{background:linear-gradient(155deg,color-mix(in srgb,#fecaca 80%,transparent),color-mix(in srgb,#dc2626 28%,transparent))}.career-project__top{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.career-project__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.career-project__year{font-size:.78rem;font-weight:650;color:var(--brand-accent);font-variant-numeric:tabular-nums}.career-project__heading{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;width:100%}.career-project__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1;min-width:0}.career-project__title{margin:0;flex:1;min-width:0;text-align:left;font-size:1.02rem;font-weight:700;letter-spacing:-.02em;line-height:1.35}.career-project__title-row .career-project__title{flex:0 1 auto}.career-project__badge{flex-shrink:0;font-size:.72rem;font-weight:650;line-height:1;padding:4px 8px;border-radius:999px;color:var(--brand-accent);background:var(--brand-accent-soft);border:1px solid color-mix(in srgb,var(--brand-accent) 35%,transparent)}.career-project__run{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0 0 0 auto;padding:0;border:0;border-radius:8px;color:var(--btn-primary-text);background:var(--brand-accent);cursor:pointer;-webkit-tap-highlight-color:transparent}.career-project__run:hover{filter:brightness(1.08)}.career-project__run:active{transform:scale(.94)}.career-project__run:focus{outline:none}.career-project__run:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.career-project__run svg{display:block;width:20px;height:20px;margin-left:1px;fill:currentColor}.career-project__equipment,.career-project__note{margin:8px 0 0;font-size:.86rem;color:var(--muted)}.career-stack{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.career-stack li{font-size:.74rem;font-weight:600;padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--muted)}.career-stack li.is-noted{cursor:pointer}.career-stack li.is-noted:hover,.career-stack li.is-noted:focus-visible{border-color:color-mix(in srgb,var(--brand-accent) 55%,var(--border));color:var(--text)}.career-duties{margin:12px 0 0;padding:0 0 0 1.1em;display:flex;flex-direction:column;gap:5px;color:var(--text);font-size:.92rem;line-height:1.45}.career-project__error{margin:12px 0 0;padding:9px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,#dc2626 9%,transparent);color:color-mix(in srgb,#dc2626 78%,var(--text));font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.career-project__progress{margin-top:14px;padding-top:11px;border-top:1px solid var(--border)}.career-project__status{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px;color:var(--muted);font-size:.78rem;font-weight:650;font-variant-numeric:tabular-nums}.career-project__status span:first-child{min-width:0;overflow-wrap:anywhere}.career-project__status span:last-child{flex-shrink:0}.career-project__progressbar{height:6px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.career-project__progressbar>span{display:block;height:100%;border-radius:inherit;background:var(--brand-accent);transition:width .25s ease}.career-project[data-status=failed] .career-project__progressbar>span{background:#dc2626}.projects-state{min-width:0;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}.projects-state--error{border-color:color-mix(in srgb,#dc2626 35%,var(--border));color:color-mix(in srgb,#dc2626 72%,var(--text))}.career-project__groups{display:flex;flex-direction:column;gap:14px;margin-top:12px}.career-group__title{margin:0;font-size:1.02rem;font-weight:700;letter-spacing:-.02em;line-height:1.35}.profile{position:sticky;top:24px;max-width:none;min-width:0;width:100%;margin:0;padding:0;display:flex;flex-direction:column;align-items:stretch}.profile__dock{display:flex;flex-direction:column;align-items:inherit;min-width:0;width:100%}.profile__photo{width:100%;max-width:220px;aspect-ratio:1;margin-bottom:16px;overflow:hidden;border-radius:50%;border:1px solid var(--border);background:#fcfcfe;box-shadow:0 1px 2px #0f172a0f}[data-theme=dark] .profile__photo{background:#fcfcfc}.profile__avatar{display:block;width:100%;height:100%;object-fit:cover;object-position:center 18%;transform:scale(.9) translateY(8%);transform-origin:center center;border-radius:0;border:0;background:transparent;box-shadow:none}.profile__name{display:flex;align-items:center;gap:8px;margin:0;font-size:1.45rem;font-weight:780;letter-spacing:-.035em;line-height:1.2;color:var(--brand-dark)}.profile__meta-icon{width:1em;height:1em;flex-shrink:0;color:currentColor;opacity:.72}.profile__handle[hidden]{display:none}.profile__handle{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;margin:8px 0 0;font-size:.84rem;font-weight:650;color:var(--brand);letter-spacing:-.01em}.profile__langs{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.profile__langs li{padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);font-size:.84rem;font-weight:650;color:var(--brand)}.profile__langs li.is-noted{cursor:pointer}.profile__langs li.is-noted:hover,.profile__langs li.is-noted:focus-visible{border-color:color-mix(in srgb,var(--brand-accent) 55%,var(--border))}.profile__socials{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.profile__social{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:50%;background:color-mix(in srgb,var(--surface) 88%,transparent);overflow:hidden;transition:transform .18s ease,border-color .18s ease}.profile__social:hover{border-color:var(--control-border-hover);transform:translateY(-1px)}.profile__social:active{transform:scale(.96)}.profile__social img{width:18px;height:18px;object-fit:contain;display:block}[data-theme=dark] .profile__social-icon--mono{filter:invert(1)}.heatmap{width:100%;max-width:100%;min-width:0;margin-top:20px}.heatmap__head{margin-bottom:10px}.heatmap__title{width:100%;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.84rem;font-weight:650;letter-spacing:-.02em;white-space:nowrap}.heatmap__title:before,.heatmap__title:after{content:"";flex:1 1 auto;height:1px;background:var(--border)}.heatmap__info{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.15em;height:1.15em;margin:0;padding:0;border:0;background:none;color:inherit;opacity:.78;cursor:pointer;-webkit-tap-highlight-color:transparent}.heatmap__info svg{display:block;width:100%;height:100%}.heatmap__info:hover,.heatmap__info:focus-visible{opacity:1}.heatmap__info:focus{outline:none}.heatmap__info:focus-visible{outline:2px solid var(--brand-soft);outline-offset:2px;border-radius:50%}.heatmap__scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px;-webkit-overflow-scrolling:touch}.heatmap__board{--heatmap-cell: 10px;--heatmap-gap: 3px;--heatmap-day-col: 28px;display:grid;grid-template-columns:var(--heatmap-day-col) max-content;grid-template-rows:16px max-content;column-gap:4px;row-gap:4px;width:max-content;align-items:start}.heatmap__corner{grid-column:1;grid-row:1}.vch__months__labels__wrapper{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(var(--heatmap-weeks, 53),var(--heatmap-cell));gap:var(--heatmap-gap);height:16px;align-items:end}.vch__months__label{font-size:.68rem;line-height:1;color:var(--muted);white-space:nowrap;overflow:visible}.vch__days__labels__wrapper{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(7,var(--heatmap-cell));gap:var(--heatmap-gap);align-items:center;justify-items:end;padding-right:2px}.vch__days__label{font-size:.68rem;line-height:1;color:var(--muted);height:var(--heatmap-cell);display:flex;align-items:center}.heatmap__grid{grid-column:2;grid-row:2;display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--heatmap-gap)}.heatmap__week{display:grid;grid-template-rows:repeat(7,var(--heatmap-cell));gap:var(--heatmap-gap)}.heatmap__cell{width:10px;height:10px;border-radius:2px;background:var(--heatmap-empty);outline:1px solid var(--heatmap-empty-outline);cursor:pointer}.heatmap__cell[data-level="1"]{background:#9be9a8}.heatmap__cell[data-level="2"]{background:#40c463}.heatmap__cell[data-level="3"]{background:#30a14e}.heatmap__cell[data-level="4"]{background:#216e39}.heatmap__cell[data-future="1"]{opacity:.35}.heatmap__cell:hover,.heatmap__cell:active{position:relative;z-index:1;outline:1px solid var(--text)}.heatmap__tip{position:fixed;z-index:50;transform:none;padding:6px 9px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.72rem;font-weight:400;letter-spacing:-.01em;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px color-mix(in srgb,#000 16%,transparent)}.heatmap__tip[hidden]{display:none}.heatmap__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;flex-wrap:wrap}.heatmap__hint{font-size:.72rem;color:var(--muted)}.heatmap__legend{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;color:var(--muted)}.heatmap__legend i{display:block;width:10px;height:10px;border-radius:2px;background:var(--heatmap-empty);outline:1px solid var(--heatmap-empty-outline)}.heatmap__legend i[data-level="1"]{background:#9be9a8}.heatmap__legend i[data-level="2"]{background:#40c463}.heatmap__legend i[data-level="3"]{background:#30a14e}.heatmap__legend i[data-level="4"]{background:#216e39}.heatmap[data-state=error] .heatmap__board{opacity:.45}.footer{margin-top:clamp(40px,8vh,72px);padding:0 max(0px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(0px,env(safe-area-inset-left,0px));color:var(--text)}.footer__frame{max-width:var(--max);margin:0 auto;padding:clamp(22px,3.5vw,36px) max(clamp(22px,3.5vw,36px),env(safe-area-inset-right,0px)) clamp(22px,3.5vw,36px) max(clamp(22px,3.5vw,36px),env(safe-area-inset-left,0px));border-top:1px solid var(--border);font-family:var(--font);font-size:12px;line-height:1.55;letter-spacing:.02em}.footer__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,40px)}.footer__col{min-width:0;display:flex;flex-direction:column;gap:4px}.footer__label{margin:0 0 8px;font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.footer__line{margin:0;color:var(--muted);text-decoration:none;word-break:break-word}.footer__langs{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer__lang{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin:0;padding:0;background:transparent;color:var(--muted);font:inherit;text-align:left;cursor:pointer}.footer__lang:hover,.footer__lang.is-active{color:var(--brand-dark)}.footer__bar{grid-column:1 / -1;display:flex;align-items:center}.footer__rights{margin:0;color:var(--muted)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.reduce-motion .hero__brand,.reduce-motion .hero__headline,.reduce-motion .hero__lede,.reduce-motion .hero__actions{animation:none;opacity:1;transform:none}@media(max-width:860px){.layout{grid-template-columns:minmax(0,1fr);gap:36px;overflow-x:clip}.profile{position:static;align-items:center;text-align:center;max-width:100%;min-width:0}.profile__photo{max-width:168px}.profile__name,.profile__handle{justify-content:center}.profile__handle{align-self:center}.profile__langs,.profile__socials{justify-content:center}.heatmap__scroll{touch-action:pan-x}}@media(max-width:640px){.section,[id^=experience-],[id^=work-]{scroll-margin-top:calc(72px + env(safe-area-inset-top,0px))}.topbar__menu-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;position:relative;z-index:64;-webkit-tap-highlight-color:transparent}.topbar__menu-btn:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.topbar__menu-btn:active{color:var(--text);background:color-mix(in srgb,var(--text) 10%,transparent)}.topbar__menu-btn:focus{outline:none}.topbar__menu-btn:focus-visible{outline:2px solid var(--brand-soft);outline-offset:2px}.topbar__menu-icon{position:relative;width:18px;height:14px;display:block}.topbar__menu-icon span{position:absolute;left:0;width:100%;height:1.8px;border-radius:99px;background:currentColor;transition:transform .22s ease,opacity .18s ease,top .22s ease}.topbar__menu-icon span:nth-child(1){top:0}.topbar__menu-icon span:nth-child(2){top:6px}.topbar__menu-icon span:nth-child(3){top:12px}.topbar__menu-icon--close span:nth-child(1),body.is-nav-open .topbar__menu-icon span:nth-child(1){top:6px;transform:rotate(45deg)}.topbar__menu-icon--close span:nth-child(2),body.is-nav-open .topbar__menu-icon span:nth-child(2){opacity:0}.topbar__menu-icon--close span:nth-child(3),body.is-nav-open .topbar__menu-icon span:nth-child(3){top:6px;transform:rotate(-45deg)}.topbar__nav-close{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:max(var(--pad-x),env(safe-area-inset-right,0px));z-index:1;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.topbar__nav-close:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.topbar__nav-close:focus{outline:none}.topbar__nav-close:focus-visible{outline:2px solid var(--brand-soft);outline-offset:2px}.topbar__nav{position:fixed;top:0;right:0;z-index:63;width:min(280px,82vw);height:100dvh;margin:0;padding:calc(72px + env(safe-area-inset-top,0px)) max(28px,env(safe-area-inset-right,0px)) max(28px,env(safe-area-inset-bottom,0px)) 28px;display:flex;flex-direction:column;align-items:flex-start;gap:0;background:var(--surface);isolation:isolate;border-left:1px solid var(--border);box-shadow:var(--shadow);font-size:1.05rem;line-height:1.2;color:var(--text);transform:translate(100%);transition:transform .28s ease;pointer-events:none}.topbar__nav a{gap:10px;width:100%;padding:12px 0;color:var(--text);border-bottom:1px solid var(--border)}.topbar__nav a:last-child{border-bottom:0}.topbar__nav-icon{display:block;width:1.05em;height:1.05em;flex-shrink:0;color:currentColor}body.is-nav-open .topbar,body.is-nav-closing .topbar{z-index:auto;backdrop-filter:none;-webkit-backdrop-filter:none}body.is-nav-open .topbar__end>.topbar__menu-btn,body.is-nav-closing .topbar__end>.topbar__menu-btn{visibility:hidden}body.is-nav-open .topbar__nav{transform:translate(0);pointer-events:auto}.topbar__scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;width:100%;height:100%;margin:0;padding:0;border:0;background:var(--overlay-backdrop-color);backdrop-filter:blur(var(--overlay-backdrop-blur));-webkit-backdrop-filter:blur(var(--overlay-backdrop-blur));opacity:0;pointer-events:none;cursor:pointer;transition:opacity .28s ease}body.is-nav-open .topbar__scrim{opacity:1;pointer-events:auto}.hero{min-height:auto;padding-top:40px}.career-project{padding:14px}.career-project__heading{gap:8px}.career-project__title{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){.topbar{transition:none}}@media(max-width:640px)and (prefers-reduced-motion:reduce){.topbar__nav,.topbar__scrim,.topbar__menu-icon span{transition:none}}.info-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:transparent;overscroll-behavior:none}.info-modal-overlay[hidden]{display:none}.overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a52;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=dark] .overlay-backdrop{background:#0000007a}.info-modal{position:relative;z-index:1;width:min(100%,460px);max-height:min(86dvh,760px);overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);animation:fs-modal-in .3s ease-out}.info-modal--demo{width:min(100%,1080px);height:min(90dvh,820px);max-height:100%;min-height:0}.info-modal__header{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.info-modal__title{flex:1 1 auto;min-width:0;margin:0;font-size:1.125rem;font-weight:700;color:var(--text)}.info-modal__close{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 0 0 auto;padding:0;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.info-modal__close:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.info-modal__close-icon{width:1rem;height:1rem;display:block}.info-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 20px}.info-modal__footer{flex-shrink:0;padding:10px 20px 16px;border-top:1px solid var(--border)}.info-modal__footer:has(>.info-modal__footer-empty){padding-top:0}.info-modal__footer-empty{display:block;height:0}.info-modal__body--demo{display:flex;flex-direction:column;overflow:hidden;-webkit-overflow-scrolling:auto;touch-action:none}.demo-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;border-radius:8px;touch-action:none}.demo-device{position:absolute;top:0;right:0;bottom:0;left:0}.demo-device__skin{display:none}.demo-device__screen{position:absolute;top:0;right:0;bottom:0;left:0}.info-modal__frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:block;width:100%;height:100%;border:0;background:var(--bg);touch-action:none;pointer-events:none}.info-modal__body--demo.is-live .info-modal__frame{z-index:2;pointer-events:auto;animation:demo-frame-in .55s ease}.info-modal__body--demo.is-android.is-live .demo-stage{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;container-type:size}.info-modal__body--demo.is-android.is-live .demo-device{position:relative;inset:auto;width:min(100cqw,calc(100cqh * 210 / 436.403));height:auto;aspect-ratio:210 / 436.403;max-width:100%;max-height:100%;background:transparent;box-shadow:none;container-type:inline-size}.info-modal__body--demo.is-android.is-live .demo-device__screen{position:absolute;z-index:2;inset:calc(15.328 / 436.403 * 100%) calc(8.901 / 210 * 100%);overflow:hidden;isolation:isolate;border-radius:calc(24.1 / 192.198 * 100%) / calc(24.1 / 405.748 * 100%);clip-path:inset(0 round calc(24.1 / 192.198 * 100%) / calc(24.1 / 405.748 * 100%));background:#000}.info-modal__body--demo.is-android.is-live .demo-device__skin{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.info-modal__body--demo.is-android.is-live .info-modal__frame{overflow:hidden;border-radius:inherit;clip-path:inset(0 round calc(24.1 / 192.198 * 100%) / calc(24.1 / 405.748 * 100%));background:#000}.demo-build{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:auto;padding:12px 14px;background:#1e1e1e;color:#ececec;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.45;-webkit-overflow-scrolling:touch;opacity:1;transition:opacity .55s ease;pointer-events:auto}.info-modal__body--demo.is-live .demo-build{opacity:0;visibility:hidden;pointer-events:none;display:none}.demo-build__log{min-height:100%}.demo-build__line{position:relative;white-space:pre-wrap;word-break:break-all}.demo-build__line--cmd{color:#e2e8f0}.demo-build__line--ok{margin-top:10px;color:#34d399;font-weight:700;letter-spacing:.04em}.demo-build__line--fail{margin-top:10px;color:#f87171;font-weight:700;letter-spacing:.04em}.demo-build__line--muted{color:#64748b}.demo-build__cursor,.demo-build__stream-caret{display:inline;position:relative}.demo-build__cursor:before,.demo-build__stream-caret:before{content:"";position:absolute;left:1px;top:.12em;width:.5em;height:1em;background:#ececec;animation:demo-build-blink 1s step-end infinite}@keyframes demo-build-blink{50%{opacity:0}}@keyframes demo-frame-in{0%{opacity:0}to{opacity:1}}@keyframes fs-modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fs-modal-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.98)}}.info-modal-overlay--closing .info-modal{animation:fs-modal-out .2s ease-in forwards}.info-modal-overlay--closing .info-modal-overlay__backdrop{opacity:0;transition:opacity .2s ease-in}@media(prefers-reduced-motion:reduce){.info-modal,.info-modal-overlay--closing .info-modal,.info-modal-overlay--closing .info-modal-overlay__backdrop{animation:none;transition:none}.info-modal-overlay--closing .info-modal{opacity:0}}.scroll-top-btn{position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:max(14px,env(safe-area-inset-bottom,0px));z-index:48;box-sizing:border-box;width:44px;height:44px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:color-mix(in srgb,var(--bg) 92%,transparent);color:var(--text);box-shadow:0 4px 14px color-mix(in srgb,var(--text) 10%,transparent);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);cursor:pointer;-webkit-tap-highlight-color:transparent;animation:scroll-top-btn-in .22s ease-out;transition:background .15s ease,border-color .15s ease,transform .12s ease}.scroll-top-btn[hidden]{display:none}.scroll-top-btn:hover{background:var(--bg);border-color:color-mix(in srgb,var(--border) 70%,var(--text))}.scroll-top-btn:active{transform:scale(.96)}.scroll-top-btn:focus{outline:none}.scroll-top-btn:focus-visible{outline:2px solid var(--brand-soft);outline-offset:2px}.scroll-top-btn__icon{width:22px;height:22px}@keyframes scroll-top-btn-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.scroll-top-btn{animation:none;transition:none}.scroll-top-btn:active{transform:none}}.toast-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;pointer-events:none}.toast-layer[hidden]{display:none}.toast-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#191f2852;cursor:pointer;pointer-events:auto;animation:toast-backdrop-in .275s ease-out;transition:opacity .275s ease}.toast-backdrop--exit{opacity:0}.toast-slot{position:absolute;left:50%;transform:translate(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));width:min(720px,100vw);padding:0 20px;box-sizing:border-box;pointer-events:none}.toast-track{padding:0;box-sizing:border-box}.toast{position:relative;overflow:hidden;width:100%;display:flex;align-items:flex-start;gap:10px;padding:14px 16px 16px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--toast-text);pointer-events:auto;animation:toast-in .275s ease-out;transition:opacity .275s ease,transform .275s ease}.toast--exit{animation:none;opacity:0;transform:translateY(10px)}.toast--info{background:var(--toast-info-bg);box-shadow:var(--toast-info-shadow)}.toast__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-top:2px;color:inherit}.toast__icon-svg{width:1.25rem;height:1.25rem}.toast__message{flex:1;margin:0;font-size:.9375rem;line-height:1.5;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere}.toast__close{flex-shrink:0;border:none;background:transparent;color:var(--toast-close);font-size:1.25rem;line-height:1;padding:0;cursor:pointer}.toast__close:hover{color:var(--toast-close-hover)}.toast__progress{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left center;background:#ffffff6b;animation-name:toast-progress;animation-timing-function:linear;animation-fill-mode:forwards;pointer-events:none}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toast-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast,.toast-backdrop,.toast__progress{animation:none}.toast--exit,.toast-backdrop--exit{transition:none}}
