/* Home: xYan personal dossier. Scoped independently from the former genesis layout. */
.dossier{--dossier-ink:#202a3c;--dossier-blue:#4569ce;position:relative;isolation:isolate;overflow:hidden;background:#f6f7f9;color:var(--dossier-ink);padding:100px clamp(24px,5vw,88px) 110px;border-top:1px solid #e7ebf1}
.dossier .genesis-product-badge{padding-top:28px;padding-bottom:28px}
.dossier::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 18% 47%,#dbe7fa99,transparent 46%),linear-gradient(110deg,#eef3fb00 40%,#fcfbf8 85%)}
.dossier__inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(36px,5vw,88px);align-items:center;translate:0 -20px}
.dossier__visual{min-width:0;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-top:64px}
.dossier__portrait-stage{height:470px;position:relative;display:grid;place-items:center;perspective:900px}
.dossier__halo{position:absolute;width:110%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#b0caf47a 0%,#cbd3f55c 35%,transparent 67%);filter:blur(15px);pointer-events:none;animation:dossier-halo-breathe 9s ease-in-out -3s infinite}
.dossier__core{position:relative;z-index:2;width:76%;max-width:370px;aspect-ratio:1;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:transform 600ms ease,filter 400ms ease;isolation:isolate}
.dossier__core:hover{filter:drop-shadow(0 14px 26px #7593c833)}
.dossier__core:focus-visible{outline:2px solid var(--dossier-blue);outline-offset:14px}
.dossier__core .brand-showcase__portrait{box-shadow:0 28px 70px #4d74b329,inset 0 0 0 1px #fff;animation: dossier-breathe 7s ease-in-out infinite}
.dossier__core.is-pulsing .brand-showcase__portrait{box-shadow:0 0 0 1px #8db4ee52,0 24px 68px #477cc72b}
.dossier__machine{position:absolute;left:50%;top:50%;width:104%;max-width:550px;aspect-ratio:1;transform:translate(-50%,-50%);z-index:3;pointer-events:none}
.has-3d-orbits .dossier__orbital{visibility:hidden}
.has-3d-orbits .dossier__core{width:62%;max-width:310px}
/* Coaxial orbital assembly: both depth layers use identical coordinates. */
.dossier__orbital{position:absolute;width:118%;max-width:620px;aspect-ratio:1;height:auto;overflow:visible;pointer-events:none;color:#7196c8;animation:dossier-orbital-precession 28s ease-in-out infinite;transition:filter .8s ease}
.dossier__orbital--rear{z-index:1}
.dossier__orbital--front{z-index:3}
.dossier__track{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
.dossier__trail{fill:none;stroke:#81b8e3;stroke-width:1.8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.dossier__point-glow{fill:#79b5e7;opacity:.17}
.dossier__point{fill:#659dd1;stroke:#f7fcff;stroke-width:.7}
.dossier.is-consciousness-pulsing .dossier__orbital{filter:drop-shadow(0 0 4px #70ade966)}
@keyframes dossier-orbital-precession{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.dossier__signal{position:absolute;left:88%;top:50%;width:calc(12% + clamp(36px,5vw,88px));height:1px;background:linear-gradient(90deg,#8ca6d733,#8ca6d788);transform-origin:left;z-index:0}
.dossier__signal::after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;background:#8499bd;border-radius:50%}
.dossier__caption{position:absolute;top:-32px;right:0;z-index:4;width:max-content;max-width:min(340px,100%);box-sizing:border-box;padding:12px 17px;border:1px solid #cbd9e9;border-radius:17px 17px 17px 5px;background:#fafdfff2;box-shadow:0 8px 26px #5276a512;font-size:14px;letter-spacing:.02em;color:#526a87;white-space:pre-line;line-height:1.8;overflow-wrap:anywhere;pointer-events:none;transition:background-color .25s,border-color .25s,box-shadow .25s}
.dossier__caption::after{content:"";position:absolute;left:22px;bottom:-6px;width:10px;height:10px;background:#fafdff;border-right:1px solid #cbd9e9;border-bottom:1px solid #cbd9e9;transform:skewY(-18deg) rotate(45deg)}
.dossier__caption:not(.is-speaking){opacity:0;visibility:hidden}
.dossier__caption.is-speaking{opacity:1;visibility:visible;border-color:#a9c4e3;background:#fff;box-shadow:0 10px 30px #5276a51f}
.dossier__prompt{display:flex;align-items:center;justify-content:center;gap:12px;min-height:42px;font-size:14px;letter-spacing:.09em;color:#718099;line-height:1.8}
.dossier__prompt-line{width:23px;height:1px;background:#91a3c1;flex-shrink:0}
.dossier.is-greeting-active .dossier__prompt{visibility:hidden}
@media(max-width:720px){.dossier__prompt{font-size:13px}}
.dossier__caption.is-speaking::after{background:#fff;border-color:#a9c4e3}
@media(prefers-reduced-motion:no-preference){.dossier__caption.is-speaking{animation:dossier-caption-reply .28s ease-out both}@keyframes dossier-caption-reply{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:720px){.dossier__visual{padding-top:110px}.dossier__caption{top:-54px;padding:11px 14px}}
.dossier__content{position:relative;padding:26px 0 12px 36px;border-left:1px solid #a0afc333}
.dossier__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:29px;border-bottom:1px solid #a0afc333;font-size:12px;letter-spacing:.13em;color:#66758b}
.dossier__heading>span:last-child{font:10px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#8590a0}
.dossier__identity,.dossier__identity dd{margin:0}
.dossier__identity dt{font-size:12px;color:#7d8797;letter-spacing:.13em;font-weight:400}
.dossier__name-row{padding-top:27px}
.dossier__name-row h2{margin:10px 0 27px;font-size:clamp(24px,calc(5.2vw - 28px),48px);font-weight:550;letter-spacing:.04em;line-height:1.14;color:#202a3c;display:flex;align-items:baseline;gap:22px}
.dossier__name-row h2 b{font:inherit;color:inherit}
.dossier__name-row h2 span{font-size:16px;letter-spacing:.02em;color:#78859c;font-weight:400;white-space:nowrap}
.dossier__facts{display:grid;grid-template-columns:.65fr 1.7fr;gap:16px;padding-bottom:28px;border-bottom:1px solid #a0afc333}
.dossier__facts dd{font-size:19px;line-height:1.6;margin-top:9px;font-weight:450}
.dossier__skills{padding-top:26px}
.dossier__skills>dt{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.dossier__skills>dt>span{font:9px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#8b96a7}
.dossier__abilities{display:flex;flex-wrap:wrap;gap:9px 7px;align-content:flex-start}
.dossier__ability{display:inline-block;white-space:nowrap;font-size:14px;line-height:2.1;color:#46546b;border-radius:4px;transform-origin:center;transition:color .25s,transform .3s,background-color .3s,box-shadow .3s;cursor:default}
.dossier__ability>span{color:#a0aec5;transition:color .25s}
.dossier__ability>.dossier__ability-text{color:inherit}
.dossier__ability:hover{color:#355eb0;transform:translateY(-4px) scale(1.025);background:#e4edfa;box-shadow:0 5px 14px #6b8ab51a}
.dossier__ability:hover>span{color:var(--dossier-blue)}
.dossier__ripple{position:absolute;inset:0;border:1px solid #829ed4;border-radius:50%;opacity:0;pointer-events:none}
.dossier.is-consciousness-pulsing .dossier__ripple{animation:dossier-ripple 1.4s ease-out both}
.dossier.is-consciousness-pulsing .dossier__signal{animation:dossier-signal 1.4s .35s ease both}
.dossier:is(.is-consciousness-pulsing,.is-profile-responding) .dossier__name-row h2{animation:dossier-identity-answer .8s cubic-bezier(.25,.6,.3,1) 40ms both}
.dossier:is(.is-consciousness-pulsing,.is-profile-responding) .dossier__name-row h2 span{animation:dossier-meta-answer .75s cubic-bezier(.25,.6,.3,1) 60ms both}
.dossier:is(.is-consciousness-pulsing,.is-profile-responding) .dossier__facts>div:nth-child(1) dd{animation:dossier-identity-answer .75s cubic-bezier(.25,.6,.3,1) 80ms both}
.dossier:is(.is-consciousness-pulsing,.is-profile-responding) .dossier__facts>div:nth-child(2) dd{animation:dossier-identity-answer .75s cubic-bezier(.25,.6,.3,1) 120ms both}
.dossier:is(.is-consciousness-pulsing,.is-profile-responding) .dossier__ability{animation:dossier-answer .72s ease-in-out both;animation-delay:calc(140ms + var(--ability-index,0)*14ms)}
@keyframes dossier-halo-breathe{0%,100%{transform:scale(.95);opacity:.6}50%{transform:scale(1.06);opacity:.95}}
@keyframes dossier-portrait-awaken{0%,100%{transform:scale(1);filter:brightness(1) saturate(1)}42%{transform:scale(1.02);filter:brightness(1.055) saturate(1.07);box-shadow:0 0 0 2px #9bc8f266,0 0 24px #6fa9e24d,0 28px 72px #477cc733}}
@keyframes dossier-breathe{0%,100%{transform:scale(.985)}50%{transform:scale(1)}}
@keyframes dossier-ripple{0%{transform:scale(.96);opacity:.65}100%{transform:scale(1.5);opacity:0}}
@keyframes dossier-signal{0%{transform:scaleX(0);opacity:0}35%{transform:scaleX(1);opacity:1}100%{opacity:.5}}
@keyframes dossier-identity-answer{0%,100%{color:inherit;transform:translateY(0) scale(1);text-shadow:none}36%{color:#365fae;transform:translateY(-5px) scale(1.035);text-shadow:0 8px 24px #7099d04a}}
@keyframes dossier-meta-answer{0%,100%{color:#78859c;letter-spacing:.02em}36%{color:#5f7eb5;letter-spacing:.065em;text-shadow:0 6px 18px #7099d026}}
@keyframes dossier-answer{0%,100%{color:#46546b;transform:translateY(0);background-color:transparent;box-shadow:none}35%{color:#365fae;transform:translateY(-4px);background-color:#e4edfa;box-shadow:0 5px 12px #7099d020}}
@media(min-width:1500px){.dossier{padding-top:125px;padding-bottom:135px}.dossier__portrait-stage{height:510px}}
@media(max-width:1000px){.dossier{padding:72px 32px}.dossier__inner{gap:30px;grid-template-columns:.85fr 1.15fr}.dossier__content{padding-left:24px}.dossier__portrait-stage{height:380px}.dossier__ability{font-size:13px}.dossier__signal{width:calc(12% + 30px)}.dossier__facts dd{font-size:17px}}
@media(max-width:720px){.dossier{padding:45px 24px 56px}.dossier__inner{grid-template-columns:1fr;gap:35px;max-width:520px}.dossier__visual{max-width:380px;width:100%;margin:auto}.dossier__portrait-stage{height:330px}.dossier__core{width:67%;max-width:255px}.dossier__orbital{width:112%}.dossier__signal{display:none}.dossier__content{padding:0;border-left:0}.dossier__heading{padding-bottom:20px}.dossier__name-row h2{font-size:28px}.dossier__facts{gap:12px;grid-template-columns:.65fr 1.65fr}.dossier__facts dd{font-size:17px}.dossier__abilities{gap:7px 5px}.dossier__ability{font-size:14px}.dossier__caption{font-size:13px}}
@media(prefers-reduced-motion:reduce){.dossier *,.dossier *::before,.dossier *::after{animation:none!important;transition:none!important}.dossier__core{transform:none}.dossier__ability:hover{transform:none}}
@media(prefers-reduced-motion:no-preference){
.dossier.is-motion-ready .dossier__visual,.dossier.is-motion-ready .dossier__content{opacity:0;translate:0 18px;transition:opacity .85s ease,translate .85s cubic-bezier(.2,.7,.2,1)}
.dossier.is-motion-ready .dossier__content{transition-delay:120ms}
.dossier.is-motion-ready.is-visible .dossier__visual,.dossier.is-motion-ready.is-visible .dossier__content{opacity:1;translate:0 0}
}
.dossier.is-orbit-paused .dossier__orbital,.dossier.is-orbit-paused .dossier__halo{animation-play-state:paused}
.dossier.is-orbit-paused .brand-showcase__portrait{animation-play-state:paused}
@media(max-width:720px){.dossier__machine{width:100%}.dossier .genesis-product-badge{left:auto;right:20px;width:118px;height:76px;padding:17px 8px 24px;font-size:17px}}

/* A soft light passes down the profile when it responds. */
.dossier__name-row h2,.dossier__facts dd{transform-origin:left center}
.dossier__content::before{content:"";position:absolute;left:-1px;top:0;width:2px;height:90px;border-radius:2px;background:linear-gradient(transparent,#85abd9,transparent);opacity:0;pointer-events:none}
.dossier:is(.is-consciousness-pulsing,.is-profile-responding) .dossier__content::before{animation:dossier-profile-scan .95s .04s ease-in-out both}
@keyframes dossier-profile-scan{0%{top:0;opacity:0}20%{opacity:.8}80%{opacity:.6}100%{top:calc(100% - 90px);opacity:0}}
