.zp-char{background:var(--g-0);position:relative;overflow:clip}.zp-char-hero{isolation:isolate;position:relative}.zp-char-grid{min-height:clamp(700px, calc(var(--z-vh) - 64px), 920px);grid-template-columns:minmax(0,600px) minmax(0,1fr);display:grid;position:relative}.zp-char-ghost{z-index:3;left:calc(var(--z-gutter) - .04em);color:var(--n-950-a4p5);font-size:clamp(160px,20cqw,300px);position:absolute;top:56px}.zp-char-portrait{z-index:1;top:var(--z-bar-h);height:clamp(700px, calc(var(--z-vh) - var(--z-bar-h)), 920px);pointer-events:none;-webkit-mask-image:linear-gradient(90deg, transparent 0%, var(--mask) 16%, var(--mask) 86%, transparent 100%), linear-gradient(0deg, transparent 0%, var(--mask) 16%);mask-image:linear-gradient(90deg, transparent 0%, var(--mask) 16%, var(--mask) 86%, transparent 100%), linear-gradient(0deg, transparent 0%, var(--mask) 16%);grid-area:1/1/auto/-1;align-self:start;margin-left:440px;position:sticky;-webkit-mask-composite:source-in;mask-composite:intersect}.zp-char-art{position:absolute;inset:0}.zp-char-art.is-in{animation:z-a-settle 8s var(--ease-settle) backwards}.zp-char-art.is-out{animation:z-a-settle-out var(--t-state) var(--ease-circ) forwards}.zp-char-portrait img{-webkit-user-select:none;user-select:none;width:auto;max-width:none;height:112%;position:absolute;top:-5%;left:50%;transform:translate(-48%)}.zp-char[data-game=ef] .zp-char-portrait img{height:118%;top:-8%}.zp-char-portrait img.is-missing{display:none}.zp-char-scrim{z-index:2;pointer-events:none;background:linear-gradient(90deg, var(--g-0) 0%, var(--g-0) 34%, var(--n-115-a72) 44%, var(--n-115-a0) 58%);position:absolute;inset:0}.zp-char-body{z-index:4;flex-direction:column;grid-area:1/1;align-content:start;gap:22px;padding:44px 0 56px;display:flex;position:relative}.zp-char-name{--w:560px;--max:150px;white-space:nowrap;font:800 min(var(--max), calc(var(--w) / (var(--n,6) * 1.08)))/.92 var(--font-display);letter-spacing:-.015em;text-transform:uppercase;color:var(--g-7);margin:6px 0 0 -.04em;padding:.05em .06em .1em 0;font-stretch:125%;display:block;overflow:hidden}.zp-char-name>span{display:block}.zp-char-name.is-wrap{white-space:normal;text-wrap:balance}.zp-char-kind{font:500 14px/1.3 var(--font-tech);letter-spacing:.08em;text-transform:uppercase;color:var(--g-6);flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.zp-char-kind hr{background:var(--g-4);border:0;width:1px;height:14px;margin:0}.zp-char-kind .zp-char-code{font-variant-numeric:tabular-nums;color:var(--g-5)}.zp-char-tabs [role=tabpanel]{min-height:260px;padding-top:24px}.zp-char-facts{border-bottom:1px solid var(--g-3);grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;margin:0;padding:0 0 20px;display:grid}.zp-char-facts div{gap:6px;min-width:0;display:grid}.zp-char-facts dt{font:600 11px/1.2 var(--font-tech);letter-spacing:.14em;text-transform:uppercase;color:var(--g-5)}.zp-char-facts dd{font:500 16px/1.3 var(--font-tech);color:var(--g-7);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.zp-char-profile{font:300 18px/1.65 var(--font-ui);color:var(--g-6);white-space:pre-line;max-width:58ch;margin:20px 0 0}.zp-char-outfits{flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px;display:flex}.zp-char-outfits .z-label{margin-right:6px}.zp-char-outfits .z-chip{white-space:normal;max-width:100%;padding-block:6px;line-height:1.25}.zp-char-skills{margin:0;padding:0;list-style:none;display:grid}.zp-char-skills li{border-bottom:1px solid var(--n-200);grid-template-columns:76px minmax(0,1fr);gap:4px 18px;padding:16px 0;display:grid}.zp-char-skills li:first-child{padding-top:0}.zp-char-skills li>div{gap:4px;min-width:0;display:grid}.zp-char-skills .z-label{padding-top:4px}.zp-char-skills b{font:600 17px/1.3 var(--font-display);color:var(--g-7);font-stretch:112%}.zp-char-skills p{font:400 15px/1.6 var(--font-ui);color:var(--g-6);max-width:60ch;margin:0}.zp-char-skills small{font:500 12px/1.3 var(--font-tech);letter-spacing:.06em;color:var(--g-5);font-variant-numeric:tabular-nums}.zp-char-voice{gap:24px;margin:0;padding:0;list-style:none;display:grid}.zp-char-voice li{border-radius:2px;gap:8px;display:grid}.zp-char-voice q{quotes:none;font:300 23px/1.42 var(--font-ui);color:var(--g-5);transition:color var(--t-page) var(--ease-std);max-width:40ch}.zp-char-voice li:hover q,.zp-char-voice li:focus-visible q{color:var(--g-7)}.zp-char-archive{gap:24px;display:grid}.zp-char-archive section{border-bottom:1px solid var(--n-200);gap:8px;padding-bottom:24px;display:grid}.zp-char-archive section:last-child{border-bottom:0;padding-bottom:0}.zp-char-archive h3{margin:0}.zp-char-archive p{font:300 18px/1.65 var(--font-ui);color:var(--g-6);white-space:pre-line;max-width:58ch;margin:0}.zp-char-actions{flex-wrap:wrap;gap:12px;display:flex}.zp-char-actions svg{stroke:currentColor;fill:none;stroke-width:1.5px;width:16px;height:16px}.zp-char-actions .z-btn{white-space:normal;text-align:left;max-width:100%;padding-block:10px;line-height:1.25}.zp-char-rail{z-index:3;padding-block:8px 64px;position:relative}.zp-char-cards{scrollbar-width:thin;scrollbar-color:var(--g-4) transparent;-webkit-mask-image:linear-gradient(90deg, var(--mask) calc(100% - 48px), transparent);mask-image:linear-gradient(90deg, var(--mask) calc(100% - 48px), transparent);gap:14px;padding:8px 2px 14px;display:flex;overflow-x:auto}.zp-char-card{width:150px;height:236px;color:inherit;background:var(--g-1);border:1px solid var(--n-220);transition:border-color var(--t-state) var(--ease-std), transform var(--t-state) var(--ease-out);border-radius:2px;flex:none;align-content:end;text-decoration:none;display:grid;position:relative;overflow:hidden}.zp-char-card img{object-fit:cover;object-position:50% 12%;width:100%;height:100%;position:absolute;inset:0}.zp-char[data-game=ef] .zp-char-card img{object-position:50% 0%}.zp-char-card img.is-missing{visibility:hidden}.zp-char-card:after{content:"";background:linear-gradient(0deg, var(--n-060-a92) 0%, var(--n-060-a0) 50%);position:absolute;inset:0}.zp-char-card>span,.zp-char-card>figcaption{z-index:1;grid-template-columns:minmax(0,1fr);gap:5px;padding:12px;display:grid;position:relative}.zp-char-card b{min-width:0;font:700 13px/1.15 var(--font-display);text-transform:uppercase;color:var(--g-7);white-space:normal;overflow-wrap:normal;text-wrap:balance;font-stretch:100%}.zp-char-card small{font:500 12px/1 var(--font-tech);color:var(--g-6);letter-spacing:.06em}a.zp-char-card:hover,a.zp-char-card:focus-visible,.zp-char-look:hover,.zp-char-look:focus-visible{border-color:var(--brand);transform:translateY(-4px)}.zp-char-look{text-align:left;cursor:pointer;margin:0;padding:0}.zp-char-look[aria-pressed=true]{border-color:var(--brand)}.zp-char-look b{white-space:normal}.zp-char-missing{justify-items:start;gap:18px;padding-block:96px;display:grid}.zp-char-missing p{font:400 17px/1.5 var(--font-ui);color:var(--g-6);margin:0}@container frame (max-width:1100px){.zp-char-grid{grid-template-columns:minmax(0,520px) minmax(0,1fr)}.zp-char-name{--w:480px}.zp-char-portrait{margin-left:320px}.zp-char-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@container frame (max-width:760px){.zp-char-grid{min-height:0;display:block}.zp-char-ghost{top:20px;left:calc(var(--z-gutter) - .04em);font-size:44cqw}.zp-char-portrait{height:440px;margin-inline:calc(var(--z-gutter) * -1);-webkit-mask-image:linear-gradient(180deg, var(--mask) 42%, transparent 86%);mask-image:linear-gradient(180deg, var(--mask) 42%, transparent 86%);position:relative;inset:auto;overflow:hidden;-webkit-mask-composite:source-over;mask-composite:add}.zp-char-portrait img{height:146%;top:-6%;transform:translate(-50%)}.zp-char[data-game=ef] .zp-char-portrait img{height:138%;top:-4%}.zp-char-scrim{display:none}.zp-char-body{gap:18px;margin-top:-72px;padding:0 0 36px}.zp-char-name{--w:calc(100cqw - 40px);--max:84px}.zp-char-kind{gap:10px 14px;font-size:13px}.zp-char-kind .zp-char-code{display:none}.zp-char-kind hr:has(+.zp-char-code){display:none}.zp-char-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.zp-char-profile,.zp-char-archive p{font-size:17px}.zp-char-skills li{grid-template-columns:minmax(0,1fr)}.zp-char-skills .z-label{padding-top:0}.zp-char-voice q{font-size:20px}.zp-char-tabs [role=tabpanel]{min-height:0}.zp-char-card{width:132px;height:200px}.zp-char-actions .z-btn{flex:auto}}@media (prefers-reduced-motion:reduce){a.zp-char-card:hover,a.zp-char-card:focus-visible,.zp-char-look:hover,.zp-char-look:focus-visible{transform:none}.zp-char-art.is-in{animation:.2s linear backwards z-a-fade}.zp-char-art.is-out{animation:.2s linear reverse forwards z-a-fade}}
