/* Local draft: original avatar textures, user-selected backdrop. */
body,.scene-bg{background:#C6CFB5!important}
#scene,#scene canvas{filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
.grain,.scrim,.stage-fog{display:none!important}
.about{filter:none!important}
.about-title{color:#fff;text-shadow:none}
.about-body{background:transparent;color:#fff;border-radius:0;padding:0;font-weight:500;max-width:min(660px,88vw)}
.hero-meta,.scroll-cue,.motion-toggle{color:#314837!important}
.hero{position:relative;height:100svh;min-height:0;padding-bottom:0}
.about{position:absolute;top:auto;bottom:11vh;left:0;right:0}
.scroll-cue{position:absolute;bottom:2vh;margin:0;gap:8px}
.scroll-cue-track{height:clamp(20px,3vh,28px)}
/* Measured from the reference, including the original 14% glass tint. */
.glass-rail{display:block!important;position:fixed;top:-2px;right:-2px;bottom:-2px;width:min(680px,52vw);background:rgba(10,14,22,.14);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);-webkit-mask:linear-gradient(to right,transparent 0%,#000 46%);mask:linear-gradient(to right,transparent 0%,#000 46%)}
.resume{font-family:'Helvetica Neue','PingFang SC',system-ui,sans-serif}
.resume-title{width:min(480px,34vw);font-weight:600;color:#f4f1ea!important}
.timeline{width:min(480px,34vw);margin:8vh 6vw 0 auto}
.timeline::before{background:linear-gradient(#f4f1ea47,#f4f1ea0a)}
.tl-entry{padding-left:34px}
.tl-dot{width:11px;height:11px;background:#ffd9b3;box-shadow:0 0 0 4px #ffd9b31f}
.tl-body{background:transparent!important;color:#f4f1ea;border-radius:0;padding:0!important;backdrop-filter:none!important;transition:none;text-shadow:0 1px 4px #16211955}
.tl-period{font:400 13px 'Helvetica Neue',system-ui,sans-serif;letter-spacing:.18em;line-height:normal;color:#f4f1eab8!important;margin:0 0 .6em}
.tl-head{gap:12px}
.tl-logo-chip{width:40px;height:40px;padding:5px;background:#f4f1ea;border-radius:9px}
.tl-place{font-family:inherit;font-size:clamp(18px,2.4vw,26px);font-weight:600;line-height:1.25;letter-spacing:normal;color:#f4f1ea!important}
.tl-role{font-size:15px;line-height:normal;margin-top:.35em;color:#f4f1eacc!important}
.tl-points{margin-top:1.1em;gap:.6em}
.tl-points li{font-size:14px;line-height:1.6;color:#f4f1eaf2!important}
.tl-points li::before,.tl-logos a{color:#f4f1eab8!important}
.tl-body>*{transition:opacity .65s ease,transform .65s ease;opacity:1;transform:none}
.tl-body>.tl-head{transition-delay:.1s}
.tl-body>.tl-role{transition-delay:.18s}
.tl-body>.tl-points{transition-delay:.26s}
.tl-entry.not-seen .tl-body{opacity:1;transform:none}
.tl-entry.not-seen .tl-body>*{opacity:0;transform:translateY(18px)}
@media(max-width:640px){
 .hero{min-height:0}.about{top:auto;padding:0 22px}.about-title{font-size:46px}.about-body{font-size:13px;line-height:1.4}.scroll-cue{margin:0}
 .timeline{width:100%;margin:8vh 0 0}.tl-entry{padding-left:20px}.tl-body{padding:20px 22px!important;background:rgba(10,13,20,.24)!important;border-radius:0}.tl-place{font-size:21px}.tl-period{font-size:11px}.tl-points li{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.tl-body>*{transition:none;transform:none!important;opacity:1!important}}

@media(max-width:640px){.resume-title{width:100%}}

@media(max-width:640px){.hero-meta.hm-bl{display:none}}

/* Show the same avatar immediately; the interactive canvas replaces it when ready. */
.glass-rail{opacity:0}
.avatar-poster{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:1;transition:opacity .2s ease}
.avatar-poster img{display:block;width:100%;height:100%;object-fit:cover}
.loaded .avatar-poster{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s .2s}
.loader{inset:auto;left:clamp(24px,2.6vw,38px);bottom:65px;display:flex;flex-direction:row;gap:8px;padding:0;background:transparent;color:#314837;z-index:120;pointer-events:none;font-size:9px;letter-spacing:.1em;transition:opacity .2s}
.loader-ring{width:13px;height:13px;border-color:#31483730;border-top-color:#314837}
.render-failed .loader{background:transparent;color:#314837;max-width:280px;line-height:1.5}
@media(max-width:640px){.loader{left:18px;bottom:24px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.avatar-poster,.loaded .avatar-poster{transition:none}}
