.text-animate{-webkit-animation:bounceIn;animation:bounceIn;-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0}.text-animate,.text-animate-hover{display:inline-block;min-width:10px}.text-animate-hover{-webkit-animation-fill-mode:both;animation-fill-mode:both}.text-animate-hover:hover{-webkit-animation:rubberBand 1s;animation:rubberBand 1s;color:var(--accent)}.text-animate._1{-webkit-animation-delay:.1s;animation-delay:.1s}.text-animate._2{-webkit-animation-delay:.2s;animation-delay:.2s}.text-animate._3{-webkit-animation-delay:.3s;animation-delay:.3s}.text-animate._4{-webkit-animation-delay:.4s;animation-delay:.4s}.text-animate._5{-webkit-animation-delay:.5s;animation-delay:.5s}.text-animate._6{-webkit-animation-delay:.6s;animation-delay:.6s}.text-animate._7{-webkit-animation-delay:.7s;animation-delay:.7s}.text-animate._8{-webkit-animation-delay:.8s;animation-delay:.8s}.text-animate._9{-webkit-animation-delay:.9s;animation-delay:.9s}.text-animate._10{-webkit-animation-delay:1s;animation-delay:1s}.text-animate._11{-webkit-animation-delay:1.1s;animation-delay:1.1s}.text-animate._12{-webkit-animation-delay:1.2s;animation-delay:1.2s}.text-animate._13{-webkit-animation-delay:1.3s;animation-delay:1.3s}.text-animate._14{-webkit-animation-delay:1.4s;animation-delay:1.4s}.text-animate._15{-webkit-animation-delay:1.5s;animation-delay:1.5s}.text-animate._16{-webkit-animation-delay:1.6s;animation-delay:1.6s}.text-animate._17{-webkit-animation-delay:1.7s;animation-delay:1.7s}.text-animate._18{-webkit-animation-delay:1.8s;animation-delay:1.8s}.text-animate._19{-webkit-animation-delay:1.9s;animation-delay:1.9s}.text-animate._20{-webkit-animation-delay:2s;animation-delay:2s}.text-animate._21{-webkit-animation-delay:2.1s;animation-delay:2.1s}.text-animate._22{-webkit-animation-delay:2.2s;animation-delay:2.2s}.text-animate._23{-webkit-animation-delay:2.3s;animation-delay:2.3s}.text-animate._24{-webkit-animation-delay:2.4s;animation-delay:2.4s}.text-animate._25{-webkit-animation-delay:2.5s;animation-delay:2.5s}.text-animate._26{-webkit-animation-delay:2.6s;animation-delay:2.6s}.text-animate._27{-webkit-animation-delay:2.7s;animation-delay:2.7s}.text-animate._28{-webkit-animation-delay:2.8s;animation-delay:2.8s}.text-animate._29{-webkit-animation-delay:2.9s;animation-delay:2.9s}.text-animate._30{-webkit-animation-delay:3s;animation-delay:3s}.text-animate._31{-webkit-animation-delay:3.1s;animation-delay:3.1s}.text-animate._32{-webkit-animation-delay:3.2s;animation-delay:3.2s}.text-animate._33{-webkit-animation-delay:3.3s;animation-delay:3.3s}.text-animate._34{-webkit-animation-delay:3.4s;animation-delay:3.4s}.text-animate._35{-webkit-animation-delay:3.5s;animation-delay:3.5s}.pixel-portrait{inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity 1.4s ease;z-index:1}.pixel-portrait.is-live{opacity:.95}.pixel-portrait canvas{display:block;height:100%;image-rendering:pixelated;width:100%}.home-page .home-ghost{-webkit-text-stroke:1px var(--text-faint);-webkit-animation:ghost-in 2.6s .9s var(--ease-out) backwards;animation:ghost-in 2.6s .9s var(--ease-out) backwards;color:transparent;font-family:var(--font-display);font-size:clamp(72px,10vw,150px);font-style:italic;font-weight:900;line-height:1;pointer-events:none;position:absolute;right:2%;text-transform:uppercase;top:4%;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:0}.home-page .text-zone{align-items:flex-start;display:flex;flex-direction:column;left:8%;position:absolute;top:46%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:58%;z-index:3}.home-page .hero-kicker{align-items:center;-webkit-animation:home-rise .9s .8s var(--ease-out) backwards;animation:home-rise .9s .8s var(--ease-out) backwards;color:var(--accent);display:flex;font-family:var(--font-mono);font-size:11px;font-weight:400;gap:14px;letter-spacing:.32em;margin:0 0 20px;text-transform:uppercase}.home-page .hero-kicker__rule{background:var(--accent);height:1px;opacity:.8;width:44px}.home-page .hero-name{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(54px,7.6vw,112px);letter-spacing:-.02em;line-height:.98;margin:0}.home-page .hero-name__line{display:block}.home-page .hero-name__first{font-weight:900}.home-page .hero-name__last{color:var(--accent);font-style:italic;font-weight:700;margin-left:clamp(28px,4vw,72px)}.home-page .hero-name__first .text-animate{color:var(--text-primary)}.home-page .hero-name__first .text-animate-hover:hover,.home-page .hero-name__last .text-animate{color:var(--accent)}.home-page .hero-name__last .text-animate-hover:hover{color:var(--text-primary)}.home-page .hero-role{align-items:center;-webkit-animation:home-rise .9s 1.35s var(--ease-out) backwards;animation:home-rise .9s 1.35s var(--ease-out) backwards;display:flex;font-family:var(--font-mono);gap:12px;margin-top:28px}.home-page .hero-role__prompt{color:var(--accent);font-size:14px;font-weight:600}.home-page .hero-role__text{color:var(--text-secondary);font-size:13px;font-weight:500;letter-spacing:.22em;min-height:19px;text-transform:uppercase}.home-page .hero-role__cursor{-webkit-animation:blink .9s step-end infinite;animation:blink .9s step-end infinite;background:var(--accent);height:16px;width:9px}.home-page .hero-tagline{-webkit-animation:home-rise .9s 1.5s var(--ease-out) backwards;animation:home-rise .9s 1.5s var(--ease-out) backwards;border-left:1px solid var(--border-accent-mid);color:var(--text-body);font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:1.85;margin:24px 0 0;max-width:470px;padding-left:18px}.home-page .hero-actions{align-items:center;-webkit-animation:home-rise .9s 1.65s var(--ease-out) backwards;animation:home-rise .9s 1.65s var(--ease-out) backwards;display:flex;gap:32px;margin-top:36px}.home-page .hero-btn{align-items:center;background:var(--accent);border-radius:2px;color:var(--accent-on);display:inline-flex;font-family:var(--font-sans);font-size:11px;font-weight:800;gap:10px;letter-spacing:.2em;padding:15px 28px;text-decoration:none;text-transform:uppercase;transition:box-shadow .3s,-webkit-transform .3s var(--ease-out);transition:transform .3s var(--ease-out),box-shadow .3s;transition:transform .3s var(--ease-out),box-shadow .3s,-webkit-transform .3s var(--ease-out)}.home-page .hero-btn__arrow{font-size:13px;transition:-webkit-transform .3s var(--ease-out);transition:transform .3s var(--ease-out);transition:transform .3s var(--ease-out),-webkit-transform .3s var(--ease-out)}.home-page .hero-btn:hover{box-shadow:0 10px 32px var(--accent-glow);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.home-page .hero-btn:hover .hero-btn__arrow{-webkit-transform:translate(3px,-3px);transform:translate(3px,-3px)}.home-page .hero-link{color:var(--text-primary);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.2em;padding-bottom:7px;position:relative;text-decoration:none;text-transform:uppercase;transition:color .3s}.home-page .hero-link:after{background:var(--accent);bottom:0;content:"";height:1px;left:0;position:absolute;-webkit-transform:scaleX(.35);transform:scaleX(.35);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .35s var(--ease-out);transition:transform .35s var(--ease-out);transition:transform .35s var(--ease-out),-webkit-transform .35s var(--ease-out);width:100%}.home-page .hero-link:hover{color:var(--accent)}.home-page .hero-link:hover:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.home-page .hero-tech{align-items:baseline;-webkit-animation:home-rise .9s 1.8s var(--ease-out) backwards;animation:home-rise .9s 1.8s var(--ease-out) backwards;color:var(--text-muted);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.18em;margin:32px 0 0;row-gap:8px;text-transform:uppercase}.home-page .hero-tech__item{align-items:baseline;display:inline-flex}.home-page .hero-tech__sep{color:var(--accent);margin:0 9px;opacity:.6}.home-page .home-rail{align-items:center;-webkit-animation:home-rise 1s 2s var(--ease-out) backwards;animation:home-rise 1s 2s var(--ease-out) backwards;border-top:1px solid var(--border-subtle);bottom:0;display:flex;gap:48px;justify-content:flex-start;left:8%;padding:18px 0 8px;pointer-events:none;position:absolute;right:9%;z-index:3}.home-page .rail-stats{display:flex;gap:48px}.home-page .rail-stat{display:flex;flex-direction:column;gap:7px}.home-page .rail-stat__meta{align-items:baseline;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:8px;gap:8px;letter-spacing:.24em;text-transform:uppercase}.home-page .rail-stat__index{color:var(--accent);opacity:.85}.home-page .rail-stat__value{color:var(--text-primary);font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1}.home-page .rail-status{align-items:flex-start;align-self:stretch;border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:9px;justify-content:center;padding-left:48px;text-align:left}.home-page .rail-status__line{align-items:center;color:var(--text-status);display:inline-flex;font-family:var(--font-mono);font-size:10px;gap:9px;letter-spacing:.18em;text-transform:uppercase}.home-page .rail-status__dot{-webkit-animation:status-pulse 2.2s ease-in-out infinite;animation:status-pulse 2.2s ease-in-out infinite;background:#22c55e;border-radius:50%;flex-shrink:0;height:6px;width:6px}.home-page .rail-status__company{color:var(--text-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.home-page .rail-status__company strong{color:var(--accent);font-weight:700}@-webkit-keyframes ghost-in{0%{letter-spacing:.26em;opacity:0}to{letter-spacing:.02em;opacity:1}}@keyframes ghost-in{0%{letter-spacing:.26em;opacity:0}to{letter-spacing:.02em;opacity:1}}@-webkit-keyframes home-rise{0%{-webkit-filter:blur(5px);filter:blur(5px);opacity:0;-webkit-transform:translateY(24px);transform:translateY(24px)}to{-webkit-filter:none;filter:none;opacity:1;-webkit-transform:none;transform:none}}@keyframes home-rise{0%{-webkit-filter:blur(5px);filter:blur(5px);opacity:0;-webkit-transform:translateY(24px);transform:translateY(24px)}to{-webkit-filter:none;filter:none;opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes status-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@keyframes status-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}.text-animate{color:var(--accent)}@media screen and (max-width:1200px){.container.home-page{display:flex;flex-direction:column;min-height:calc(100vh - 64px);min-height:calc(100svh - 64px - env(safe-area-inset-bottom, 0px));overflow:hidden;position:relative}.home-page .home-ghost{display:none}.home-page .text-zone{box-sizing:border-box;left:auto;margin-top:clamp(240px,56svh,560px);padding:0 24px 8px;position:relative;top:auto;-webkit-transform:none;transform:none;width:100%;z-index:3}.home-page .hero-name{font-size:clamp(46px,10.5vw,84px)}.home-page .hero-name__last{margin-left:24px}.home-page .home-rail{bottom:auto;flex-wrap:wrap;left:auto;margin:auto 24px 0;padding:20px 0;position:relative;right:auto;z-index:3}.home-page .rail-status{align-items:flex-start;align-self:auto;border-left:0;padding-left:0;text-align:left}}@media screen and (max-width:768px){.home-page .text-zone{padding:36px 20px 8px}.home-page .hero-name{font-size:clamp(40px,11.5vw,64px)}.home-page .hero-role__text{font-size:11px}.home-page .hero-tagline{font-size:14px}.home-page .rail-stats{gap:30px}.home-page .rail-stat__value{font-size:24px}}@media screen and (max-width:480px){.home-page .text-zone{padding:30px 16px 8px}.home-page .hero-name{font-size:clamp(34px,12vw,48px)}.home-page .hero-name__last{margin-left:16px}.home-page .hero-role{margin-top:22px}.home-page .hero-role__text{font-size:10px;letter-spacing:.16em}.home-page .hero-tagline{font-size:13px;line-height:1.75}.home-page .hero-actions{gap:20px;margin-top:28px}.home-page .hero-btn{font-size:10px;padding:12px 20px}.home-page .hero-tech{font-size:9px}.home-page .hero-tech__sep{margin:0 6px}.home-page .rail-stats{gap:22px}.home-page .rail-stat__value{font-size:22px}}.about-page{-webkit-animation:fadeIn .8s .2s backwards;animation:fadeIn .8s .2s backwards;box-sizing:border-box;display:flex;gap:72px;inset:0;overflow:hidden;padding:72px 64px 40px 120px;position:absolute}.about-ghost{-webkit-text-stroke:1px var(--text-faint);-webkit-animation:about-ghost-in 2.4s .8s var(--ease-out) backwards;animation:about-ghost-in 2.4s .8s var(--ease-out) backwards;bottom:3%;color:transparent;font-family:var(--font-display);font-size:clamp(80px,11vw,170px);font-style:italic;font-weight:900;line-height:1;pointer-events:none;position:absolute;right:-1%;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:0}.about-story{display:flex;flex:0 1 54%;flex-direction:column;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:8px;position:relative;z-index:1}.about-story::-webkit-scrollbar{width:3px}.about-story::-webkit-scrollbar-track{background:transparent}.about-story::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.about-kicker{align-items:center;-webkit-animation:about-rise .9s .5s var(--ease-out) backwards;animation:about-rise .9s .5s var(--ease-out) backwards;color:var(--accent);display:flex;font-family:var(--font-mono);font-size:10px;gap:12px;letter-spacing:.3em;margin:0 0 18px;text-transform:uppercase}.about-kicker__rule{background:var(--accent);height:1px;opacity:.8;width:36px}.about-title{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(46px,5.6vw,84px);font-weight:900;letter-spacing:-.02em;line-height:.98;margin:0 0 30px}.about-title em{font-style:italic;font-weight:700}.about-title .text-animate-hover:hover,.about-title em{color:var(--accent)}.about-title em .text-animate-hover:hover{color:var(--text-primary)}.about-bio{-webkit-animation:about-rise .9s .75s var(--ease-out) backwards;animation:about-rise .9s .75s var(--ease-out) backwards;color:var(--text-body);font-family:var(--font-sans);font-size:14px;line-height:1.95;margin:0 0 40px;max-width:560px}.about-bio:first-letter{color:var(--accent);float:left;font-family:var(--font-display);font-size:46px;font-weight:900;line-height:.82;margin:5px 10px 0 0}.about-rule-title{align-items:center;display:flex;gap:12px;margin:0 0 18px}.about-rule-title__index{color:var(--accent);font-family:var(--font-display);font-size:17px;font-style:italic;font-weight:700;line-height:1}.about-rule-title__text{color:var(--text-primary);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.about-rule-title__line{background:var(--border-subtle);flex:1 1;height:1px}.about-edu{-webkit-animation:about-rise .9s .9s var(--ease-out) backwards;animation:about-rise .9s .9s var(--ease-out) backwards;margin-bottom:36px}.edu-chapter{align-items:flex-start;-webkit-animation:about-rise .8s calc(1s + var(--i)*.12s) var(--ease-out) backwards;animation:about-rise .8s calc(1s + var(--i)*.12s) var(--ease-out) backwards;border-bottom:1px solid var(--border-subtle);display:flex;gap:24px;padding:16px 0}.edu-chapter:last-child{border-bottom:none}.edu-chapter__year{color:var(--accent);flex-shrink:0;font-family:var(--font-display);font-size:24px;font-style:italic;font-weight:700;line-height:1.15;min-width:64px}.edu-chapter__degree{color:var(--text-primary);font-family:var(--font-sans);font-size:15px;font-weight:700;line-height:1.35;margin:3px 0 5px}.edu-chapter__stem{background:var(--accent-dim);border:1px solid var(--border-accent-mid);border-radius:2px;color:var(--accent);display:inline-block;font-size:8px;font-weight:600;letter-spacing:.18em;margin-left:10px;padding:2px 8px;vertical-align:2px}.edu-chapter__school,.edu-chapter__stem{font-family:var(--font-mono);text-transform:uppercase}.edu-chapter__school{color:var(--text-muted);font-size:10px;letter-spacing:.1em;margin:0}.about-now{-webkit-animation:about-rise .9s 1.15s var(--ease-out) backwards;animation:about-rise .9s 1.15s var(--ease-out) backwards;margin-bottom:28px}.now-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-card);border-left:2px solid var(--accent);border-radius:2px;display:flex;gap:18px;justify-content:space-between;max-width:560px;padding:16px 20px;text-decoration:none;transition:background .3s ease,border-color .3s ease,-webkit-transform .3s var(--ease-out);transition:background .3s ease,border-color .3s ease,transform .3s var(--ease-out);transition:background .3s ease,border-color .3s ease,transform .3s var(--ease-out),-webkit-transform .3s var(--ease-out)}.now-card:hover{background:var(--accent-subtle);border-color:var(--border-accent-mid);border-left-color:var(--accent);-webkit-transform:translateX(4px);transform:translateX(4px)}.now-card:hover .now-card__arrow{color:var(--accent);-webkit-transform:translate(2px,-2px);transform:translate(2px,-2px)}.now-card__company{color:var(--text-primary);font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.2;margin:0 0 4px}.now-card__role{color:var(--accent);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;margin:0;text-transform:uppercase}.now-card__sep{color:var(--text-muted-dim);margin:0 8px}.now-card__arrow,.now-card__range{color:var(--text-muted)}.now-card__arrow{font-size:15px;transition:color .3s ease,-webkit-transform .3s var(--ease-out);transition:transform .3s var(--ease-out),color .3s ease;transition:transform .3s var(--ease-out),color .3s ease,-webkit-transform .3s var(--ease-out)}.about-status{align-items:center;-webkit-animation:about-rise .9s 1.25s var(--ease-out) backwards;animation:about-rise .9s 1.25s var(--ease-out) backwards;display:flex;font-family:var(--font-mono);font-size:10px;gap:10px;letter-spacing:.18em;margin:auto 0 0;padding-top:20px;text-transform:uppercase}.about-status__dot{-webkit-animation:about-status-pulse 2.2s ease-in-out infinite;animation:about-status-pulse 2.2s ease-in-out infinite;background:#22c55e;border-radius:50%;flex-shrink:0;height:6px;width:6px}.about-status__text{color:var(--text-status)}.about-status__sep{color:var(--accent);opacity:.6}.about-status__loc{color:var(--text-muted);letter-spacing:.14em}.about-stack{-webkit-animation:about-rise .9s .6s var(--ease-out) backwards;animation:about-rise .9s .6s var(--ease-out) backwards;display:flex;flex:1 1;flex-direction:column;min-width:0;overflow-x:hidden;overflow-y:auto;padding:6px 4px 0 0;position:relative;z-index:1}.about-stack::-webkit-scrollbar{width:3px}.about-stack::-webkit-scrollbar-track{background:transparent}.about-stack::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.stack-group{margin-bottom:10px}.stack-group__label{color:var(--accent);font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.26em;margin:14px 0 6px;opacity:.85;text-transform:uppercase}.stack-row{align-items:baseline;-webkit-animation:about-rise .7s calc(.5s + var(--i)*.07s) var(--ease-out) backwards;animation:about-rise .7s calc(.5s + var(--i)*.07s) var(--ease-out) backwards;display:flex;gap:14px;padding:11px 0;transition:-webkit-transform .35s var(--ease-out);transition:transform .35s var(--ease-out);transition:transform .35s var(--ease-out),-webkit-transform .35s var(--ease-out)}.stack-row:hover{-webkit-transform:translateX(6px);transform:translateX(6px)}.stack-row:hover .stack-row__name{color:var(--accent)}.stack-row:hover .stack-row__num{color:var(--accent);opacity:1}.stack-row:hover .stack-row__leader:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.stack-row__num{color:var(--text-muted-dim);flex-shrink:0;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;transition:color .3s ease,opacity .3s ease}.stack-row__name{color:var(--text-primary);flex-shrink:0;font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:.01em;transition:color .3s ease}.stack-row__leader{align-self:center;background-image:repeating-linear-gradient(to right,var(--text-muted-dim) 0 3px,transparent 3px 9px);flex:1 1;height:1px;position:relative}.stack-row__leader:after{background:var(--accent);content:"";inset:0;position:absolute;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .5s var(--ease-out);transition:transform .5s var(--ease-out);transition:transform .5s var(--ease-out),-webkit-transform .5s var(--ease-out)}.stack-row__pct{color:var(--accent);flex-shrink:0;font-family:var(--font-display);font-size:21px;font-style:italic;font-weight:700;line-height:1;min-width:40px;text-align:right}.stack-note{-webkit-animation:about-rise .9s 1.6s var(--ease-out) backwards;animation:about-rise .9s 1.6s var(--ease-out) backwards;color:var(--text-muted-dim);font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;margin:22px 0 0;text-transform:uppercase}@-webkit-keyframes about-rise{0%{-webkit-filter:blur(4px);filter:blur(4px);opacity:0;-webkit-transform:translateY(22px);transform:translateY(22px)}to{-webkit-filter:none;filter:none;opacity:1;-webkit-transform:none;transform:none}}@keyframes about-rise{0%{-webkit-filter:blur(4px);filter:blur(4px);opacity:0;-webkit-transform:translateY(22px);transform:translateY(22px)}to{-webkit-filter:none;filter:none;opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes about-ghost-in{0%{letter-spacing:.24em;opacity:0}to{letter-spacing:.02em;opacity:1}}@keyframes about-ghost-in{0%{letter-spacing:.24em;opacity:0}to{letter-spacing:.02em;opacity:1}}@-webkit-keyframes about-status-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@keyframes about-status-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@media(prefers-reduced-motion:reduce){.about-page,.about-page *{-webkit-animation:none!important;animation:none!important}}@media screen and (max-width:1200px){.about-page{flex-direction:column;gap:40px;height:auto;overflow:visible;padding:44px 24px 32px;position:static}.about-ghost{display:none}.about-stack,.about-story{flex:none;overflow:visible;padding-right:0}.about-status{flex-wrap:wrap;margin-top:0;padding-top:4px}}@media screen and (max-width:768px){.about-page{padding:36px 20px 28px}.about-bio{font-size:13.5px}.stack-row__name{font-size:14px}.stack-row__pct{font-size:19px}}@media screen and (max-width:480px){.about-page{padding:30px 16px 24px}.edu-chapter{gap:16px}.edu-chapter__year{font-size:20px;min-width:52px}.about-status__sep{display:none}.about-status__loc{flex-basis:100%;padding-left:16px}}.ct-page{-webkit-animation:fadeIn .8s .2s backwards;animation:fadeIn .8s .2s backwards;box-sizing:border-box;display:flex;gap:72px;inset:0;overflow:hidden;padding:72px 64px 40px 120px;position:absolute}.ct-ghost{-webkit-text-stroke:1px var(--text-faint);-webkit-animation:ct-ghost-in 2.4s .8s var(--ease-out) backwards;animation:ct-ghost-in 2.4s .8s var(--ease-out) backwards;bottom:2%;color:transparent;font-family:var(--font-display);font-size:clamp(90px,12vw,180px);font-style:italic;font-weight:900;line-height:1;pointer-events:none;position:absolute;right:-1%;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:0}.ct-left{display:flex;flex:0 1 52%;flex-direction:column;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:8px;position:relative;z-index:1}.ct-left::-webkit-scrollbar{width:3px}.ct-left::-webkit-scrollbar-track{background:transparent}.ct-left::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.ct-kicker{align-items:center;-webkit-animation:ct-rise .9s .5s var(--ease-out) backwards;animation:ct-rise .9s .5s var(--ease-out) backwards;color:var(--accent);display:flex;font-family:var(--font-mono);font-size:10px;gap:12px;letter-spacing:.3em;margin:0 0 18px;text-transform:uppercase}.ct-kicker__rule{background:var(--accent);height:1px;opacity:.8;width:36px}.ct-title{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(42px,4.8vw,72px);font-weight:900;letter-spacing:-.02em;line-height:1;margin:0 0 24px}.ct-title__line{display:block}.ct-title__line--em{color:var(--accent);font-style:italic;font-weight:700;margin-left:clamp(20px,2.6vw,48px)}.ct-title .text-animate-hover:hover{color:var(--accent)}.ct-title em .text-animate-hover:hover{color:var(--text-primary)}.ct-sub{-webkit-animation:ct-rise .9s .75s var(--ease-out) backwards;animation:ct-rise .9s .75s var(--ease-out) backwards;border-left:1px solid var(--border-accent);color:var(--text-muted);font-family:var(--font-sans);font-size:14px;line-height:1.8;margin:0 0 18px;max-width:420px;padding-left:16px}.ct-mailto{align-items:baseline;align-self:flex-start;-webkit-animation:ct-rise .9s .9s var(--ease-out) backwards;animation:ct-rise .9s .9s var(--ease-out) backwards;color:var(--accent);display:inline-flex;font-family:var(--font-display);font-size:clamp(21px,2.2vw,30px);font-style:italic;font-weight:700;gap:12px;letter-spacing:-.01em;margin:4px 0 40px;padding-bottom:8px;position:relative;text-decoration:none}.ct-mailto:after{background:var(--accent);bottom:0;content:"";height:1px;left:0;position:absolute;-webkit-transform:scaleX(.24);transform:scaleX(.24);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .45s var(--ease-out);transition:transform .45s var(--ease-out);transition:transform .45s var(--ease-out),-webkit-transform .45s var(--ease-out);width:100%}.ct-mailto__arrow{font-family:var(--font-sans);font-size:.62em;font-style:normal;transition:-webkit-transform .3s var(--ease-out);transition:transform .3s var(--ease-out);transition:transform .3s var(--ease-out),-webkit-transform .3s var(--ease-out)}.ct-mailto:hover:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.ct-mailto:hover .ct-mailto__arrow{-webkit-transform:translate(3px,-3px);transform:translate(3px,-3px)}.ct-rule-title{align-items:center;display:flex;gap:12px;margin:0 0 14px}.ct-rule-title__index{color:var(--accent);font-family:var(--font-display);font-size:17px;font-style:italic;font-weight:700;line-height:1}.ct-rule-title__text{color:var(--text-primary);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.ct-rule-title__line{background:var(--border-subtle);flex:1 1;height:1px}.ct-channels{-webkit-animation:ct-rise .9s 1s var(--ease-out) backwards;animation:ct-rise .9s 1s var(--ease-out) backwards;margin-bottom:30px;max-width:540px}.ct-row{align-items:baseline;-webkit-animation:ct-rise .7s calc(1.05s + var(--i)*.08s) var(--ease-out) backwards;animation:ct-rise .7s calc(1.05s + var(--i)*.08s) var(--ease-out) backwards;display:flex;gap:14px;padding:12px 0;text-decoration:none;transition:-webkit-transform .35s var(--ease-out);transition:transform .35s var(--ease-out);transition:transform .35s var(--ease-out),-webkit-transform .35s var(--ease-out)}.ct-row:not(.ct-row--static):hover{-webkit-transform:translateX(6px);transform:translateX(6px)}.ct-row:not(.ct-row--static):hover .ct-row__label,.ct-row:not(.ct-row--static):hover .ct-row__num{color:var(--accent)}.ct-row:not(.ct-row--static):hover .ct-row__value{color:var(--text-primary)}.ct-row:not(.ct-row--static):hover .ct-row__leader:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.ct-row--static{cursor:default}.ct-row__num{color:var(--text-muted-dim);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em}.ct-row__label,.ct-row__num{flex-shrink:0;transition:color .3s ease}.ct-row__label{color:var(--text-primary);font-family:var(--font-sans);font-size:14px;font-weight:600}.ct-row__leader{align-self:center;background-image:repeating-linear-gradient(to right,var(--text-muted-dim) 0 3px,transparent 3px 9px);flex:1 1;height:1px;min-width:24px;position:relative}.ct-row__leader:after{background:var(--accent);content:"";inset:0;position:absolute;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .5s var(--ease-out);transition:transform .5s var(--ease-out);transition:transform .5s var(--ease-out),-webkit-transform .5s var(--ease-out)}.ct-row__value{color:var(--text-muted);flex-shrink:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;max-width:55%;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease;white-space:nowrap}.ct-row__ext{color:var(--accent);font-size:10px;margin-left:7px;opacity:.7}.ct-status{align-items:center;-webkit-animation:ct-rise .9s 1.5s var(--ease-out) backwards;animation:ct-rise .9s 1.5s var(--ease-out) backwards;display:flex;font-family:var(--font-mono);font-size:10px;gap:10px;letter-spacing:.18em;margin:auto 0 0;padding-top:18px;text-transform:uppercase}.ct-status__dot{-webkit-animation:ct-status-pulse 2.2s ease-in-out infinite;animation:ct-status-pulse 2.2s ease-in-out infinite;background:#22c55e;border-radius:50%;flex-shrink:0;height:6px;width:6px}.ct-status__text{color:var(--text-status)}.ct-status__sep{color:var(--accent);opacity:.6}.ct-status__note{color:var(--text-muted);letter-spacing:.14em}.ct-right{align-items:center;-webkit-animation:ct-rise .9s .7s var(--ease-out) backwards;animation:ct-rise .9s .7s var(--ease-out) backwards;display:flex;flex:1 1;justify-content:center;min-width:0;overflow-y:auto;position:relative;z-index:1}.ct-right::-webkit-scrollbar{width:3px}.ct-right::-webkit-scrollbar-track{background:transparent}.ct-right::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.ct-letter{background:var(--bg-card);border:1px solid var(--border-card);border-radius:2px;border-top:2px solid var(--accent);box-shadow:var(--shadow-card);max-width:470px;padding:34px 38px 38px;width:100%}.ct-letter form{display:flex;flex-direction:column;gap:26px}.ct-letter__head{margin-bottom:26px}.ct-letter__title{color:var(--text-primary);font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:6px 0 0}.ct-letter__title em{color:var(--accent);font-style:italic}.ct-field{display:flex;gap:14px}.ct-field__num{color:var(--text-muted-dim);flex-shrink:0;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;padding-top:12px;transition:color .25s ease}.ct-field:focus-within .ct-field__num{color:var(--accent)}.ct-field__control{flex:1 1;padding-top:14px;position:relative}.ct-field input,.ct-field textarea{background:var(--bg-input);border:1px solid var(--border-input);border-radius:3px;box-sizing:border-box;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;outline:none;padding:10px 12px;resize:none;transition:border-color .25s ease,background .25s ease;width:100%}.ct-field input:focus,.ct-field textarea:focus{border-color:var(--border-accent-strong)}.ct-field input:focus+label,.ct-field input:not(:placeholder-shown)+label,.ct-field textarea:focus+label,.ct-field textarea:not(:placeholder-shown)+label{color:var(--accent);font-size:8.5px;left:0;letter-spacing:.22em;top:-4px}.ct-field textarea{line-height:1.7}.ct-field label{color:var(--text-muted);font-family:var(--font-mono);font-size:11px;left:13px;letter-spacing:.14em;pointer-events:none;position:absolute;text-transform:uppercase;top:25px;transition:top .22s var(--ease-out),left .22s var(--ease-out),font-size .22s ease,color .22s ease,letter-spacing .22s ease}.ct-field__ink{background:var(--accent);bottom:0;height:1px;left:0;position:absolute;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .4s var(--ease-out);transition:transform .4s var(--ease-out);transition:transform .4s var(--ease-out),-webkit-transform .4s var(--ease-out);width:100%}input:focus~.ct-field__ink,textarea:focus~.ct-field__ink{-webkit-transform:scaleX(1);transform:scaleX(1)}.ct-error{color:#ef4444;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;margin:0}.ct-send{align-items:center;align-self:flex-start;background:var(--accent);border:none;border-radius:2px;color:var(--accent-on);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:10px;font-weight:800;gap:12px;justify-content:space-between;letter-spacing:.2em;padding:14px 26px;text-transform:uppercase;transition:box-shadow .25s,-webkit-transform .25s var(--ease-out);transition:transform .25s var(--ease-out),box-shadow .25s;transition:transform .25s var(--ease-out),box-shadow .25s,-webkit-transform .25s var(--ease-out)}.ct-send__arrow{font-size:12px;transition:-webkit-transform .3s var(--ease-out);transition:transform .3s var(--ease-out);transition:transform .3s var(--ease-out),-webkit-transform .3s var(--ease-out)}.ct-send:hover:not(:disabled){box-shadow:0 10px 30px var(--accent-glow);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.ct-send:hover:not(:disabled) .ct-send__arrow{-webkit-transform:translate(2px,-2px);transform:translate(2px,-2px)}.ct-send:disabled{cursor:not-allowed;opacity:.6}.ct-sent{align-items:flex-start;-webkit-animation:ct-rise .5s var(--ease-out) both;animation:ct-rise .5s var(--ease-out) both;display:flex;flex-direction:column;gap:14px;padding:6px 0}.ct-sent__icon{align-items:center;background:var(--accent-dim);border:1px solid var(--border-accent-mid);border-radius:2px;display:flex;height:48px;justify-content:center;width:48px}.ct-sent__icon svg{color:var(--accent);font-size:18px}.ct-sent__title{color:var(--text-primary);font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:4px 0 0}.ct-sent__title em{color:var(--accent);font-style:italic}.ct-sent__note{color:var(--text-muted);font-family:var(--font-sans);font-size:13px;line-height:1.7;margin:0}.ct-sent__again{background:transparent;border:1px solid var(--border-accent);border-radius:2px;color:var(--accent);cursor:pointer;font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;margin-top:8px;padding:9px 20px;text-transform:uppercase;transition:border-color .2s ease,background .2s ease,-webkit-transform .2s var(--ease-out);transition:border-color .2s ease,background .2s ease,transform .2s var(--ease-out);transition:border-color .2s ease,background .2s ease,transform .2s var(--ease-out),-webkit-transform .2s var(--ease-out)}.ct-sent__again:hover{background:var(--accent-dim);border-color:var(--accent);-webkit-transform:translateY(-1px);transform:translateY(-1px)}@-webkit-keyframes ct-rise{0%{-webkit-filter:blur(4px);filter:blur(4px);opacity:0;-webkit-transform:translateY(22px);transform:translateY(22px)}to{-webkit-filter:none;filter:none;opacity:1;-webkit-transform:none;transform:none}}@keyframes ct-rise{0%{-webkit-filter:blur(4px);filter:blur(4px);opacity:0;-webkit-transform:translateY(22px);transform:translateY(22px)}to{-webkit-filter:none;filter:none;opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes ct-ghost-in{0%{letter-spacing:.24em;opacity:0}to{letter-spacing:.02em;opacity:1}}@keyframes ct-ghost-in{0%{letter-spacing:.24em;opacity:0}to{letter-spacing:.02em;opacity:1}}@-webkit-keyframes ct-status-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@keyframes ct-status-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@media(prefers-reduced-motion:reduce){.ct-page,.ct-page *{-webkit-animation:none!important;animation:none!important;transition:none!important}}@media screen and (max-width:1200px){.ct-page{flex-direction:column;gap:44px;height:auto;overflow:visible;padding:44px 24px 32px;position:static}.ct-ghost{display:none}.ct-left,.ct-right{flex:none;overflow:visible;padding-right:0}.ct-status{flex-wrap:wrap;margin-top:0;padding-top:0}.ct-letter{max-width:560px}.ct-right{justify-content:flex-start}}@media screen and (max-width:768px){.ct-page{padding:36px 20px 28px}.ct-mailto{font-size:19px;margin-bottom:32px}.ct-letter{padding:26px 22px 30px}.ct-send{justify-content:center;width:100%}.ct-row__value{max-width:48%}}@media screen and (max-width:480px){.ct-page{padding:30px 16px 24px}.ct-row{flex-wrap:wrap;row-gap:4px}.ct-row__leader{display:none}.ct-row__value{flex-basis:100%;max-width:100%;padding-left:30px}.ct-status__sep{display:none}.ct-status__note{flex-basis:100%;padding-left:16px}}.nav-bar{align-items:center;background:linear-gradient(180deg,var(--bg-sidebar-start) 0,var(--bg-sidebar-mid) 60%,var(--bg-sidebar-end) 100%);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;height:100%;min-height:500px;position:absolute;top:0;width:68px;z-index:3}.nav-bar:after{background:linear-gradient(180deg,transparent,rgba(232,168,56,.3) 40%,rgba(232,168,56,.3) 60%,transparent);bottom:20%;content:"";pointer-events:none;position:absolute;right:0;top:20%;width:1px}.nav-bar .logo{align-items:center;border-bottom:1px solid var(--sidebar-border);display:flex;justify-content:center;padding:14px 0 12px;width:100%}.nav-bar .logo img{display:block;height:auto;width:44px}.nav-bar nav{flex:1 1;flex-direction:column;gap:4px;padding:16px 0}.nav-bar nav,.nav-bar nav a{align-items:center;display:flex;justify-content:center;width:100%}.nav-bar nav a{color:hsla(0,0%,100%,.2);height:50px;position:relative;text-decoration:none;transition:color .25s var(--ease-out)}.nav-bar nav a svg{font-size:17px;position:relative;transition:color .25s var(--ease-out),-webkit-filter .25s var(--ease-out);transition:color .25s var(--ease-out),filter .25s var(--ease-out);transition:color .25s var(--ease-out),filter .25s var(--ease-out),-webkit-filter .25s var(--ease-out);z-index:1}.nav-bar nav a:before{background:radial-gradient(circle,rgba(232,168,56,.12) 0,transparent 70%);border-radius:8px;content:"";inset:6px 8px;opacity:0;position:absolute;transition:opacity .25s var(--ease-out)}.nav-bar nav a:after{background:var(--accent);border-radius:3px 0 0 3px;box-shadow:0 0 8px var(--accent-glow);content:"";height:22px;position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%) scaleY(0);transform:translateY(-50%) scaleY(0);transition:-webkit-transform .3s cubic-bezier(.34,1.56,.64,1);transition:transform .3s cubic-bezier(.34,1.56,.64,1);transition:transform .3s cubic-bezier(.34,1.56,.64,1),-webkit-transform .3s cubic-bezier(.34,1.56,.64,1);width:2px}.nav-bar nav a:hover{color:var(--accent)}.nav-bar nav a:hover svg{-webkit-filter:drop-shadow(0 0 5px rgba(232,168,56,.45));filter:drop-shadow(0 0 5px rgba(232,168,56,.45))}.nav-bar nav a:hover:before{opacity:1}.nav-bar nav a.active{color:var(--accent)}.nav-bar nav a.active svg{-webkit-filter:drop-shadow(0 0 7px rgba(232,168,56,.55));filter:drop-shadow(0 0 7px rgba(232,168,56,.55))}.nav-bar nav a.active:before{opacity:1}.nav-bar nav a.active:after{-webkit-transform:translateY(-50%) scaleY(1);transform:translateY(-50%) scaleY(1)}.nav-bar ul{border-top:1px solid var(--sidebar-border);flex-direction:column;gap:2px;list-style:none;margin:0;padding:14px 0 20px;text-align:center}.nav-bar ul,.nav-bar ul li a{align-items:center;display:flex;width:100%}.nav-bar ul li a{color:hsla(0,0%,100%,.18);font-size:14px;height:36px;justify-content:center;text-decoration:none;transition:color .25s var(--ease-out),-webkit-filter .25s var(--ease-out);transition:color .25s var(--ease-out),filter .25s var(--ease-out);transition:color .25s var(--ease-out),filter .25s var(--ease-out),-webkit-filter .25s var(--ease-out)}.nav-bar ul li a:hover{color:var(--accent);-webkit-filter:drop-shadow(0 0 4px rgba(232,168,56,.4));filter:drop-shadow(0 0 4px rgba(232,168,56,.4))}.nav-tooltip{background:#18181f;background:var(--bg-elevated,#18181f);border:1px solid var(--border-accent);border-radius:3px;color:var(--accent);font-family:var(--font-mono);font-size:9px;left:calc(100% + 14px);letter-spacing:.2em;opacity:0;padding:5px 12px;pointer-events:none;position:absolute;text-transform:uppercase;top:50%;-webkit-transform:translateY(-50%) translateX(-6px);transform:translateY(-50%) translateX(-6px);transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease;white-space:nowrap;z-index:10}.nav-tooltip:before{border:4px solid transparent;border-right:4px solid var(--border-accent);content:"";position:absolute;right:100%;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.nav-bar nav a:hover .nav-tooltip{opacity:1;-webkit-transform:translateY(-50%) translateX(0);transform:translateY(-50%) translateX(0)}.mobile-bottom-nav,.mobile-top-bar{display:none}@media screen and (max-width:1200px){.nav-bar{display:none}.mobile-top-bar{background:linear-gradient(90deg,var(--bg-sidebar-start) 0,var(--bg-sidebar-end) 100%);border-bottom:1px solid var(--sidebar-border);height:56px;left:0;padding:0 20px;position:fixed;right:0;top:0;z-index:100}.mobile-top-bar,.mobile-top-bar a{align-items:center;display:flex}.mobile-top-bar img{height:34px;width:auto}.mobile-bottom-nav{background:var(--bg-mobile-nav);border-radius:20px 20px 0 0;border-top:1px solid rgba(232,168,56,.08);bottom:0;height:64px;left:0;overflow:visible;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:100}.mobile-bottom-nav,.nav-bubble{align-items:center;display:flex}.nav-bubble{background:var(--accent);border-radius:50%;box-shadow:0 4px 20px var(--accent-glow);flex-direction:column;gap:2px;height:50px;justify-content:center;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);transition:left .4s cubic-bezier(.4,0,.2,1);width:50px;z-index:10}.nav-bubble svg{color:var(--accent-on);font-size:17px}.nav-bubble .bubble-label{color:var(--accent-on);font-family:var(--font-mono);font-size:7px;font-weight:700;letter-spacing:.5px;line-height:1;text-transform:uppercase}.nav-bubble:before{box-shadow:9px 9px 0 0 var(--bg-mobile-nav);right:100%}.nav-bubble:after,.nav-bubble:before{background:transparent;border-radius:50%;bottom:-17px;content:"";height:18px;position:absolute;width:18px}.nav-bubble:after{box-shadow:-9px 9px 0 0 var(--bg-mobile-nav);left:100%}.mobile-nav-item{color:hsla(0,0%,100%,.25);flex:1 1;height:100%;text-decoration:none;transition:color .25s ease}.mobile-nav-item,.mobile-nav-item .nav-item-icon{align-items:center;display:flex;justify-content:center}.mobile-nav-item .nav-item-icon{transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease}.mobile-nav-item .nav-item-icon svg{font-size:17px}.mobile-nav-item.active .nav-item-icon{opacity:0;-webkit-transform:scale(.6);transform:scale(.6)}.mobile-nav-item:not(.active):hover{color:rgba(232,168,56,.55)}}@media screen and (max-width:380px){.nav-bubble{height:44px;width:44px}.nav-bubble svg{font-size:15px}.nav-bubble .bubble-label{display:none}}.chat-fab{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-accent-mid);border-radius:3px;bottom:30px;box-shadow:var(--shadow-card);color:var(--accent);cursor:pointer;display:flex;font-size:19px;height:52px;justify-content:center;position:fixed;right:30px;transition:background .25s ease,color .25s ease,box-shadow .25s ease,-webkit-transform .25s var(--ease-out);transition:transform .25s var(--ease-out),background .25s ease,color .25s ease,box-shadow .25s ease;transition:transform .25s var(--ease-out),background .25s ease,color .25s ease,box-shadow .25s ease,-webkit-transform .25s var(--ease-out);width:52px;z-index:10000}.chat-fab__live{-webkit-animation:fab-live 2.2s ease-in-out infinite;animation:fab-live 2.2s ease-in-out infinite;background:#22c55e;border:2px solid var(--bg-page);border-radius:50%;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.chat-fab:hover{background:var(--accent);box-shadow:0 10px 30px var(--accent-glow);color:var(--accent-on);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.chat-fab--open{background:var(--accent-dim);border-color:var(--border-accent-mid);box-shadow:none;color:var(--accent)}.chat-fab--open:hover{background:var(--bg-tag-hover-strong);box-shadow:none;color:var(--accent);-webkit-transform:none;transform:none}@-webkit-keyframes fab-live{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.45)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@keyframes fab-live{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.45)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@media screen and (min-width:1200px){.chat-fab{display:none}}.chat-widget{-webkit-animation:widget-in .35s var(--ease-out) both;animation:widget-in .35s var(--ease-out) both;background:var(--bg-surface);border:1px solid var(--border-card);border-radius:3px;border-top:2px solid var(--accent);bottom:30px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;height:540px;max-height:calc(100vh - 130px);max-width:calc(100vw - 40px);overflow:hidden;position:fixed;right:30px;width:384px;z-index:9999}@-webkit-keyframes widget-in{0%{opacity:0;-webkit-transform:translateY(14px) scale(.98);transform:translateY(14px) scale(.98)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes widget-in{0%{opacity:0;-webkit-transform:translateY(14px) scale(.98);transform:translateY(14px) scale(.98)}to{opacity:1;-webkit-transform:none;transform:none}}.chat-widget__header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:14px 16px}.chat-widget__header-left{align-items:center;display:flex;gap:10px;min-width:0}.chat-widget__dot{-webkit-animation:fab-live 2.2s ease-in-out infinite;animation:fab-live 2.2s ease-in-out infinite;background:#22c55e;border-radius:50%;flex-shrink:0;height:6px;width:6px}.chat-widget__title{color:var(--text-primary);font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-widget__title em{color:var(--accent);font-style:italic}.chat-widget__header-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.chat-widget__expand{align-items:center;color:var(--accent);display:inline-flex;font-family:var(--font-mono);font-size:8.5px;font-weight:600;gap:6px;letter-spacing:.18em;opacity:.8;text-decoration:none;text-transform:uppercase;transition:opacity .2s ease}.chat-widget__expand:hover{opacity:1}.chat-widget__close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:4px 6px;transition:color .2s ease}.chat-widget__close:hover{color:var(--accent)}.chat-widget__body{display:flex;flex:1 1;flex-direction:column;gap:14px;overflow-x:hidden;overflow-y:auto;padding:16px}.chat-widget__body::-webkit-scrollbar{width:3px}.chat-widget__body::-webkit-scrollbar-track{background:transparent}.chat-widget__body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.widget-message{display:flex;max-width:100%}.widget-message--user{justify-content:flex-end}.widget-message--user .widget-message__bubble{background:var(--accent-dim);border-radius:2px;border-right:2px solid var(--accent);max-width:85%;padding:9px 13px}.widget-message--user .widget-message__bubble p{color:var(--text-primary);font-family:var(--font-sans);font-size:12.5px;font-weight:600;line-height:1.55;margin:0}.widget-message--ai{justify-content:flex-start}.widget-message--ai .widget-message__bubble{border-left:2px solid var(--border-subtle);color:var(--text-body);font-family:var(--font-sans);font-size:12.5px;line-height:1.75;max-width:94%;padding:2px 0 2px 12px}.widget-message--ai .widget-message__bubble p{margin:0 0 8px}.widget-message--ai .widget-message__bubble p:last-child{margin-bottom:0}.widget-message--ai .widget-message__bubble strong{color:var(--text-primary);font-weight:700}.widget-message--ai .widget-message__bubble em{color:var(--accent)}.widget-message--ai .widget-message__bubble a{border-bottom:1px solid var(--border-accent-mid);color:var(--accent);text-decoration:none}.widget-message--ai .widget-message__bubble ol,.widget-message--ai .widget-message__bubble ul{display:flex;flex-direction:column;gap:5px;list-style:none;margin:4px 0 8px;padding-left:2px}.widget-message--ai .widget-message__bubble li{padding-left:14px;position:relative}.widget-message--ai .widget-message__bubble li:before{color:var(--accent);content:"/";font-family:var(--font-mono);left:0;opacity:.7;position:absolute;top:0}.widget-message--ai .widget-message__bubble code{background:var(--bg-tag);border:1px solid var(--border-tag);border-radius:2px;color:var(--text-code);font-family:var(--font-mono);font-size:10.5px;padding:0 5px}.widget-typing{align-items:center;border-left:2px solid var(--border-subtle);display:inline-flex;gap:5px;padding:8px 2px 8px 12px}.widget-typing span{-webkit-animation:widget-typing 1.2s ease-in-out infinite;animation:widget-typing 1.2s ease-in-out infinite;background:var(--accent);border-radius:50%;height:5px;width:5px}.widget-typing span:nth-child(2){-webkit-animation-delay:.15s;animation-delay:.15s}.widget-typing span:nth-child(3){-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes widget-typing{0%,60%,to{opacity:.25;-webkit-transform:translateY(0);transform:translateY(0)}30%{opacity:1;-webkit-transform:translateY(-3px);transform:translateY(-3px)}}@keyframes widget-typing{0%,60%,to{opacity:.25;-webkit-transform:translateY(0);transform:translateY(0)}30%{opacity:1;-webkit-transform:translateY(-3px);transform:translateY(-3px)}}.chat-widget__chips{border-top:1px solid var(--border-subtle);display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px;padding:10px 16px}.chat-widget__chip{background:transparent;border:1px solid var(--border-tag);border-radius:2px;color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);font-size:8.5px;font-weight:600;letter-spacing:.16em;padding:6px 11px;text-transform:uppercase;transition:color .2s ease,border-color .2s ease,background .2s ease}.chat-widget__chip:hover:not(:disabled){background:var(--accent-subtle);border-color:var(--border-accent-mid);color:var(--accent)}.chat-widget__chip:disabled{cursor:default;opacity:.4}.chat-widget__footer{align-items:center;border-top:1px solid var(--border-subtle);display:flex;flex-shrink:0;gap:10px;padding:12px 16px 14px}.chat-widget__input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:4px;color:var(--text-primary);flex:1 1;font-family:var(--font-sans);font-size:13px;outline:none;padding:8px 10px;transition:border-color .25s ease,background .25s ease}.chat-widget__input::-webkit-input-placeholder{color:var(--text-muted-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em}.chat-widget__input::placeholder{color:var(--text-muted-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em}.chat-widget__input:focus{border-color:var(--border-accent-strong)}.chat-widget__input:disabled{opacity:.5}.chat-widget__send{background:var(--accent);border:none;border-radius:2px;color:var(--accent-on);cursor:pointer;flex-shrink:0;font-size:14px;height:34px;line-height:1;transition:box-shadow .25s,opacity .2s,-webkit-transform .25s var(--ease-out);transition:transform .25s var(--ease-out),box-shadow .25s,opacity .2s;transition:transform .25s var(--ease-out),box-shadow .25s,opacity .2s,-webkit-transform .25s var(--ease-out);width:34px}.chat-widget__send:hover:not(:disabled){box-shadow:0 6px 18px var(--accent-glow);-webkit-transform:translate(1px,-2px);transform:translate(1px,-2px)}.chat-widget__send:disabled{cursor:default;opacity:.25}@media(prefers-reduced-motion:reduce){.chat-fab,.chat-widget,.chat-widget *{-webkit-animation:none!important;animation:none!important;transition:none!important}}@media screen and (max-width:1200px){.chat-fab{bottom:calc(80px + env(safe-area-inset-bottom, 0px));font-size:17px;height:48px;right:18px;width:48px}.chat-widget{bottom:calc(138px + env(safe-area-inset-bottom, 0px));height:min(480px,100vh - 210px);right:18px}}@media screen and (max-width:480px){.chat-widget{left:12px;max-width:none;right:12px;width:auto}}.vk-avatar{bottom:4px;opacity:0;pointer-events:none;position:fixed;right:20px;visibility:hidden;width:150px;z-index:9990}.vk-avatar>*{pointer-events:auto}.vk-avatar__hit{background:none;border:none;cursor:pointer;display:block;margin:0;padding:0;width:100%}.vk-avatar__hit .vk-avatar__svg{transition:-webkit-transform .35s var(--ease-out);transition:transform .35s var(--ease-out);transition:transform .35s var(--ease-out),-webkit-transform .35s var(--ease-out)}.vk-avatar__hit:hover .vk-avatar__svg{-webkit-transform:translateY(-3px);transform:translateY(-3px)}.vk-avatar__svg{display:block;height:auto;overflow:visible;width:100%}.vk-avatar__svg .shell{fill:var(--bg-elevated);stroke:var(--text-primary);stroke-width:3;stroke-linejoin:round}.vk-avatar__svg .pauldron{stroke-width:2.75}.vk-avatar__svg .visor{fill:var(--bg-sidebar-start);stroke:var(--border-accent);stroke-width:1.25}.vk-avatar__svg .brow-bar{fill:var(--text-primary);opacity:.9}.vk-avatar__svg .visor-shine{fill:none;stroke:var(--text-primary);stroke-width:2;stroke-linecap:round;opacity:.16}.vk-avatar__svg .eye-glow{fill:var(--accent);opacity:.14}.vk-avatar__svg .lamp{fill:var(--accent);-webkit-filter:drop-shadow(0 0 5px var(--accent-glow));filter:drop-shadow(0 0 5px var(--accent-glow))}.vk-avatar__svg .glint{fill:var(--accent-dim-flash);opacity:.8}.vk-avatar__svg .face-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round}.vk-avatar__svg .face-line--brow{stroke-width:3.25}.vk-avatar__svg .antenna-stem{fill:none;stroke:var(--text-primary);stroke-width:3.5;stroke-linecap:round}.vk-avatar__svg .antenna-tip{fill:var(--accent);-webkit-filter:drop-shadow(0 0 6px var(--accent-glow));filter:drop-shadow(0 0 6px var(--accent-glow))}.vk-avatar__svg .orbit{fill:none;stroke:var(--accent);stroke-width:1.4;opacity:.8}.vk-avatar__svg .limb{fill:none;stroke:var(--text-primary);stroke-width:6.5;stroke-linecap:round}.vk-avatar__svg .limb--fore{stroke-width:7.5}.vk-avatar__svg .hand-drop{fill:var(--accent);-webkit-filter:drop-shadow(0 0 4px var(--accent-glow));filter:drop-shadow(0 0 4px var(--accent-glow))}.vk-avatar__svg .seal{fill:var(--accent-dim);stroke:var(--border-accent-mid);stroke-width:1.5}.vk-avatar__svg .monogram{fill:var(--accent);font-family:var(--font-display);font-size:17px;font-style:italic;-webkit-user-select:none;user-select:none}.vk-avatar__svg .collar{fill:var(--accent-dim);stroke:var(--text-primary);stroke-width:2.5}.vk-avatar__svg .panel-line{fill:none;stroke:var(--border-accent);stroke-width:1.5;stroke-linecap:round}.vk-avatar__svg .nozzle{fill:var(--text-primary);opacity:.8}.vk-avatar__svg .flame{fill:var(--accent);opacity:.85}.vk-avatar__svg .flame-core{fill:var(--accent-dim-flash);opacity:.9}.vk-avatar__svg [data-part=shadow]{fill:var(--text-primary);opacity:.14}.vk-avatar__svg .under-glow{fill:var(--accent);opacity:.08}@media screen and (max-width:1199px){.vk-avatar{display:none}}.theme-switcher{position:fixed;right:20px;top:20px;z-index:200}.theme-toggle{align-items:center;background:var(--bg-sidebar-start);border:1px solid var(--border-accent);border-radius:50%;box-shadow:0 4px 18px rgba(0,0,0,.5);cursor:pointer;display:flex;height:40px;justify-content:center;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;width:40px}.theme-toggle--open,.theme-toggle:hover{background:var(--bg-sidebar-mid);border-color:var(--border-accent-mid);box-shadow:0 4px 22px rgba(0,0,0,.55),0 0 14px var(--accent-dim)}.toggle-icon{color:hsla(0,0%,100%,.25);font-size:14px;opacity:0;pointer-events:none;position:absolute;-webkit-transform:scale(.5) rotate(-30deg);transform:scale(.5) rotate(-30deg);transition:opacity .3s ease,color .25s ease,-webkit-transform .4s cubic-bezier(.34,1.56,.64,1);transition:opacity .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1),color .25s ease;transition:opacity .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1),color .25s ease,-webkit-transform .4s cubic-bezier(.34,1.56,.64,1)}.toggle-icon.active{color:var(--accent);opacity:.7;-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0deg)}.theme-toggle--open .toggle-icon.active,.theme-toggle:hover .toggle-icon.active{-webkit-filter:drop-shadow(0 0 5px var(--accent-glow));filter:drop-shadow(0 0 5px var(--accent-glow));opacity:1}.theme-popover{-webkit-animation:popover-in .2s cubic-bezier(.34,1.56,.64,1) both;animation:popover-in .2s cubic-bezier(.34,1.56,.64,1) both;background:var(--bg-sidebar-start);border:1px solid var(--border-accent);border-radius:4px;box-shadow:0 12px 40px rgba(0,0,0,.6),0 0 0 1px hsla(0,0%,100%,.02),0 0 20px var(--accent-subtle);left:auto;padding:10px 8px;position:absolute;right:0;top:calc(100% + 12px);width:152px;z-index:9000}.theme-popover:before{border:6px solid transparent;border-bottom:6px solid var(--border-accent);bottom:100%;content:"";position:absolute;right:11px}.theme-popover:after{border:6px solid transparent;border-bottom:6px solid var(--bg-sidebar-start);bottom:calc(100% - 1px);content:"";position:absolute;right:11px}@-webkit-keyframes popover-in{0%{opacity:0;-webkit-transform:translateY(-8px) scale(.95);transform:translateY(-8px) scale(.95)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes popover-in{0%{opacity:0;-webkit-transform:translateY(-8px) scale(.95);transform:translateY(-8px) scale(.95)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}.theme-popover__label{color:var(--accent);font-family:var(--font-mono);font-size:8px;letter-spacing:.22em;margin:0 0 8px 8px;opacity:.45;text-transform:uppercase}.theme-option{align-items:center;background:transparent;border:none;border-radius:3px;cursor:pointer;display:flex;gap:9px;padding:7px 8px;transition:background .15s ease,color .15s ease;width:100%}.theme-option:hover{background:var(--accent-subtle)}.theme-option--active{background:var(--accent-dim)}.theme-option__swatch{border:1px solid hsla(0,0%,100%,.08);border-radius:3px;display:flex;flex-shrink:0;height:16px;overflow:hidden;width:24px}.theme-option__swatch span{display:block;flex:1 1}.theme-option__icon{color:hsla(0,0%,100%,.22);flex-shrink:0;font-size:11px;transition:color .2s ease,-webkit-filter .2s ease;transition:color .2s ease,filter .2s ease;transition:color .2s ease,filter .2s ease,-webkit-filter .2s ease}.theme-option--active .theme-option__icon{color:var(--accent);-webkit-filter:drop-shadow(0 0 4px var(--accent-glow));filter:drop-shadow(0 0 4px var(--accent-glow))}.theme-option__name{color:hsla(0,0%,100%,.3);flex:1 1;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-align:left;transition:color .2s ease}.theme-option--active .theme-option__name{color:hsla(0,0%,100%,.85)}.theme-option__check{color:var(--accent);-webkit-filter:drop-shadow(0 0 3px var(--accent-glow));filter:drop-shadow(0 0 3px var(--accent-glow));font-size:10px}@media screen and (max-width:1200px){.theme-switcher{right:14px;top:14px}.theme-toggle{height:36px;width:36px}}.bg-wrap{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.bg-parallax{inset:-2.2%;position:absolute}.bg-drift{-webkit-animation:bg-drift 130s ease-in-out infinite alternate;animation:bg-drift 130s ease-in-out infinite alternate;inset:0;position:absolute}@media(prefers-reduced-motion:reduce){.bg-drift{-webkit-animation:none;animation:none}}.bg-svg-host{inset:0;opacity:0;position:absolute;transition:opacity 2.4s ease-out;transition:opacity 2.4s var(--ease-out,ease-out)}.bg-svg-host.is-ready{opacity:.45;opacity:var(--topo-opacity,.45)}.bg-svg-host.is-plotting{opacity:.66;opacity:var(--topo-plot-opacity,.66);transition:opacity .9s ease-out}@media(prefers-reduced-motion:reduce){.bg-svg-host{transition:none}}.bg-svg-host svg{display:block;height:100%;width:100%}.bg-svg-host path{fill:none;stroke:rgba(232,168,56,.22);stroke:var(--topo-line,rgba(232,168,56,.22));stroke-width:.5;stroke-linejoin:round;stroke-linecap:round}.bg-svg-host path.topo-major{stroke-width:.95}.bg-svg-host path.ink{stroke:#f6d78e;stroke:var(--topo-ink,#f6d78e)}.bg-svg-host.is-plotting path{transition:stroke 1.6s ease}.bg-svg-host .topo-heads path{stroke:#f6d78e;stroke:var(--topo-ink,#f6d78e);transition:none}.bg-svg-host .topo-head-core{stroke-width:1.8;stroke-opacity:.9}.bg-svg-host .topo-head-bloom{stroke-width:5;stroke-opacity:.18}.bg-img{display:block;height:100%;object-fit:cover;object-position:center center;opacity:.45;width:100%}@-webkit-keyframes bg-drift{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-22px);transform:translateX(-22px)}}@keyframes bg-drift{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-22px);transform:translateX(-22px)}}.page{height:100%;position:absolute;width:100%}.top-tags{bottom:auto;top:35px}.tags{bottom:0;color:var(--accent);font-family:var(--font-mono);font-size:13px;left:120px;letter-spacing:.08em;opacity:.35;position:absolute}.bottom-tag-html{margin-left:-20px}.bg-layer .bg-wrap{transition:opacity .6s ease}.bg-layer--hidden .bg-wrap{opacity:0}.container{-webkit-animation:fadeIn 1s forwards;animation:fadeIn 1s forwards;-webkit-animation-delay:.4s;animation-delay:.4s;height:90%;margin:0 auto;min-height:566px;opacity:0;position:absolute;top:5%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;width:100%;will-change:contents;z-index:1}@media screen and (max-width:1200px){.tags{display:none}.page{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px));position:static}.page:has(.resume-page){padding-bottom:0}.page:has(.ai-page){padding-bottom:0}.container{height:auto;min-height:auto;position:static}}.xp-page{-webkit-animation:fadeIn .8s .2s backwards;animation:fadeIn .8s .2s backwards;box-sizing:border-box;inset:0;overflow-x:hidden;overflow-y:auto;padding:64px 64px 90px 120px;position:absolute;z-index:1}.xp-page::-webkit-scrollbar{width:3px}.xp-page::-webkit-scrollbar-track{background:transparent}.xp-page::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.xp-ghost{-webkit-text-stroke:1px var(--text-faint);-webkit-animation:xp-ghost-in 2.4s .7s var(--ease-out) backwards;animation:xp-ghost-in 2.4s .7s var(--ease-out) backwards;color:transparent;font-family:var(--font-display);font-size:clamp(80px,10vw,150px);font-style:italic;font-weight:900;line-height:1;pointer-events:none;position:absolute;right:-8px;text-transform:uppercase;top:30px;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:0}.xp-header{align-items:flex-end;display:flex;gap:32px;justify-content:space-between;max-width:1040px;padding-bottom:26px;position:relative;z-index:1}.xp-kicker{align-items:center;color:var(--accent);display:flex;font-family:var(--font-mono);font-size:10px;gap:12px;letter-spacing:.3em;margin:0 0 12px;text-transform:uppercase}.xp-kicker__rule{background:var(--accent);height:1px;opacity:.8;width:36px}.xp-title{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(38px,4.8vw,60px);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin:0 0 12px}.xp-title em{font-style:italic}.xp-title .text-animate-hover:hover,.xp-title em{color:var(--accent)}.xp-title em .text-animate-hover:hover{color:var(--text-primary)}.xp-subtitle{color:var(--text-muted);font-family:var(--font-sans);font-size:13px;letter-spacing:.03em;margin:0;max-width:520px}.xp-index{display:flex;flex-shrink:0;gap:36px;padding-bottom:6px}.xp-index__item{display:flex;flex-direction:column;gap:5px;text-align:right}.xp-index__num{color:var(--accent);font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1}.xp-index__label{color:var(--text-muted);font-family:var(--font-mono);font-size:8px;letter-spacing:.24em;text-transform:uppercase}.xp-body{display:flex;gap:56px;max-width:1040px;position:relative;z-index:1}.xp-rail{align-self:flex-start;display:flex;flex-direction:column;flex-shrink:0;gap:4px;padding-top:34px;position:-webkit-sticky;position:sticky;top:12px;width:182px}.xp-rail__label{color:var(--text-muted-dim);font-family:var(--font-mono);font-size:8px;letter-spacing:.28em;margin-bottom:10px;text-transform:uppercase}.xp-rail__item{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;gap:10px;padding:7px 0;text-align:left}.xp-rail__item .xp-rail__tick{background:var(--text-muted-dim);flex-shrink:0;height:1px;transition:width .35s var(--ease-out),background .3s ease;width:14px}.xp-rail__item .xp-rail__name{color:var(--text-muted);font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.14em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;transition:color .3s ease;white-space:nowrap}.xp-rail__item:hover .xp-rail__tick{background:var(--accent)}.xp-rail__item:hover .xp-rail__name{color:var(--text-primary)}.xp-rail__item.is-active .xp-rail__tick{background:var(--accent);box-shadow:0 0 8px var(--accent-glow);width:26px}.xp-rail__item.is-active .xp-rail__name{color:var(--accent)}.xp-feed{flex:1 1;max-width:760px;min-width:0}.xp-reveal{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px);transition:opacity .85s var(--ease-out),-webkit-transform .85s var(--ease-out);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out),-webkit-transform .85s var(--ease-out)}.xp-reveal.is-in{opacity:1;-webkit-transform:none;transform:none}.xp-entry{border-bottom:1px solid var(--border-subtle);padding:38px 0 44px;position:relative;scroll-margin-top:8px}.xp-entry__ghost{-webkit-text-stroke:1px var(--border-card);color:transparent;font-family:var(--font-display);font-size:92px;font-style:italic;font-weight:700;line-height:1;pointer-events:none;position:absolute;right:0;top:18px;-webkit-user-select:none;user-select:none}.xp-entry__head{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.xp-entry__company{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(24px,2.6vw,32px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0 0 8px}.xp-entry__live{-webkit-animation:xp-live-pulse 2.2s ease-in-out infinite;animation:xp-live-pulse 2.2s ease-in-out infinite;background:#22c55e;border-radius:50%;display:inline-block;height:7px;margin-left:12px;vertical-align:6px;width:7px}.xp-entry__role{color:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.22em;margin:0;text-transform:uppercase}.xp-entry__when{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:7px;padding-top:6px}.xp-entry__range{font-size:9px;letter-spacing:.16em}.xp-entry__range,.xp-entry__tenure{color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;white-space:nowrap}.xp-entry__tenure{border:1px solid var(--border-subtle);border-radius:100px;font-size:8.5px;font-weight:600;letter-spacing:.14em;padding:3px 10px}.xp-entry__tenure--current{background:var(--accent-dim);border-color:var(--border-accent-mid);color:var(--accent)}.xp-stats{border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:14px 48px;margin-bottom:26px;padding:14px 0}.xp-stat{display:flex;flex-direction:column;gap:6px}.xp-stat__value{color:var(--accent);font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1}.xp-stat__label{color:var(--text-muted);font-family:var(--font-mono);font-size:8px;letter-spacing:.24em;text-transform:uppercase}.xp-bullets{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0 0 22px;padding:0}.xp-bullet{color:var(--text-muted);font-family:var(--font-sans);font-size:13px;line-height:1.8;padding-left:20px;position:relative}.xp-bullet:before{color:var(--accent);content:"/";font-family:var(--font-mono);left:0;opacity:.7;position:absolute;top:0}.xp-bullet__lead{color:var(--text-primary);font-weight:700}.xp-tags{align-items:baseline;color:var(--text-muted);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:9.5px;font-weight:500;letter-spacing:.16em;margin:0;row-gap:7px;text-transform:uppercase}.xp-tags__item{align-items:baseline;display:inline-flex}.xp-tags__sep{color:var(--accent);margin:0 8px;opacity:.6}.xp-rule-title{align-items:center;display:flex;gap:12px;margin:0 0 26px}.xp-rule-title__index{color:var(--accent);font-family:var(--font-display);font-size:17px;font-style:italic;font-weight:700;line-height:1}.xp-rule-title__text{color:var(--text-primary);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.xp-rule-title__line{background:var(--border-subtle);flex:1 1;height:1px}.xp-arsenal{padding-top:46px}.xp-arsenal__grid{display:flex;flex-direction:column;gap:15px}.xp-arsenal__row{align-items:flex-start;display:flex;gap:24px}.xp-arsenal__cat{color:var(--accent);flex-shrink:0;font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.2em;min-width:168px;padding-top:5px;text-transform:uppercase}.xp-arsenal__tags{display:flex;flex-wrap:wrap;gap:7px}.xp-arsenal__tag{background:var(--bg-tag);border:1px solid var(--border-tag);border-radius:2px;color:var(--text-code);cursor:default;font-family:var(--font-mono);font-size:10.5px;padding:4px 11px;transition:color .2s ease,border-color .2s ease,background .2s ease}.xp-arsenal__tag:hover{background:var(--bg-tag-hover);border-color:var(--border-accent-mid);color:var(--accent)}@-webkit-keyframes xp-ghost-in{0%{letter-spacing:.22em;opacity:0}to{letter-spacing:.02em;opacity:1}}@keyframes xp-ghost-in{0%{letter-spacing:.22em;opacity:0}to{letter-spacing:.02em;opacity:1}}@-webkit-keyframes xp-live-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@keyframes xp-live-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@media(prefers-reduced-motion:reduce){.xp-page,.xp-page *{-webkit-animation:none!important;animation:none!important;transition:none!important}.xp-reveal{opacity:1;-webkit-transform:none;transform:none}}@media screen and (max-width:1200px){.xp-page{height:auto;overflow:visible;padding:44px 24px 32px;position:static}.xp-ghost,.xp-rail{display:none}.xp-body{gap:0}.xp-index{display:none}}@media screen and (max-width:768px){.xp-page{padding:36px 20px 24px}.xp-entry{padding:30px 0 36px}.xp-entry__ghost{font-size:68px;top:26px}.xp-entry__head{flex-direction:column;gap:12px}.xp-entry__when{align-items:center;flex-direction:row;gap:12px;padding-top:0}.xp-stats{gap:12px 30px}.xp-stat__value{font-size:22px}.xp-arsenal__row{flex-direction:column;gap:8px}.xp-arsenal__cat{min-width:0;padding-top:0}}@media screen and (max-width:480px){.xp-page{padding:30px 16px 20px}.xp-entry__ghost{display:none}.xp-bullet{font-size:12.5px;line-height:1.75}}.projects-page{left:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;position:absolute;top:0;width:100%}.pj-hero,.projects-page{box-sizing:border-box;height:100%}.pj-hero{display:flex;flex-direction:column;min-height:480px;padding:9vh 48px 12vh 120px;position:relative}.pj-hero:before{background-image:var(--bg-page-pattern);background-size:28px 28px;content:"";inset:0;pointer-events:none;position:absolute}.pj-hero__kicker{align-items:center;-webkit-animation:pj-fade-up .8s var(--ease-out) .1s backwards;animation:pj-fade-up .8s var(--ease-out) .1s backwards;color:var(--accent);display:flex;font-family:var(--font-mono);font-size:10px;font-weight:600;gap:14px;letter-spacing:.34em;margin:0 0 auto;text-transform:uppercase}.pj-hero__rule{background:var(--border-accent-strong);height:1px;width:44px}.pj-hero__title{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(84px,12.5vw,196px);font-weight:900;letter-spacing:-.02em;line-height:.98;margin:0}.pj-hero__title em{color:var(--accent);font-style:italic}.pj-hero__line{display:block;overflow:hidden;padding-bottom:.06em}.pj-hero__line-inner{-webkit-animation:pj-rise .95s var(--ease-out) forwards;animation:pj-rise .95s var(--ease-out) forwards;display:inline-block;-webkit-transform:translateY(115%);transform:translateY(115%)}.pj-hero__line:nth-child(2) .pj-hero__line-inner{-webkit-animation-delay:.14s;animation-delay:.14s}.pj-hero__foot{align-items:flex-end;-webkit-animation:pj-fade-up .8s var(--ease-out) .55s backwards;animation:pj-fade-up .8s var(--ease-out) .55s backwards;display:flex;gap:40px;justify-content:space-between;margin-top:auto}.pj-hero__sub{color:var(--text-muted);font-family:var(--font-sans);font-size:13.5px;line-height:1.75;margin:0;max-width:420px}.pj-hero__stats{display:flex;gap:34px;margin-right:170px}.pj-hero__stat{color:var(--text-muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase}.pj-hero__stat b{color:var(--text-primary);display:block;font-family:var(--font-display);font-size:30px;font-style:italic;font-weight:900;letter-spacing:0;margin-bottom:6px}.pj-hero__cue{align-items:center;-webkit-animation:pj-fade-up .8s var(--ease-out) .8s backwards;animation:pj-fade-up .8s var(--ease-out) .8s backwards;bottom:26px;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:9px;gap:10px;left:50%;letter-spacing:.34em;margin:0;position:absolute;text-transform:uppercase;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pj-hero__cue svg{-webkit-animation:pj-cue-bob 1.6s ease-in-out infinite;animation:pj-cue-bob 1.6s ease-in-out infinite;color:var(--accent)}.pj-cross{left:0;opacity:0;pointer-events:none;position:fixed;top:0;will-change:transform,opacity;z-index:3}.pj-cross--v{border-left:1px dashed hsla(40,33%,91%,.16);height:100%;width:0}.pj-cross--h{border-top:1px dashed hsla(40,33%,91%,.16);height:0;width:100%}[data-theme=light] .pj-cross--v{border-left-color:rgba(15,25,35,.16)}[data-theme=light] .pj-cross--h{border-top-color:rgba(15,25,35,.16)}.pj-trail{align-items:center;display:flex;flex-direction:column;gap:12px;left:0;opacity:0;pointer-events:none;position:fixed;top:0;will-change:transform,opacity;z-index:4}.pj-trail__box{aspect-ratio:16/10;border:1px solid hsla(0,0%,100%,.12);border-radius:4px;box-shadow:0 34px 80px rgba(0,0,0,.5);overflow:hidden;width:248px}.pj-trail__box img{display:block;height:100%;object-fit:cover;width:100%}.pj-trail.is-swap .pj-trail__box img{-webkit-animation:pj-trail-swap .5s var(--ease-out);animation:pj-trail-swap .5s var(--ease-out)}.pj-trail__cap{color:var(--text-primary);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}@-webkit-keyframes pj-trail-swap{0%{opacity:.2;-webkit-transform:scale(1.05);transform:scale(1.05)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes pj-trail-swap{0%{opacity:.2;-webkit-transform:scale(1.05);transform:scale(1.05)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.pj-deck{position:relative}.pj-stage{background:#05050c;overflow:hidden;position:-webkit-sticky;position:sticky;top:0}.pj-stageleft{height:100%;left:0;-webkit-perspective:1700px;perspective:1700px;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%;position:absolute;top:0;width:59%}.pj-stageleft:after{background:radial-gradient(120% 80% at 42% 50%,transparent 42%,rgba(3,3,9,.72) 100%);content:"";inset:0;pointer-events:none;position:absolute}.pj-fig{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#101018;border:1px solid hsla(0,0%,100%,.14);border-radius:8px;box-shadow:0 60px 120px rgba(0,0,0,.62);left:50%;margin:0;overflow:hidden;position:absolute;top:50%;-webkit-transform-origin:center 60%;transform-origin:center 60%;visibility:hidden;width:min(74%,820px);will-change:transform,opacity}.pj-fig>img{aspect-ratio:16/10;display:block;object-fit:cover;object-position:top;width:100%}.pj-panel{align-items:center;background:#050508;border-left:1px solid hsla(0,0%,100%,.05);bottom:0;box-sizing:border-box;display:flex;padding:0 3.4vw;position:absolute;right:0;top:0;width:41%}.pj-panel__inner{display:flex;flex-direction:column;gap:13px;width:100%}.pj-panel__count{-webkit-animation:pj-fade-up .5s var(--ease-out) both;animation:pj-fade-up .5s var(--ease-out) both;color:hsla(0,0%,100%,.4);font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;margin:0 0 6px}.pj-panel__title{align-items:flex-start;color:#f2eee6;display:flex;font-family:var(--font-sans);font-size:clamp(32px,3.3vw,60px);font-weight:500;gap:12px;letter-spacing:.01em;line-height:1.06;margin:0;overflow-wrap:anywhere;text-transform:uppercase}.pj-panel__title-mask{display:inline-block;overflow:hidden;padding-bottom:.08em}.pj-panel__title-mask i{-webkit-animation:pj-rise .8s var(--ease-out) .05s forwards;animation:pj-rise .8s var(--ease-out) .05s forwards;display:inline-block;font-style:normal;-webkit-transform:translateY(112%);transform:translateY(112%)}.pj-panel__open{-webkit-animation:pj-fade-up .6s var(--ease-out) .35s both;animation:pj-fade-up .6s var(--ease-out) .35s both;color:var(--accent);flex-shrink:0;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;margin-top:.55em;text-decoration:none;text-transform:uppercase}.pj-panel__open:hover{text-decoration:underline}.pj-panel__open--static{color:hsla(0,0%,100%,.35)}.pj-panel__meta{-webkit-animation:pj-fade-up .55s var(--ease-out) .18s both;animation:pj-fade-up .55s var(--ease-out) .18s both;color:hsla(0,0%,100%,.55);font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;margin:0;text-transform:uppercase}.pj-panel__meta--dim{color:hsla(0,0%,100%,.34)}.pj-panel__desc{-webkit-animation:pj-fade-up .6s var(--ease-out) .28s both;animation:pj-fade-up .6s var(--ease-out) .28s both;color:hsla(0,0%,100%,.52);font-family:var(--font-sans);font-size:13px;line-height:1.7;margin:8px 0 0}.pj-panel__links{-webkit-animation:pj-fade-up .6s var(--ease-out) .4s both;animation:pj-fade-up .6s var(--ease-out) .4s both;margin-top:12px}.pj-stage__rail{background:hsla(0,0%,100%,.12);bottom:18%;position:absolute;right:26px;top:18%;width:2px;z-index:3}.pj-stage__rail i{background:var(--accent);display:block;height:100%;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:top;transform-origin:top;width:100%;will-change:transform}.pj-flat{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:10px 24px 30px}.pj-more{padding:90px 48px 30px 120px}.pj-more__head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:28px}.pj-more__kicker{align-items:center;color:var(--accent);display:flex;font-size:10px;font-weight:600;gap:14px;letter-spacing:.34em;margin:0}.pj-more__count,.pj-more__kicker{font-family:var(--font-mono);text-transform:uppercase}.pj-more__count{color:var(--text-muted-dim);font-size:9px;letter-spacing:.22em}.pj-cta{align-items:center;display:flex;gap:26px;padding:40px 48px 90px 120px}.pj-cta__line{color:var(--text-primary);font-family:var(--font-display);font-size:26px;font-style:italic;font-weight:700;margin:0}@-webkit-keyframes pj-rise{to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes pj-rise{to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes pj-fade-up{0%{opacity:0;-webkit-transform:translateY(22px);transform:translateY(22px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes pj-fade-up{0%{opacity:0;-webkit-transform:translateY(22px);transform:translateY(22px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes pj-art-in{0%{-webkit-clip-path:inset(6% 9% 6% 9% round 10px);clip-path:inset(6% 9% 6% 9% round 10px);opacity:0;-webkit-transform:scale(1.035);transform:scale(1.035)}to{-webkit-clip-path:inset(0 0 0 0 round 10px);clip-path:inset(0 0 0 0 round 10px);opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes pj-art-in{0%{-webkit-clip-path:inset(6% 9% 6% 9% round 10px);clip-path:inset(6% 9% 6% 9% round 10px);opacity:0;-webkit-transform:scale(1.035);transform:scale(1.035)}to{-webkit-clip-path:inset(0 0 0 0 round 10px);clip-path:inset(0 0 0 0 round 10px);opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes pj-ghost-in{0%{opacity:0;-webkit-transform:translateX(4%);transform:translateX(4%)}to{opacity:1}}@keyframes pj-ghost-in{0%{opacity:0;-webkit-transform:translateX(4%);transform:translateX(4%)}to{opacity:1}}@-webkit-keyframes pj-cue-bob{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(5px);transform:translateY(5px)}}@keyframes pj-cue-bob{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(5px);transform:translateY(5px)}}.card-glare{background:radial-gradient(620px circle at 50% 50%,hsla(0,0%,100%,.09),transparent 46%);background:radial-gradient(620px circle at var(--mx,50%) var(--my,50%),hsla(0,0%,100%,.09),transparent 46%);border-radius:inherit;inset:0;opacity:0;pointer-events:none;position:absolute;-webkit-transform:translateZ(2px);transform:translateZ(2px);transition:opacity .35s ease}[data-theme=light] .card-glare{background:radial-gradient(620px circle at 50% 50%,rgba(201,145,10,.1),transparent 46%);background:radial-gradient(620px circle at var(--mx,50%) var(--my,50%),rgba(201,145,10,.1),transparent 46%)}.card-meta{align-items:baseline;display:flex;font-family:var(--font-mono);font-size:9px;gap:10px;letter-spacing:.2em;text-transform:uppercase}.card-meta__code{color:var(--accent);font-weight:700}.card-meta__sep{color:var(--text-muted-dim)}.card-meta__domain{color:var(--text-muted)}.card-meta__year{color:var(--text-muted-dim);margin-left:auto}.card-tech{align-items:baseline;color:var(--text-muted);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.16em;margin:0;row-gap:6px;text-transform:uppercase}.card-tech__item{align-items:baseline;display:inline-flex}.card-tech__sep{color:var(--accent);margin:0 7px;opacity:.6}.card-links{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.card-btn{align-items:center;border-radius:2px;display:inline-flex;font-family:var(--font-sans);font-size:9px;font-weight:800;gap:7px;letter-spacing:.16em;padding:9px 16px;text-decoration:none;text-transform:uppercase;transition:box-shadow .22s,background .22s,color .22s,border-color .22s,-webkit-transform .22s var(--ease-out);transition:transform .22s var(--ease-out),box-shadow .22s,background .22s,color .22s,border-color .22s;transition:transform .22s var(--ease-out),box-shadow .22s,background .22s,color .22s,border-color .22s,-webkit-transform .22s var(--ease-out)}.card-btn--primary{background:var(--accent);color:var(--accent-on)}.card-btn--primary:hover{box-shadow:0 8px 24px var(--accent-glow);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.card-btn--ghost{background:transparent;border:1px solid var(--border-card);color:var(--text-muted)}.card-btn--ghost:hover{border-color:var(--accent);color:var(--accent);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.pj-panel .card-btn--ghost{border-color:hsla(0,0%,100%,.18);color:hsla(0,0%,100%,.6)}.badge-private{border:1px dashed var(--border-accent-mid);border-radius:2px;color:var(--accent);cursor:help;gap:7px;letter-spacing:.2em;padding:8px 13px}.art-chip,.badge-private{align-items:center;display:inline-flex;font-family:var(--font-mono);font-size:8px;font-weight:600;text-transform:uppercase}.art-chip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(7,7,15,.62);border:1px solid rgba(232,168,56,.35);border-radius:2px;color:#f0c070;gap:6px;letter-spacing:.22em;padding:5px 9px;position:absolute;right:12px;top:12px;z-index:2}.ui-preview{background:#0d0d16;border:1px solid rgba(232,168,56,.3);border-radius:7px;box-shadow:0 24px 60px rgba(0,0,0,.7),0 0 44px rgba(232,168,56,.08);display:flex;flex-direction:column;inset:8% 6.5%;margin:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;-webkit-transform:translateY(18px) scale(.93);transform:translateY(18px) scale(.93);transition:opacity .4s var(--ease-out),-webkit-transform .5s var(--ease-out);transition:opacity .4s var(--ease-out),transform .5s var(--ease-out);transition:opacity .4s var(--ease-out),transform .5s var(--ease-out),-webkit-transform .5s var(--ease-out);z-index:3}.ui-preview>img{flex:1 1;min-height:0;object-fit:cover;width:100%}.ui-preview__chrome{align-items:center;background:#14141f;border-bottom:1px solid hsla(0,0%,100%,.06);display:flex;flex-shrink:0;gap:8px;height:26px;padding:0 10px}.ui-preview__dots{display:inline-flex;gap:5px}.ui-preview__dots i{background:hsla(0,0%,100%,.14);border-radius:50%;height:7px;width:7px}.ui-preview__dots i:first-child{background:rgba(232,168,56,.75)}.ui-preview__bar{background:hsla(0,0%,100%,.07);border-radius:4px;flex:1 1;height:8px}.ui-preview__tag{color:var(--accent);font-family:var(--font-mono);font-size:7px;font-weight:600;letter-spacing:.24em;opacity:.9;text-transform:uppercase;white-space:nowrap}@media(hover:hover)and (pointer:fine){.cell-card:hover .ui-preview{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.cell-card:hover .art-has-ui>img{-webkit-filter:brightness(.35) saturate(.7);filter:brightness(.35) saturate(.7)}}.art--show-ui .ui-preview{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.art--show-ui>img{-webkit-filter:brightness(.35) saturate(.7);filter:brightness(.35) saturate(.7)}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.projects-grid:hover .cell-scene:not(:hover){-webkit-filter:saturate(.6) brightness(.85);filter:saturate(.6) brightness(.85);opacity:.55}.cell-scene{-webkit-perspective:1000px;perspective:1000px;transition:opacity .4s ease,-webkit-filter .4s ease;transition:opacity .4s ease,filter .4s ease;transition:opacity .4s ease,filter .4s ease,-webkit-filter .4s ease}.cell-card{background:var(--bg-elevated);border:1px solid var(--border-card);border-radius:8px;display:flex;flex-direction:column;height:100%;position:relative;-webkit-transform:rotateX(0deg) rotateY(0deg);transform:rotateX(0deg) rotateY(0deg);-webkit-transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:border-color .3s ease,box-shadow .3s ease,-webkit-transform .18s ease-out;transition:transform .18s ease-out,border-color .3s ease,box-shadow .3s ease;transition:transform .18s ease-out,border-color .3s ease,box-shadow .3s ease,-webkit-transform .18s ease-out;will-change:transform}.cell-card:hover{border-color:var(--border-accent-mid);box-shadow:0 26px 54px rgba(0,0,0,.5),0 0 44px var(--accent-subtle)}.cell-card:hover .card-glare{opacity:1}.cell-card:hover .cell-card__art>img{-webkit-transform:scale(1.06);transform:scale(1.06)}.cell-card:hover .cell-card__title{color:var(--accent)}.cell-card:hover .cell-card__num{opacity:.9}.cell-card:hover .cell-card__body{-webkit-transform:translateZ(26px) translateY(-3px);transform:translateZ(26px) translateY(-3px)}.cell-card__art{aspect-ratio:16/10;border-radius:8px 8px 0 0;overflow:hidden;position:relative;-webkit-transform:translateZ(14px);transform:translateZ(14px)}.cell-card__art>img{height:100%;inset:0;object-fit:cover;position:absolute;transition:-webkit-transform .8s var(--ease-out),-webkit-filter .45s ease;transition:transform .8s var(--ease-out),filter .45s ease;transition:transform .8s var(--ease-out),filter .45s ease,-webkit-transform .8s var(--ease-out),-webkit-filter .45s ease;width:100%}.cell-card__art.art-squeeze,.cell-card__art.art-squeeze>img{transition:none;will-change:transform}.cell-card__num{-webkit-text-stroke:1px var(--accent);color:transparent;font-family:var(--font-display);font-size:44px;font-style:italic;font-weight:900;left:16px;line-height:1;opacity:.65;pointer-events:none;position:absolute;top:10px;-webkit-transform:translateZ(46px);transform:translateZ(46px);transition:opacity .3s ease;-webkit-user-select:none;user-select:none;z-index:3}.cell-card__body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:18px 20px 20px;-webkit-transform:translateZ(26px);transform:translateZ(26px)}.cell-card__title{color:var(--text-primary);font-size:16.5px;font-weight:700;letter-spacing:-.01em;line-height:1.25;transition:color .25s ease}.cell-card__desc,.cell-card__title{font-family:var(--font-sans);margin:0}.cell-card__desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;flex:1 1;font-size:12.5px;line-height:1.7;overflow:hidden}@media screen and (max-width:1200px){.pj-hero{padding:7vh 24px 10vh}.pj-more{padding:60px 24px 20px}.pj-cta{padding:30px 24px 70px}.pj-strip{width:55%}.pj-panel{width:45%}}@media screen and (max-width:980px){.projects-grid{grid-template-columns:repeat(2,1fr)}.pj-hero__title{font-size:clamp(56px,13vw,110px)}.pj-hero__foot{align-items:flex-start;flex-direction:column;gap:22px}}@media screen and (max-width:640px){.projects-grid{gap:16px;grid-template-columns:1fr}.pj-flat{padding:6px 16px 24px}.pj-hero{min-height:380px;padding:6vh 16px 9vh}.pj-hero__cue{display:none}.pj-cta{align-items:flex-start;flex-direction:column;padding-bottom:100px}.card-links .card-btn{padding:8px 14px}}.resume-page{box-sizing:border-box;height:100%;left:0;overflow-y:auto;padding:64px 48px 90px 120px;position:absolute;top:0;width:100%;z-index:1}.resume-page::-webkit-scrollbar{width:3px}.resume-page::-webkit-scrollbar-track{background:transparent}.resume-page::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.resume-container{-webkit-animation:fadeIn .9s .3s backwards;animation:fadeIn .9s .3s backwards;margin:0 auto;max-width:1080px}.resume-hero{align-items:flex-end;display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}.resume-kicker{align-items:center;color:var(--accent);display:flex;font-family:var(--font-mono);font-size:10px;gap:12px;letter-spacing:.3em;margin:0 0 14px;text-transform:uppercase}.resume-kicker__rule{background:var(--accent);height:1px;opacity:.8;width:36px}.resume-name{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(34px,4.2vw,54px);font-weight:900;letter-spacing:-.025em;line-height:1.04;margin:0}.resume-name em{color:var(--accent);font-style:italic;font-weight:700}.resume-role{align-items:center;color:var(--text-secondary);display:flex;font-family:var(--font-mono);font-size:12px;font-weight:500;gap:10px;letter-spacing:.22em;margin:14px 0 0;text-transform:uppercase}.resume-role__prompt{color:var(--accent);font-weight:600}.resume-actions{display:flex;gap:12px;padding-bottom:4px}.cv-button{align-items:center;border-radius:2px;cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:10px;font-weight:800;gap:9px;letter-spacing:.18em;padding:13px 22px;text-transform:uppercase;transition:box-shadow .25s,background .25s,color .25s,border-color .25s,-webkit-transform .25s var(--ease-out);transition:transform .25s var(--ease-out),box-shadow .25s,background .25s,color .25s,border-color .25s;transition:transform .25s var(--ease-out),box-shadow .25s,background .25s,color .25s,border-color .25s,-webkit-transform .25s var(--ease-out)}.cv-button--primary{background:var(--accent);border:1px solid var(--accent);color:var(--accent-on)}.cv-button--primary:hover:not(:disabled){box-shadow:0 10px 30px var(--accent-glow);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.cv-button--outline{background:transparent;border:1px solid var(--border-accent-strong);color:var(--accent)}.cv-button--outline:hover:not(:disabled){background:var(--accent-dim);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.cv-button--loading{cursor:wait;opacity:.75}.cv-button--success{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.6);color:#22c55e}.cv-button--error{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.6);color:#ef4444}.cv-button:disabled{pointer-events:none}.cv-spin{-webkit-animation:cv-rotate .9s linear infinite;animation:cv-rotate .9s linear infinite}@-webkit-keyframes cv-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes cv-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.resume-contact-row{border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:6px 26px;margin-top:26px;padding:16px 0}.contact-item{align-items:center;color:var(--text-muted);display:inline-flex;font-family:var(--font-mono);font-size:10px;gap:8px;letter-spacing:.08em;text-decoration:none;transition:color .2s ease}.contact-item svg{font-size:11px;opacity:.8}.contact-item svg,.contact-item:hover{color:var(--accent)}.resume-body{grid-gap:56px;display:grid;gap:56px;grid-template-columns:1fr 300px;margin-top:40px}.resume-section{margin-bottom:42px}.resume-section:last-child{margin-bottom:0}.section-title{align-items:center;display:flex;gap:12px;margin:0 0 20px}.section-title__index{color:var(--accent);font-family:var(--font-display);font-size:17px;font-style:italic;font-weight:700;line-height:1}.section-title__text{color:var(--text-primary);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.section-title__rule{background:var(--border-subtle);flex:1 1;height:1px}.summary-text{color:var(--text-body);font-family:var(--font-sans);font-size:13.5px;line-height:1.9;margin:0}.summary-text:first-letter{color:var(--accent);float:left;font-family:var(--font-display);font-size:42px;font-weight:900;line-height:.85;margin:4px 10px 0 0}.experience-list{display:flex;flex-direction:column;gap:34px}.job-entry{border-left:1px solid var(--border-accent);padding-left:22px;position:relative}.job-entry:before{background:var(--accent);border-radius:50%;box-shadow:0 0 0 3px var(--accent-dim);content:"";height:7px;left:-4px;position:absolute;top:6px;width:7px}.job-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:12px}.job-company{color:var(--text-primary);font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0}.job-title{color:var(--accent);font-size:10px;font-weight:500;letter-spacing:.2em;margin:3px 0 0}.job-range,.job-title{font-family:var(--font-mono);text-transform:uppercase}.job-range{border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-muted);font-size:9px;letter-spacing:.16em;padding:4px 12px;white-space:nowrap}.job-bullets{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.job-bullets li{color:var(--text-muted);font-family:var(--font-sans);font-size:12.5px;line-height:1.75;padding-left:18px;position:relative}.job-bullets li:before{color:var(--accent);content:"/";font-family:var(--font-mono);left:0;opacity:.7;position:absolute;top:0}.resume-bullet-lead{color:var(--text-primary);font-weight:700}.skills-list{display:flex;flex-direction:column;gap:18px}.skill-category-label{color:var(--accent);display:block;font-family:var(--font-mono);font-size:8.5px;font-weight:600;letter-spacing:.22em;margin-bottom:7px;text-transform:uppercase}.skill-tag-row{display:flex;flex-wrap:wrap;gap:5px}.skill-chip{background:var(--bg-tag);border:1px solid var(--border-tag);border-radius:2px;color:var(--text-secondary);font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.06em;padding:3px 8px;transition:color .2s ease,border-color .2s ease,background .2s ease}.skill-chip:hover{background:var(--bg-tag-hover);border-color:var(--border-accent-mid);color:var(--accent)}.edu-card{border-bottom:1px solid var(--border-subtle);padding:14px 0}.edu-card:last-child{border-bottom:none}.edu-school{color:var(--text-primary);font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1.3;margin:0}.edu-degree{color:var(--accent);font-family:var(--font-sans);font-size:12px;margin:4px 0 0}.edu-meta{color:var(--text-muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;margin:5px 0 0;text-transform:uppercase}@media screen and (max-width:1200px){.resume-page{height:auto;overflow:visible;padding:40px 24px 60px;position:static}.resume-body{gap:40px;grid-template-columns:1fr}}@media screen and (max-width:640px){.resume-page{padding:32px 16px 48px}.resume-hero{align-items:flex-start;flex-direction:column}.resume-actions{width:100%}.cv-button{flex:1 1;justify-content:center;padding:12px 14px}.resume-contact-row{gap:8px 18px}.job-header{flex-direction:column;gap:8px}.summary-text:first-letter{font-size:34px}}.ai-page{-webkit-animation:fadeIn .8s .2s backwards;animation:fadeIn .8s .2s backwards;box-sizing:border-box;display:flex;gap:64px;inset:0;overflow:hidden;padding:64px 64px 28px 120px;position:absolute}.ai-live{-webkit-animation:ai-live-pulse 2.2s ease-in-out infinite;animation:ai-live-pulse 2.2s ease-in-out infinite;background:#22c55e;border-radius:50%;display:inline-block;flex-shrink:0;height:6px;width:6px}.ai-live--busy{-webkit-animation:ai-busy-blink .7s step-end infinite;animation:ai-busy-blink .7s step-end infinite;background:var(--accent)}.ai-panel{box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;padding-bottom:30px;position:relative;width:250px;z-index:2}.ai-kicker{align-items:center;-webkit-animation:ai-rise .9s .45s var(--ease-out) backwards;animation:ai-rise .9s .45s var(--ease-out) backwards;color:var(--accent);display:flex;font-family:var(--font-mono);font-size:10px;gap:12px;letter-spacing:.3em;margin:0 0 16px;text-transform:uppercase}.ai-kicker__rule{background:var(--accent);height:1px;opacity:.8;width:36px}.ai-brand{-webkit-animation:ai-rise .9s .55s var(--ease-out) backwards;animation:ai-rise .9s .55s var(--ease-out) backwards;color:var(--text-primary);font-family:var(--font-display);font-size:34px;font-weight:900;letter-spacing:-.02em;line-height:1.05;margin:0 0 12px}.ai-brand em{color:var(--accent);font-style:italic;font-weight:700}.ai-powered{align-items:center;-webkit-animation:ai-rise .9s .65s var(--ease-out) backwards;animation:ai-rise .9s .65s var(--ease-out) backwards;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:9px;gap:9px;letter-spacing:.22em;margin:0;text-transform:uppercase}.ai-panel__divider{background:var(--border-subtle);height:1px;margin:26px 0 22px}.ai-panel__label{-webkit-animation:ai-rise .9s .75s var(--ease-out) backwards;animation:ai-rise .9s .75s var(--ease-out) backwards;color:var(--text-muted-dim);font-family:var(--font-mono);font-size:8px;letter-spacing:.28em;margin:0 0 10px;text-transform:uppercase}.ai-topics{-webkit-animation:ai-rise .9s .85s var(--ease-out) backwards;animation:ai-rise .9s .85s var(--ease-out) backwards;display:flex;flex-direction:column}.ai-topic{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;gap:12px;padding:9px 0;text-align:left;transition:-webkit-transform .3s var(--ease-out);transition:transform .3s var(--ease-out);transition:transform .3s var(--ease-out),-webkit-transform .3s var(--ease-out)}.ai-topic__num{color:var(--text-muted-dim);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;transition:color .25s ease}.ai-topic__label{color:var(--text-secondary);font-family:var(--font-sans);font-size:13.5px;font-weight:600;transition:color .25s ease}.ai-topic__tick{background:transparent;flex:1 1;height:1px;position:relative}.ai-topic__tick:after{background:var(--accent);content:"";inset:0;position:absolute;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .4s var(--ease-out);transition:transform .4s var(--ease-out);transition:transform .4s var(--ease-out),-webkit-transform .4s var(--ease-out)}.ai-topic:hover:not(:disabled){-webkit-transform:translateX(5px);transform:translateX(5px)}.ai-topic:hover:not(:disabled) .ai-topic__num{color:var(--accent)}.ai-topic:hover:not(:disabled) .ai-topic__label{color:var(--text-primary)}.ai-topic:hover:not(:disabled) .ai-topic__tick:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.ai-topic:disabled{cursor:default;opacity:.45}.ai-panel__foot{-webkit-animation:ai-rise .9s 1.2s var(--ease-out) backwards;animation:ai-rise .9s 1.2s var(--ease-out) backwards;display:flex;flex-direction:column;gap:16px;margin-top:auto;padding-top:22px}.ai-clear{align-items:center;align-self:flex-start;background:transparent;border:1px solid var(--border-tag);border-radius:2px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:9px;gap:9px;letter-spacing:.18em;padding:8px 16px;text-transform:uppercase;transition:color .2s ease,border-color .2s ease,background .2s ease}.ai-clear svg{font-size:10px}.ai-clear:hover:not(:disabled){background:var(--accent-subtle);border-color:var(--border-accent-mid);color:var(--accent)}.ai-clear:disabled{cursor:default;opacity:.35}.ai-disclaimer{color:var(--text-muted-dim);font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;line-height:1.7;margin:0}.ai-main{display:flex;flex:1 1;flex-direction:column;min-width:0;position:relative;z-index:1}.ai-ghost{-webkit-text-stroke:1px var(--text-faint);-webkit-animation:ai-ghost-in 2.4s .8s var(--ease-out) backwards;animation:ai-ghost-in 2.4s .8s var(--ease-out) backwards;color:transparent;font-family:var(--font-display);font-size:clamp(70px,8.5vw,130px);font-style:italic;font-weight:900;line-height:1;pointer-events:none;position:absolute;right:-10px;top:-14px;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:0}.ai-thread{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:4px 20px 26px 2px;position:relative;z-index:1}.ai-thread::-webkit-scrollbar{width:3px}.ai-thread::-webkit-scrollbar-track{background:transparent}.ai-thread::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.ai-masthead{-webkit-animation:ai-rise .9s .5s var(--ease-out) backwards;animation:ai-rise .9s .5s var(--ease-out) backwards;border-bottom:1px solid var(--border-subtle);margin-bottom:30px;max-width:640px;padding-bottom:26px}.ai-masthead__title{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(30px,3.2vw,44px);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin:0 0 10px}.ai-masthead__title em{color:var(--accent);font-style:italic}.ai-masthead__sub{color:var(--text-muted);font-family:var(--font-sans);font-size:13px;line-height:1.7;margin:0;max-width:480px}.ai-speaker{color:var(--text-muted-dim);display:block;font-family:var(--font-mono);font-size:8px;font-weight:500;letter-spacing:.26em;margin-bottom:7px;text-transform:uppercase}.ai-speaker i{color:var(--text-faint);font-style:normal}.ai-q{-webkit-animation:ai-rise .55s var(--ease-out) backwards;animation:ai-rise .55s var(--ease-out) backwards;border-top:1px solid var(--border-subtle);display:flex;gap:18px;margin-top:34px;max-width:680px;padding-top:30px}.ai-q__marker{color:var(--accent);flex-shrink:0;font-family:var(--font-display);font-size:24px;font-style:italic;font-weight:700;line-height:1;width:34px}.ai-q__body{min-width:0}.ai-q__body p{color:var(--text-primary);font-family:var(--font-sans);font-size:15.5px;font-weight:600;letter-spacing:.005em;line-height:1.6;margin:0;white-space:pre-wrap}.ai-a{-webkit-animation:ai-rise .55s var(--ease-out) backwards;animation:ai-rise .55s var(--ease-out) backwards;display:flex;gap:18px;margin-top:22px;max-width:680px}.ai-a__marker{color:var(--text-muted-dim);flex-shrink:0;font-family:var(--font-display);font-size:24px;font-style:italic;font-weight:700;line-height:1;width:34px}.ai-a__body{flex:1 1;min-width:0}.ai-a__prose{color:var(--text-body);font-family:var(--font-sans);font-size:13.5px;line-height:1.85}.ai-a__prose p{margin:0 0 12px}.ai-a__prose p:last-child{margin-bottom:0}.ai-a__prose strong{color:var(--text-primary);font-weight:700}.ai-a__prose a,.ai-a__prose em{color:var(--accent)}.ai-a__prose a{border-bottom:1px solid var(--border-accent-mid);text-decoration:none;transition:border-color .2s ease}.ai-a__prose a:hover{border-color:var(--accent)}.ai-a__prose ol,.ai-a__prose ul{display:flex;flex-direction:column;gap:7px;list-style:none;margin:4px 0 14px;padding-left:4px}.ai-a__prose li{padding-left:18px;position:relative}.ai-a__prose li:before{color:var(--accent);content:"/";font-family:var(--font-mono);left:0;opacity:.7;position:absolute;top:0}.ai-a__prose code{background:var(--bg-tag);border:1px solid var(--border-tag);border-radius:2px;color:var(--text-code);font-family:var(--font-mono);font-size:11.5px;padding:1px 6px}.ai-a__prose h1,.ai-a__prose h2,.ai-a__prose h3,.ai-a__prose h4{color:var(--text-primary);font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.01em;margin:16px 0 8px}.ai-composing{align-items:center;color:var(--text-muted);display:inline-flex;font-family:var(--font-mono);font-size:11px;gap:10px;letter-spacing:.16em;margin:0;text-transform:uppercase}.ai-composing__cursor{-webkit-animation:ai-busy-blink .9s step-end infinite;animation:ai-busy-blink .9s step-end infinite;background:var(--accent);height:14px;width:8px}.ai-suggest{margin-top:38px;max-width:640px}.ai-rule-title{align-items:center;display:flex;gap:12px;margin:0 0 8px}.ai-rule-title__index{color:var(--accent);font-family:var(--font-display);font-size:17px;font-style:italic;font-weight:700;line-height:1}.ai-rule-title__text{color:var(--text-primary);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.ai-rule-title__line{background:var(--border-subtle);flex:1 1;height:1px}.ai-suggest__row{align-items:baseline;-webkit-animation:ai-rise .7s .9s var(--ease-out) backwards;animation:ai-rise .7s .9s var(--ease-out) backwards;-webkit-animation:ai-rise .7s calc(.9s + var(--i, 0)*.07s) var(--ease-out) backwards;animation:ai-rise .7s calc(.9s + var(--i, 0)*.07s) var(--ease-out) backwards;background:transparent;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;gap:14px;padding:12px 0;text-align:left;transition:-webkit-transform .3s var(--ease-out);transition:transform .3s var(--ease-out);transition:transform .3s var(--ease-out),-webkit-transform .3s var(--ease-out);width:100%}.ai-suggest__row:last-child{border-bottom:none}.ai-suggest__row .ai-suggest__num{color:var(--text-muted-dim);flex-shrink:0;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;transition:color .25s ease}.ai-suggest__row .ai-suggest__text{color:var(--text-secondary);flex:1 1;font-family:var(--font-sans);font-size:13.5px;font-weight:500;line-height:1.5;transition:color .25s ease}.ai-suggest__row .ai-suggest__arrow{color:var(--text-muted-dim);flex-shrink:0;font-size:11px;opacity:0;-webkit-transform:translate(-4px,4px);transform:translate(-4px,4px);transition:opacity .25s ease,color .25s ease,-webkit-transform .3s var(--ease-out);transition:opacity .25s ease,transform .3s var(--ease-out),color .25s ease;transition:opacity .25s ease,transform .3s var(--ease-out),color .25s ease,-webkit-transform .3s var(--ease-out)}.ai-suggest__row:hover{-webkit-transform:translateX(5px);transform:translateX(5px)}.ai-suggest__row:hover .ai-suggest__num{color:var(--accent)}.ai-suggest__row:hover .ai-suggest__text{color:var(--text-primary)}.ai-suggest__row:hover .ai-suggest__arrow{color:var(--accent);opacity:1;-webkit-transform:none;transform:none}.ai-compose{-webkit-animation:ai-rise .9s .7s var(--ease-out) backwards;animation:ai-rise .9s .7s var(--ease-out) backwards;border-top:1px solid var(--border-subtle);flex-shrink:0;padding:16px 20px 0 2px}.ai-compose__form{align-items:center;background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;display:flex;gap:14px;padding:2px 8px 2px 14px;transition:border-color .25s ease,box-shadow .25s ease}.ai-compose__form:focus-within{border-color:var(--border-accent-strong);box-shadow:0 0 0 3px var(--accent-subtle)}.ai-compose__prompt{color:var(--accent);font-family:var(--font-mono);font-size:15px;font-weight:600}.ai-compose__input{background:transparent;border:none;color:var(--text-primary);flex:1 1;font-family:var(--font-sans);font-size:14px;line-height:1.5;max-height:120px;outline:none;padding:9px 0;resize:none}.ai-compose__input::-webkit-input-placeholder{color:var(--text-muted-dim);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}.ai-compose__input::placeholder{color:var(--text-muted-dim);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}.ai-compose__input:disabled{opacity:.5}.ai-compose__send{background:var(--accent);border:none;border-radius:2px;color:var(--accent-on);cursor:pointer;flex-shrink:0;font-size:16px;height:40px;line-height:1;transition:box-shadow .25s,opacity .2s,-webkit-transform .25s var(--ease-out);transition:transform .25s var(--ease-out),box-shadow .25s,opacity .2s;transition:transform .25s var(--ease-out),box-shadow .25s,opacity .2s,-webkit-transform .25s var(--ease-out);width:40px}.ai-compose__send:hover:not(:disabled){box-shadow:0 8px 22px var(--accent-glow);-webkit-transform:translate(1px,-2px);transform:translate(1px,-2px)}.ai-compose__send:disabled{cursor:default;opacity:.25}.ai-compose__hint{color:var(--text-muted-dim);font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em;margin:8px 0 0;text-align:right;text-transform:uppercase}.ai-topbar{display:none}@-webkit-keyframes ai-rise{0%{-webkit-filter:blur(3px);filter:blur(3px);opacity:0;-webkit-transform:translateY(18px);transform:translateY(18px)}to{-webkit-filter:none;filter:none;opacity:1;-webkit-transform:none;transform:none}}@keyframes ai-rise{0%{-webkit-filter:blur(3px);filter:blur(3px);opacity:0;-webkit-transform:translateY(18px);transform:translateY(18px)}to{-webkit-filter:none;filter:none;opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes ai-ghost-in{0%{letter-spacing:.22em;opacity:0}to{letter-spacing:.02em;opacity:1}}@keyframes ai-ghost-in{0%{letter-spacing:.22em;opacity:0}to{letter-spacing:.02em;opacity:1}}@-webkit-keyframes ai-live-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@keyframes ai-live-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}@-webkit-keyframes ai-busy-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes ai-busy-blink{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.ai-page,.ai-page *{-webkit-animation:none!important;animation:none!important;transition:none!important}}@media screen and (max-width:1200px){.ai-page{inset:0;bottom:calc(64px + env(safe-area-inset-bottom, 0px));flex-direction:column;gap:0;padding:0;position:fixed}.ai-ghost,.ai-panel{display:none}.ai-topbar{background:var(--bg-page);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;padding:14px 20px}.ai-topbar,.ai-topbar__brand{align-items:center;display:flex}.ai-topbar__brand{gap:10px}.ai-topbar__name{color:var(--text-primary);font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.01em}.ai-topbar__name em{color:var(--accent);font-style:italic}.ai-topbar__clear{background:transparent;border:1px solid var(--border-tag);border-radius:2px;color:var(--text-muted);cursor:pointer;font-size:12px;padding:7px 11px;transition:color .2s ease,border-color .2s ease}.ai-topbar__clear:hover:not(:disabled){border-color:var(--border-accent-mid);color:var(--accent)}.ai-topbar__clear:disabled{opacity:.35}.ai-main{min-height:0}.ai-thread{padding:18px 20px 20px}.ai-masthead{margin-bottom:22px;padding-bottom:18px}.ai-masthead__title{font-size:26px}.ai-masthead__sub{font-size:12.5px}.ai-q{margin-top:26px;padding-top:24px}.ai-a__marker,.ai-q__marker{font-size:20px;width:26px}.ai-q__body p{font-size:14.5px}.ai-compose{background:var(--bg-page);padding:10px 16px 0}.ai-compose__hint{display:none}.ai-compose__send{height:38px;width:38px}}@media screen and (max-width:480px){.ai-thread{padding:16px 16px 18px}.ai-a,.ai-q{gap:12px}.ai-suggest__row .ai-suggest__text{font-size:12.5px}}
/*!
* animate.css - https://animate.style/
* Version - 4.1.1
* Licensed under the MIT license - http://opensource.org/licenses/MIT
*
* Copyright (c) 2020 Animate.css
*/:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:2;animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:3;animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:2s;animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:3s;animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:4s;animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:5s;animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:.5s;animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*.8);animation-duration:.8s;animation-duration:calc(var(--animate-duration)*.8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:2s;animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:3s;animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95);-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95);-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.animate__headShake{-webkit-animation-name:headShake;animation-name:headShake;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.animate__swing{-webkit-animation-name:swing;animation-name:swing;-webkit-transform-origin:top center;transform-origin:top center}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:1.3s;animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{opacity:.7;-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7)}80%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes backInDown{0%{opacity:.7;-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7)}80%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{opacity:.7;-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7)}80%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes backInLeft{0%{opacity:.7;-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7)}80%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{opacity:.7;-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7)}80%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes backInRight{0%{opacity:.7;-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7)}80%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{opacity:.7;-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7)}80%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes backInUp{0%{opacity:.7;-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7)}80%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:.7;-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7)}}@keyframes backOutDown{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:.7;-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7)}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:.7;-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7)}}@keyframes backOutLeft{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:.7;-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7)}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:.7;-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7)}}@keyframes backOutRight{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:.7;-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7)}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:.7;-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7)}}@keyframes backOutUp{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:.7;-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7)}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}@keyframes flip{0%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}.animate__animated.animate__flip{-webkit-animation-name:flip;animation-name:flip;-webkit-backface-visibility:visible;backface-visibility:visible}@-webkit-keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-animation-name:flipInX;animation-name:flipInX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0;-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{opacity:1;-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0;-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{opacity:1;-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-animation-name:flipInY;animation-name:flipInY;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{opacity:1;-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}to{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{opacity:1;-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}to{opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}}.animate__flipOutX{-webkit-animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{opacity:1;-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg)}to{opacity:0;-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg)}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{opacity:1;-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg)}to{opacity:0;-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg)}}.animate__flipOutY{-webkit-animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes lightSpeedInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;-webkit-transform:skewX(20deg);transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;-webkit-transform:skewX(20deg);transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg)}60%{opacity:1;-webkit-transform:skewX(-20deg);transform:skewX(-20deg)}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg)}60%{opacity:1;-webkit-transform:skewX(-20deg);transform:skewX(-20deg)}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg)}}@keyframes lightSpeedOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg)}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg)}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg)}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{opacity:0;-webkit-transform:rotate(-200deg);transform:rotate(-200deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rotateIn{0%{opacity:0;-webkit-transform:rotate(-200deg);transform:rotate(-200deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{opacity:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rotateInDownLeft{0%{opacity:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{opacity:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rotateInDownRight{0%{opacity:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{opacity:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rotateInUpLeft{0%{opacity:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{opacity:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rotateInUpRight{0%{opacity:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(200deg);transform:rotate(200deg)}}@keyframes rotateOut{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(200deg);transform:rotate(200deg)}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}}@keyframes rotateOutDownLeft{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}}@keyframes rotateOutDownRight{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}}@keyframes rotateOutUpLeft{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}}@keyframes rotateOutUpRight{0%{opacity:1}to{opacity:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);transform:rotate(80deg)}40%,80%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1;-webkit-transform:rotate(60deg);transform:rotate(60deg)}to{opacity:0;-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0)}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);transform:rotate(80deg)}40%,80%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1;-webkit-transform:rotate(60deg);transform:rotate(60deg)}to{opacity:0;-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0)}}.animate__hinge{-webkit-animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:2s;animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}@keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}@keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}@keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}@keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0)}}@keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0)}}@keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}:root,[data-theme=dark]{--bg-page:#07070f;--bg-surface:#0e0e18;--bg-elevated:#16161f;--bg-card:hsla(0,0%,100%,.025);--bg-tag:hsla(0,0%,100%,.03);--bg-tag-hover:rgba(232,168,56,.07);--bg-tag-hover-strong:rgba(232,168,56,.11);--bg-metric:rgba(232,168,56,.04);--bg-metric-hover:rgba(232,168,56,.09);--bg-timeline-card:linear-gradient(135deg,rgba(24,24,31,.7),rgba(10,10,13,.85));--bg-projects-header:#0a0a0d;--bg-sidebar-start:#060609;--bg-sidebar-mid:#08080d;--bg-sidebar-end:#0d0d14;--bg-mobile-nav:#07070e;--sidebar-border:rgba(232,168,56,.08);--text-primary:#f0ebe1;--text-secondary:#9b9aa6;--text-muted:#6b6878;--text-muted-dim:#3a3848;--text-body:#c8c4bc;--text-code:#9b9aa6;--text-faint:#2a2a35;--accent:#e8a838;--accent-dim:rgba(232,168,56,.12);--accent-subtle:rgba(232,168,56,.05);--accent-glow:rgba(232,168,56,.4);--accent-on:#0a0a0d;--border-subtle:rgba(232,168,56,.08);--border-card:#1e1e28;--border-tag:hsla(250,6%,60%,.22);--border-accent:rgba(232,168,56,.2);--border-accent-mid:rgba(232,168,56,.35);--border-accent-strong:rgba(232,168,56,.6);--font-display:"Playfair Display",Georgia,serif;--font-sans:"Syne",system-ui,sans-serif;--font-mono:"JetBrains Mono","Courier New",monospace;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--node-ring:#0a0a0d;--shadow-card:0 14px 44px rgba(0,0,0,.65);--shadow-card-hover:0 12px 32px rgba(0,0,0,.5);--scrollbar-thumb:rgba(232,168,56,.3);--bg-page-pattern:radial-gradient(circle,rgba(232,168,56,.05) 1.5px,transparent 0);--bg-status:rgba(34,197,94,.07);--border-status:rgba(34,197,94,.22);--text-status:rgba(34,197,94,.85);--anim-stroke-1:#f5e6cc;--anim-stroke-2:#f0c070;--anim-stroke-3:#e8a838;--topo-line:rgba(232,168,56,.22);--topo-ink:#f6d78e;--topo-opacity:0.45;--topo-plot-opacity:0.66;--portrait-ink:#f6d78e;--bg-input:hsla(0,0%,100%,.05);--border-input:hsla(0,0%,100%,.16);--seg-empty:hsla(0,0%,100%,.1);--seg-empty-hover:hsla(0,0%,100%,.16);--accent-dim-flash:#fff8e8}[data-theme=light]{--bg-page:#f0ece4;--bg-surface:#f7f3ed;--bg-elevated:#fff;--bg-card:#fff;--bg-tag:rgba(0,0,0,.04);--bg-tag-hover:rgba(201,145,10,.07);--bg-tag-hover-strong:rgba(201,145,10,.12);--bg-metric:rgba(201,145,10,.05);--bg-metric-hover:rgba(201,145,10,.1);--bg-timeline-card:linear-gradient(135deg,hsla(0,0%,100%,.97),hsla(36,42%,95%,.99));--bg-projects-header:#f0ece4;--bg-sidebar-start:#0f1923;--bg-sidebar-mid:#141e2e;--bg-sidebar-end:#172030;--bg-mobile-nav:#0f1923;--sidebar-border:rgba(232,168,56,.1);--text-primary:#0f1923;--text-secondary:#4a6272;--text-muted:#6a8090;--text-muted-dim:#8a9aa8;--text-body:#2a3f50;--text-code:#3a6070;--text-faint:#d8d4cc;--accent:#c9910a;--accent-dim:rgba(201,145,10,.1);--accent-subtle:rgba(201,145,10,.05);--accent-glow:rgba(201,145,10,.35);--accent-on:#fff;--border-subtle:rgba(201,145,10,.1);--border-card:rgba(0,0,0,.08);--border-tag:rgba(100,130,150,.2);--border-accent:rgba(201,145,10,.2);--border-accent-mid:rgba(201,145,10,.3);--border-accent-strong:rgba(201,145,10,.55);--font-display:"Playfair Display",Georgia,serif;--font-sans:"Syne",system-ui,sans-serif;--font-mono:"JetBrains Mono","Courier New",monospace;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--node-ring:#f0ece4;--shadow-card:0 4px 24px rgba(0,0,0,.08);--shadow-card-hover:0 8px 32px rgba(0,0,0,.14);--scrollbar-thumb:rgba(201,145,10,.3);--bg-page-pattern:radial-gradient(circle,rgba(201,145,10,.06) 1.5px,transparent 0);--bg-status:rgba(34,197,94,.08);--border-status:rgba(34,197,94,.28);--text-status:#16a34a;--anim-stroke-1:#1a5fb4;--anim-stroke-2:#c27d0a;--anim-stroke-3:#c9910a;--topo-line:rgba(88,66,20,.28);--topo-ink:#9a6f0e;--topo-opacity:0.75;--topo-plot-opacity:0.9;--portrait-ink:#262119;--bg-input:#fff;--border-input:rgba(15,25,35,.3);--seg-empty:rgba(0,0,0,.08);--seg-empty-hover:rgba(0,0,0,.14);--accent-dim-flash:#fdf0cc}[data-theme=ocean]{--bg-page:#04080f;--bg-surface:#060e1a;--bg-elevated:#081222;--bg-card:rgba(6,22,42,.6);--bg-tag:rgba(6,182,212,.05);--bg-tag-hover:rgba(6,182,212,.1);--bg-tag-hover-strong:rgba(6,182,212,.16);--bg-metric:rgba(6,182,212,.05);--bg-metric-hover:rgba(6,182,212,.12);--bg-timeline-card:linear-gradient(135deg,rgba(4,18,38,.7),rgba(2,10,24,.85));--bg-projects-header:#04080f;--bg-sidebar-start:#030609;--bg-sidebar-mid:#040c14;--bg-sidebar-end:#050f1c;--bg-mobile-nav:#040a12;--sidebar-border:rgba(6,182,212,.1);--text-primary:#e4f6fa;--text-secondary:#5ab8cc;--text-muted:#326878;--text-muted-dim:#1e4454;--text-body:#8acfdc;--text-code:#67b8c8;--text-faint:#0e2030;--accent:#06b6d4;--accent-dim:rgba(6,182,212,.12);--accent-subtle:rgba(6,182,212,.05);--accent-glow:rgba(6,182,212,.45);--accent-on:#030c14;--border-subtle:rgba(6,182,212,.08);--border-card:rgba(6,182,212,.1);--border-tag:rgba(6,182,212,.18);--border-accent:rgba(6,182,212,.22);--border-accent-mid:rgba(6,182,212,.4);--border-accent-strong:rgba(6,182,212,.65);--font-display:"Playfair Display",Georgia,serif;--font-sans:"Syne",system-ui,sans-serif;--font-mono:"JetBrains Mono","Courier New",monospace;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--node-ring:#04080f;--shadow-card:0 14px 44px rgba(0,0,0,.6),0 0 30px rgba(6,182,212,.04);--shadow-card-hover:0 12px 32px rgba(0,0,0,.45),0 0 24px rgba(6,182,212,.1);--scrollbar-thumb:rgba(6,182,212,.3);--bg-page-pattern:radial-gradient(circle,rgba(6,182,212,.07) 1.5px,transparent 0);--bg-status:rgba(34,197,94,.07);--border-status:rgba(34,197,94,.22);--text-status:rgba(34,197,94,.85);--anim-stroke-1:#b8f4ff;--anim-stroke-2:#38d0e8;--anim-stroke-3:#06b6d4;--topo-line:rgba(34,183,214,.2);--topo-ink:#8ceafb;--topo-opacity:0.45;--topo-plot-opacity:0.66;--portrait-ink:#8ceafb;--bg-input:rgba(6,182,212,.06);--border-input:rgba(6,182,212,.3);--seg-empty:rgba(6,182,212,.08);--seg-empty-hover:rgba(6,182,212,.15);--accent-dim-flash:#e0f9ff}@property --ripple-r{syntax:"<length>";inherits:false;initial-value:0}::view-transition-old(root){-webkit-animation:none;animation:none;z-index:1}::view-transition-new(root){-webkit-animation:vt-ripple-in 4s cubic-bezier(.7,0,.3,1) forwards;animation:vt-ripple-in 4s cubic-bezier(.7,0,.3,1) forwards;mask-image:radial-gradient(circle at 50% 50%,#000 calc(var(--ripple-r) - 200px),transparent var(--ripple-r));mask-image:radial-gradient(circle at var(--ripple-x,50%) var(--ripple-y,50%),#000 calc(var(--ripple-r) - var(--ripple-feather, 200px)),transparent var(--ripple-r));-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 calc(var(--ripple-r) - 200px),transparent var(--ripple-r));-webkit-mask-image:radial-gradient(circle at var(--ripple-x,50%) var(--ripple-y,50%),#000 calc(var(--ripple-r) - var(--ripple-feather, 200px)),transparent var(--ripple-r));z-index:2}@-webkit-keyframes vt-ripple-in{0%{--ripple-r:0px}to{--ripple-r:3000px}}@keyframes vt-ripple-in{0%{--ripple-r:0px}to{--ripple-r:3000px}}@-webkit-keyframes rotate_pacman_half_up{0%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}50%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}to{-webkit-transform:rotate(270deg);transform:rotate(270deg)}}@keyframes rotate_pacman_half_up{0%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}50%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}to{-webkit-transform:rotate(270deg);transform:rotate(270deg)}}@-webkit-keyframes rotate_pacman_half_down{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}@keyframes rotate_pacman_half_down{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}@-webkit-keyframes pacman-balls{75%{opacity:.7}to{-webkit-transform:translate(-100px,-6.25px);transform:translate(-100px,-6.25px)}}@keyframes pacman-balls{75%{opacity:.7}to{-webkit-transform:translate(-100px,-6.25px);transform:translate(-100px,-6.25px)}}.pacman{position:relative}.pacman>div:nth-child(2){-webkit-animation:pacman-balls 1s linear -.99s infinite;animation:pacman-balls 1s linear -.99s infinite}.pacman>div:nth-child(3){-webkit-animation:pacman-balls 1s linear -.66s infinite;animation:pacman-balls 1s linear -.66s infinite}.pacman>div:nth-child(4){-webkit-animation:pacman-balls 1s linear -.33s infinite;animation:pacman-balls 1s linear -.33s infinite}.pacman>div:nth-child(5){-webkit-animation:pacman-balls 1s linear 0s infinite;animation:pacman-balls 1s linear 0s infinite}.pacman>div:first-of-type{-webkit-animation:rotate_pacman_half_up .5s 0s infinite;animation:rotate_pacman_half_up .5s 0s infinite}.pacman>div:first-of-type,.pacman>div:nth-child(2){border:25px solid #e8a838;border-radius:25px;border-right-color:transparent;height:0;left:-30px;position:relative;width:0}.pacman>div:nth-child(2){-webkit-animation:rotate_pacman_half_down .5s 0s infinite;animation:rotate_pacman_half_down .5s 0s infinite;margin-top:-50px}.pacman>div:nth-child(3),.pacman>div:nth-child(4),.pacman>div:nth-child(5),.pacman>div:nth-child(6){background-color:#e8a838;border-radius:100%;height:15px;height:10px;left:70px;margin:2px;position:absolute;top:25px;-webkit-transform:translateY(-6.25px);transform:translateY(-6.25px);width:15px;width:10px}@-webkit-keyframes scale{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}45%{opacity:.7;-webkit-transform:scale(.1);transform:scale(.1)}80%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}45%{opacity:.7;-webkit-transform:scale(.1);transform:scale(.1)}80%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.ball-pulse>div:nth-child(0){-webkit-animation:scale .75s cubic-bezier(.2,.68,.18,1.08) -.36s infinite;animation:scale .75s cubic-bezier(.2,.68,.18,1.08) -.36s infinite}.ball-pulse>div:first-child{-webkit-animation:scale .75s cubic-bezier(.2,.68,.18,1.08) -.24s infinite;animation:scale .75s cubic-bezier(.2,.68,.18,1.08) -.24s infinite}.ball-pulse>div:nth-child(2){-webkit-animation:scale .75s cubic-bezier(.2,.68,.18,1.08) -.12s infinite;animation:scale .75s cubic-bezier(.2,.68,.18,1.08) -.12s infinite}.ball-pulse>div:nth-child(3){-webkit-animation:scale .75s cubic-bezier(.2,.68,.18,1.08) 0s infinite;animation:scale .75s cubic-bezier(.2,.68,.18,1.08) 0s infinite}.ball-pulse>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;background-color:#e8a838;border-radius:100%;display:inline-block;height:15px;margin:2px;width:15px}@font-face{font-family:Helvetica Neue;font-style:normal;font-weight:400;src:url(/static/media/helvetica-neu.8a19678078a6b21c8057.ttf) format("ttf")}@font-face{font-family:La Belle Aurore;font-style:normal;font-weight:400;src:url(/static/media/LaBelleAurore.a83c1c58fd7e43972e4a.woff2) format("woff2"),url(/static/media/LaBelleAurore.9c5433c64baa43d1d274.woff) format("woff")}@font-face{font-family:Coolvetica;font-style:normal;font-weight:400;src:url(/static/media/CoolveticaRg-Regular.7d1f3b1dd46ad6557a17.woff2) format("woff2"),url(/static/media/CoolveticaRg-Regular.8307bfa187bccdc55f4d.woff) format("woff")}input,textarea{font-family:Syne,system-ui,sans-serif}html{box-sizing:border-box;font-size:62.5%;scroll-behavior:smooth}*,:after,:before{box-sizing:inherit;cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'/%3E") 0 0,none!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0a0d;background-color:var(--bg-page,#0a0a0d);color:#f0ebe1;color:var(--text-primary,#f0ebe1);font-family:Syne,system-ui,sans-serif;font-size:14px;line-height:1.6;margin:0;overflow:hidden}a{color:inherit;text-decoration:none}::selection{background:#e8a838;background:var(--accent,#e8a838);color:#0a0a0d;color:var(--accent-on,#0a0a0d)}@media screen and (max-width:1200px){body{overflow:visible;overflow-x:hidden}*,:after,:before{cursor:auto!important}[role=button],a,button,input[type=button],input[type=reset],input[type=submit],select,summary{cursor:pointer!important}input:not([type=submit]):not([type=button]):not([type=reset]),textarea{cursor:text!important}[aria-disabled=true],[disabled]{cursor:not-allowed!important}}body:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.035'/%3E%3C/svg%3E");content:"";inset:0;opacity:.45;z-index:9998}.vk-cursor,body:after{pointer-events:none;position:fixed}.vk-cursor{height:0;left:0;top:0;transition:opacity .3s ease;width:0;will-change:transform;z-index:100000}body.cursor-ignition-active .vk-cursor{opacity:0!important}.vk-cursor__ink{align-items:center;background:#e8a838;background:var(--accent,#e8a838);border:1.5px solid transparent;border-radius:50%;box-shadow:0 0 0 1.5px #0a0a0d;box-shadow:0 0 0 1.5px var(--accent-on,#0a0a0d);box-sizing:border-box;display:flex;height:9px;justify-content:center;left:0;position:absolute;top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:width .32s cubic-bezier(.16,1,.3,1),height .32s cubic-bezier(.16,1,.3,1),background .25s ease,border-color .25s ease,border-radius .25s ease,box-shadow .25s ease,-webkit-transform .2s ease;transition:width .32s cubic-bezier(.16,1,.3,1),height .32s cubic-bezier(.16,1,.3,1),background .25s ease,border-color .25s ease,border-radius .25s ease,box-shadow .25s ease,transform .2s ease;transition:width .32s cubic-bezier(.16,1,.3,1),height .32s cubic-bezier(.16,1,.3,1),background .25s ease,border-color .25s ease,border-radius .25s ease,box-shadow .25s ease,transform .2s ease,-webkit-transform .2s ease;width:9px}.vk-cursor__label{color:#f5e9d0;font-family:JetBrains Mono,Courier New,monospace;font-size:8px;font-style:normal;font-weight:600;letter-spacing:.22em;opacity:0;text-transform:uppercase;transition:opacity .2s ease .08s;white-space:nowrap}.vk-cursor--ring .vk-cursor__ink{background:transparent;border-color:#f0ebe1;border-color:var(--text-primary,#f0ebe1);box-shadow:0 0 0 1px rgba(7,7,15,.25);height:32px;width:32px}.vk-cursor--label .vk-cursor__ink{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(10,10,16,.55);border-color:rgba(232,168,56,.6);border-color:var(--border-accent-strong,rgba(232,168,56,.6));box-shadow:0 4px 24px rgba(0,0,0,.25);height:58px;width:58px}.vk-cursor--label .vk-cursor__label{opacity:1}.vk-cursor--text .vk-cursor__ink{border-radius:2px;height:22px;width:3px}.vk-cursor--press .vk-cursor__ink{-webkit-transform:translate(-50%,-50%) scale(.8);transform:translate(-50%,-50%) scale(.8)}@media (max-width:1200px){.vk-cursor{display:none}}.reveal{opacity:0;-webkit-transform:translateY(28px);transform:translateY(28px);transition:opacity .85s cubic-bezier(.16,1,.3,1),-webkit-transform .85s cubic-bezier(.16,1,.3,1);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),-webkit-transform .85s cubic-bezier(.16,1,.3,1)}.reveal.revealed{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.18s}.reveal-delay-3{transition-delay:.28s}.reveal-delay-4{transition-delay:.38s}.reveal-delay-5{transition-delay:.48s}.section-label{align-items:center;color:#e8a838;color:var(--accent,#e8a838);display:inline-flex;font-family:JetBrains Mono,Courier New,monospace;font-size:11px;font-weight:300;gap:14px;letter-spacing:.22em;text-transform:uppercase}.section-label:before{background:#e8a838;background:var(--accent,#e8a838);content:"";display:block;flex-shrink:0;height:1px;width:32px}.ghost-num{-webkit-text-stroke:1px #1e1e28;-webkit-text-stroke:1px var(--border-card,#1e1e28);color:transparent;font-family:Playfair Display,Georgia,serif;font-size:96px;font-weight:700;line-height:1;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none}.status-dot{-webkit-animation:statusPulse 2.2s ease-in-out infinite;animation:statusPulse 2.2s ease-in-out infinite;background:#5dc264;border-radius:50%;display:inline-block;height:6px;width:6px}@-webkit-keyframes statusPulse{0%,to{box-shadow:0 0 0 0 rgba(93,194,100,.45)}50%{box-shadow:0 0 0 7px rgba(93,194,100,0)}}@keyframes statusPulse{0%,to{box-shadow:0 0 0 0 rgba(93,194,100,.45)}50%{box-shadow:0 0 0 7px rgba(93,194,100,0)}}.loader-hidden{display:none}.loader-active{-webkit-animation:fadeOut .2s .2s;animation:fadeOut .2s .2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:0;display:block;height:50px;left:0;margin:auto;position:absolute;right:0;top:0;width:50px;z-index:9999}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes fadeOut{0%{opacity:1}to{opacity:0;visibility:hidden}}
/*# sourceMappingURL=main.e1ec3db4.css.map*/