:root{--night:#0a121c;--night-2:#101e2a;--line:rgba(193,221,224,.17);--paper:#edf1ee;--ink:#e9f0ee;--muted:#9db2ba;--teal:#a5d4d8;--gold:#d7b98f;--serif:"Noto Serif SC",serif;--sans:"Outfit","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--ink);font-family:var(--sans)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}:focus-visible{outline:2px solid #b9e9e9;outline-offset:3px}.skip-link{position:fixed;z-index:1000;top:-70px;left:10px;padding:10px 14px;background:#fff;color:#101820}.skip-link:focus{top:10px}
.employee-rail{position:fixed;inset:0 auto 0 0;width:228px;z-index:40;display:flex;flex-direction:column;padding:28px 17px;background:#080f17;border-right:1px solid var(--line)}.rail-brand{display:flex;align-items:center;gap:12px;padding:0 8px;font:500 18px var(--serif);letter-spacing:.08em}.rail-brand small{display:block;margin-top:4px;font:400 8px var(--sans);letter-spacing:.21em;color:#7897a0}.rail-cross{font:400 37px var(--serif);line-height:1;color:#b8e2e3}.rail-caption{display:flex;justify-content:space-between;margin:55px 8px 16px;padding-bottom:14px;border-bottom:1px solid var(--line);color:#7699a3;font-size:9px;letter-spacing:.18em}.rail-links{display:grid;gap:4px}.rail-links a,.rail-links button{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:0;border-left:2px solid transparent;background:transparent;padding:12px 8px;color:#a8bec4;font-size:11px;letter-spacing:.07em;transition:background .2s,color .2s,border-color .2s}.rail-links a:hover,.rail-links button:hover,.rail-links .is-active{border-left-color:#c5e2e1;background:#172a35;color:#fff}.rail-links svg{width:17px;height:17px;flex:none;fill:none;stroke:#9ac4ca;stroke-width:1.35}.rail-links span{margin-left:auto;color:#76a1aa;font:400 10px var(--sans)}.rail-bottom{margin-top:auto;display:grid;gap:10px;padding:17px 8px;border-top:1px solid var(--line);color:#708e99;font-size:9px;letter-spacing:.12em}.rail-bottom b{color:#d7e9e8;font-weight:500}.employee-menu-toggle{display:none}.employee-menu-scrim{position:fixed;inset:0;z-index:39;background:rgba(0,0,0,.72)}
.employee-main{margin-left:228px;min-width:0}.employee-topbar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(28px,4.5vw,72px);border-bottom:1px solid var(--line);color:#789ba6;font-size:10px;letter-spacing:.12em}.employee-topbar a{color:#d1e3e3}.employee-topbar a:hover{color:#fff}
.employee-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(300px,.94fr);min-height:640px;overflow:hidden;background:radial-gradient(circle at 65% 45%,#213b45 0,#122532 42%,#0b151f 85%);border-bottom:1px solid var(--line)}.employee-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 56%,rgba(215,241,237,.055) 56.1%,transparent 56.3%),linear-gradient(90deg,transparent 49.9%,rgba(212,234,233,.045) 50%,transparent 50.1%);background-size:auto,108px 108px;pointer-events:none}.hero-lines{position:absolute;inset:0;pointer-events:none}.hero-lines span{position:absolute;display:block;border:1px solid rgba(181,222,225,.11);transform:rotate(34deg)}.hero-lines span:nth-child(1){width:510px;height:510px;top:-390px;right:28%}.hero-lines span:nth-child(2){width:740px;height:740px;bottom:-630px;right:-10%}.hero-lines span:nth-child(3){width:220px;height:220px;bottom:8%;left:36%}.hero-drawing{position:absolute;right:-8%;top:-2%;width:min(62vw,760px);height:auto;stroke:#8ec4cd;stroke-width:1.05;opacity:.34;pointer-events:none}.hero-drawing circle:first-child{stroke-dasharray:4 9}.hero-drawing path{stroke:#78abb5}.hero-drawing .hero-sweep{stroke:#dbfaf5;stroke-width:2;animation:trace 18s linear infinite;transform-origin:395px 314px}.hero-drawing .hero-center{fill:#c9eff0;stroke:none;filter:drop-shadow(0 0 10px #85dbe3)}.hero-drawing .hero-dash{stroke-width:3;stroke:#ccedea;stroke-dasharray:16 8}.hero-text{position:relative;z-index:3;align-self:center;padding:83px 20px 115px clamp(35px,6vw,100px);max-width:720px}.micro-label{display:inline-flex;align-items:center;gap:11px;color:#b5dce0;font-size:10px;letter-spacing:.25em}.micro-label i{display:inline-block;width:30px;height:1px;background:#b5dce0}.hero-series{margin:30px 0 10px;color:#c1d3d5;font-size:12px;letter-spacing:.2em}.hero-text h1{margin:0;font:500 clamp(54px,5.4vw,82px)/1.24 var(--serif);letter-spacing:.08em;white-space:nowrap}.hero-text h1 span{display:block;margin-top:23px;color:#bbdce0;font:400 clamp(22px,2.2vw,31px)/1.5 var(--serif);letter-spacing:.05em;white-space:normal}.hero-copy{max-width:440px;margin:25px 0 0;color:#a9c0c6;font-size:13px;line-height:2.1;letter-spacing:.04em}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}.hero-actions a{display:flex;align-items:center;justify-content:space-between;gap:42px;padding:13px 18px;border:1px solid #a8d5d9;background:rgba(159,214,219,.08);font-size:11px;letter-spacing:.1em;transition:background .25s,transform .25s}.hero-actions a:hover{background:rgba(159,214,219,.22);transform:translateY(-3px)}.hero-actions a span{font-size:18px}.hero-actions>span{color:#8bb5bd;font:500 9px var(--sans);letter-spacing:.18em}.hero-portrait{position:relative;z-index:2;justify-self:center;align-self:end;width:min(82%,460px);height:560px;margin-right:3%;overflow:hidden;background:#e8ece8;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%,0 11%);box-shadow:0 0 0 1px rgba(255,255,255,.18)}.hero-portrait:after{content:"";position:absolute;inset:auto 0 0;height:25%;background:linear-gradient(transparent,rgba(8,17,25,.5));pointer-events:none}.hero-portrait img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 20%;mix-blend-mode:multiply}.hero-portrait span{position:absolute;z-index:2;bottom:17px;left:21px;font-size:9px;letter-spacing:.23em;color:#fff}.portrait-angle{position:absolute;z-index:2;left:16px;top:16px;width:32px;height:32px;border-left:2px solid #547680;border-top:2px solid #547680}.hero-footnote{position:absolute;left:clamp(35px,6vw,100px);bottom:31px;color:#7296a1;font-size:9px;letter-spacing:.19em}.hero-footnote i{font-style:normal;color:#c8e9e8;margin:0 9px}@keyframes trace{to{transform:rotate(360deg)}}
.employee-catalogue{padding:90px clamp(28px,4.5vw,72px) 110px;background:#0b1620}.catalogue-intro{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:39px}.catalogue-intro h2{margin:16px 0 0;font:500 clamp(34px,3.4vw,54px) var(--serif);letter-spacing:.07em}.catalogue-intro h2 span{display:block;margin-top:7px;color:#9bbdc4;font:400 14px var(--sans);letter-spacing:.2em}.catalogue-intro p{max-width:370px;margin:0;color:#9db7be;font-size:12px;line-height:1.9}.catalogue-tools{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(130px,.85fr)) auto;gap:10px;align-items:end;padding:18px;border:1px solid var(--line);background:#10212c}.catalogue-tools label{min-width:0;display:grid;gap:8px}.catalogue-tools label span{color:#8caeb8;font-size:9px;letter-spacing:.15em}.catalogue-tools input,.catalogue-tools select{width:100%;height:43px;border:1px solid rgba(177,217,223,.23);border-radius:0;background:#091722;color:#e9f3f2;padding:0 13px;outline:0;font-size:11px}.catalogue-tools input:focus,.catalogue-tools select:focus{border-color:#bde6e7}.catalogue-tools input::placeholder{color:#6f939d}.catalogue-tools select{color-scheme:dark}.clear-filters{height:43px;display:flex;align-items:center;justify-content:center;gap:13px;white-space:nowrap;padding:0 13px;border:1px solid rgba(177,217,223,.23);background:transparent;color:#b7d0d4;font-size:10px}.clear-filters:hover{background:#19313d;color:#fff}.clear-filters span{font-size:16px}.results-bar{display:flex;justify-content:space-between;gap:15px;padding:26px 0 17px;color:#809da7;font-size:10px;letter-spacing:.12em}.results-bar span:first-child{color:#d1e3e4}.rarity-section{margin:17px 0 48px}.rarity-head{display:flex;align-items:center;gap:14px;margin-bottom:20px;color:var(--accent)}.rarity-head:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,var(--accent),transparent);opacity:.5}.rarity-head span{font-size:10px;letter-spacing:.23em}.rarity-head strong{font:500 23px var(--serif);color:#e8f0ed}.rarity-head small{font-size:9px;letter-spacing:.1em;color:#91aab1}.employee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.employee-badge{--accent:#acbad4;position:relative;display:block;min-width:0;padding:0;text-align:left;border:1px solid rgba(220,234,232,.18);background:#e8edea;color:#14222d;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}.employee-badge:hover,.employee-badge:focus-visible{transform:translateY(-8px);border-color:var(--accent);box-shadow:0 24px 45px rgba(0,0,0,.27)}.employee-badge:before{content:"";position:absolute;z-index:4;inset:8px 8px auto auto;width:23px;height:23px;border-top:2px solid var(--accent);border-right:2px solid var(--accent)}.badge-image{position:relative;display:block;height:330px;overflow:hidden;background:#f8faf8}.badge-image:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(220,229,226,.65),transparent 28%),linear-gradient(125deg,transparent 51%,rgba(25,57,70,.04) 51.2%,transparent 51.5%);pointer-events:none}.badge-image img{width:100%;height:100%;display:block;object-fit:contain;object-position:center bottom;transition:transform .6s}.employee-badge:hover .badge-image img{transform:scale(1.05)}.badge-vertical{position:absolute;z-index:2;right:10px;bottom:11px;writing-mode:vertical-rl;color:#56727d;font:500 8px var(--sans);letter-spacing:.25em}.badge-number{position:absolute;z-index:2;left:12px;top:13px;padding:6px 8px;border:1px solid rgba(44,66,72,.24);background:rgba(255,255,255,.77);font:500 9px var(--sans);letter-spacing:.15em}.badge-details{display:block;position:relative;border-top:3px solid var(--accent);padding:17px 17px 20px;background:#e9eeeb}.badge-upper{display:flex;justify-content:space-between;gap:5px;align-items:center;color:#667f85;font-size:9px;letter-spacing:.12em}.badge-upper span:last-child{color:#a17b4f;font-size:11px;letter-spacing:.03em}.badge-details strong{display:block;margin:10px 0 5px;color:#14242e;font:600 23px var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge-details em{display:block;color:#5f7780;font-style:normal;font-size:10px;letter-spacing:.09em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #cdd8d5;margin-top:17px;padding-top:12px;color:#536e75;font-size:9px}.badge-foot i{font-style:normal;font-size:18px;color:#203c47}.empty-results{text-align:center;padding:72px;border:1px solid var(--line);color:#9eb9c0}.empty-results span{display:block;font-size:42px}.empty-results strong{display:block;margin-top:12px;font:500 22px var(--serif)}.empty-results p{font-size:12px}.future-note{display:flex;align-items:center;gap:23px;margin-top:65px;padding:26px 30px;border:1px dashed rgba(181,215,216,.3);background:linear-gradient(110deg,#10232e,#0d1b27)}.future-note svg{width:67px;height:67px;flex:none;stroke:#86b7c0;stroke-width:1.25}.future-note div{flex:1}.future-note small{display:block;color:#92c7ce;font-size:9px;letter-spacing:.2em}.future-note strong{display:block;margin-top:8px;font:500 20px var(--serif)}.future-note p{margin:7px 0 0;color:#91aeb7;font-size:11px;line-height:1.7}.future-note>span{color:#c8dee0;font:400 24px var(--sans);white-space:nowrap}.employee-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:32px clamp(28px,4.5vw,72px);border-top:1px solid var(--line);color:#75939e;font-size:10px;letter-spacing:.08em}.employee-footer a{color:#d5e7e6}
.employee-dialog,.card-viewer{max-width:none;max-height:none;margin:auto;border:1px solid rgba(189,220,222,.35);padding:0;background:#0c1924;color:var(--ink);box-shadow:0 40px 100px rgba(0,0,0,.62)}.employee-dialog{width:min(1200px,96vw);height:min(860px,94vh)}.employee-dialog::backdrop,.card-viewer::backdrop{background:rgba(2,8,14,.85);backdrop-filter:blur(7px)}.dialog-layout{display:grid;grid-template-columns:minmax(280px,.39fr) minmax(0,.61fr);height:100%;min-height:0}.dialog-close,.viewer-close{position:absolute;z-index:10;top:12px;right:14px;display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(181,216,221,.33);background:#122631;color:#e4f3f1;font-size:24px}.dialog-close:hover,.viewer-close:hover{background:#245164}.dialog-art{position:relative;min-height:0;background:#f7f9f7;overflow:hidden}.dialog-art:after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:22%;background:linear-gradient(transparent,rgba(8,20,28,.5));pointer-events:none}.dialog-art img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.art-code{position:absolute;z-index:2;top:22px;left:22px;padding:7px 10px;background:rgba(255,255,255,.82);border:1px solid #adc1c2;color:#31505d;font-size:9px;letter-spacing:.19em}.art-source{position:absolute;z-index:2;bottom:17px;left:22px;color:#fff;font-size:9px;letter-spacing:.15em}.art-edge{position:absolute;z-index:2;right:20px;bottom:20px;width:38px;height:38px;border-right:2px solid #afcfd0;border-bottom:2px solid #afcfd0}.dialog-content{min-width:0;overflow-y:auto;overscroll-behavior:contain;background:#0e1c28}.dialog-header{padding:42px 43px 26px;border-bottom:1px solid var(--line)}.dialog-header>span{display:inline-block;color:#c5dce1;font-size:9px;letter-spacing:.17em}.dialog-header>span:first-child{color:#e7cba9;font-size:17px;letter-spacing:.07em;margin-right:16px}.dialog-header h2{margin:13px 0 1px;font:500 clamp(31px,3.2vw,46px) var(--serif);letter-spacing:.08em}.dialog-header p{margin:0;color:#8db7c0;font-size:12px;letter-spacing:.14em}.dialog-tags{display:flex;gap:8px;margin-top:20px}.dialog-tags span{padding:6px 10px;border:1px solid rgba(165,208,215,.22);color:#aec6cd;font-size:10px}.dialog-tabs{position:sticky;z-index:3;top:0;display:flex;gap:0;padding:0 24px;background:#122634;border-bottom:1px solid var(--line)}.dialog-tabs button{padding:16px 19px;border:0;border-bottom:2px solid transparent;background:none;color:#91aeb8;font-size:11px;letter-spacing:.09em}.dialog-tabs button:hover,.dialog-tabs button.is-active{color:#f4faf9;border-color:#b8e5e6}.dialog-panel{padding:28px 43px 50px}.employee-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 35px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.employee-facts div{padding:15px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.employee-facts dt{font-size:9px;letter-spacing:.15em;color:#81a5ae}.employee-facts dd{min-height:18px;margin:7px 0 0;font-size:12px;color:#e0ebea;line-height:1.65;overflow-wrap:anywhere}.employee-facts dd.is-empty{color:#6c8791}.panel-kicker{color:#8dc5cd;font-size:9px;letter-spacing:.2em}.biography{border-left:2px solid #9fcbd0;padding-left:22px}.biography>div{margin-top:16px}.biography p{margin:0 0 18px;color:#bfd0d3;font-size:12px;line-height:2.1;letter-spacing:.025em}.panel-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:20px}.panel-heading h3{margin:8px 0 0;font:500 25px var(--serif)}.panel-heading select{height:36px;max-width:160px;border:1px solid var(--line);background:#132c39;color:#d8e7e6;padding:0 9px;font-size:10px}.battle-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.battle-card{min-width:0;text-align:left;padding:0;border:1px solid var(--line);background:#152b37;color:#e6f0ee;transition:border-color .2s,transform .2s}.battle-card:hover{border-color:#addde1;transform:translateY(-3px)}.battle-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#273e48}.battle-card span{display:flex;justify-content:space-between;gap:9px;padding:11px 13px;align-items:center}.battle-card strong{font-size:11px;font-weight:500}.battle-card small{color:#81a8b0;font-size:9px;white-space:nowrap}.no-growth{padding:26px;border:1px solid var(--line);color:#819fa8;font-size:12px}.growth-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:31px}.growth-stage{padding:18px;border:1px solid var(--line);background:#132734}.growth-stage.final{background:linear-gradient(145deg,#1a333e,#122633);border-color:rgba(179,226,229,.4)}.growth-stage>span{display:block;margin-bottom:15px;color:#8cbdc6;font-size:9px;letter-spacing:.19em}.growth-stat{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.growth-stat small{color:#96aeb6;font-size:10px}.growth-stat b{font:500 18px var(--sans);color:#e6f1f0}.growth-stage.final .growth-stat b{color:#c6e7e7}.growth-section{margin:32px 0}.growth-section h4{display:flex;align-items:center;gap:11px;margin:0 0 15px;font:500 17px var(--serif)}.growth-section h4:before{content:"";width:3px;height:17px;background:#a6d7da}.growth-levels{display:grid;gap:7px}.growth-level{display:grid;grid-template-columns:49px minmax(0,1fr);border:1px solid var(--line);background:#122633}.growth-level b{display:grid;place-items:center;background:#1e3945;color:#c7e8e9;font-size:10px;font-weight:500}.growth-level p{margin:0;padding:10px 13px;color:#c1d3d5;font-size:11px;line-height:1.8;white-space:pre-line}.growth-advanced{display:grid;gap:8px}.growth-advanced div{padding:13px 15px;border-left:2px solid #b6dfe0;background:#142b37;color:#c1d3d5;font-size:11px;line-height:1.8;white-space:pre-line}.growth-record{margin-top:30px;border-top:1px solid var(--line);padding-top:15px}.growth-record summary{color:#9dc3ca;font-size:11px;cursor:pointer}.growth-record pre{max-height:400px;overflow:auto;padding:17px;border:1px solid var(--line);background:#0a1721;color:#afc3c9;font:11px/1.85 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere}
.card-viewer{width:min(1100px,95vw);max-height:95vh}.viewer-frame{padding:52px 20px 18px}.viewer-frame img{display:block;max-width:100%;max-height:calc(95vh - 145px);margin:auto;object-fit:contain}.viewer-frame>div{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;padding:15px 10px 0;color:#a5c0c7;font-size:10px}.viewer-frame strong{color:#e5f1ef;font-size:13px;font-weight:500}.viewer-frame a{color:#b5e0e2}
@media(max-width:1200px){.employee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalogue-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.search-control{grid-column:span 2}.clear-filters{grid-column:span 2}.hero-text h1{font-size:62px}}
@media(max-width:900px){.employee-rail{transform:translateX(-100%);transition:transform .25s}.employee-rail.is-open{transform:translateX(0)}.employee-menu-toggle{position:fixed;z-index:35;top:11px;left:15px;width:42px;height:42px;display:grid;place-content:center;gap:4px;border:1px solid var(--line);background:#102530}.employee-menu-toggle span{width:18px;height:1px;background:#d9e9e8}.employee-main{margin-left:0}.employee-topbar{padding-left:72px}.employee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-hero{grid-template-columns:1.1fr .9fr}.hero-text{padding-left:45px}.hero-text h1{font-size:55px}.hero-portrait{width:94%;height:520px}}
@media(max-width:700px){.employee-topbar span,.employee-topbar a:last-child{display:none}.employee-hero{display:block;min-height:735px}.hero-text{padding:78px 25px 355px}.hero-text h1{font-size:50px}.hero-text h1 span{font-size:22px}.hero-copy{max-width:560px;font-size:12px}.hero-portrait{position:absolute;right:4%;bottom:0;width:49%;height:330px;opacity:.92}.hero-drawing{width:650px;right:-320px;top:120px}.hero-footnote{left:25px;bottom:30px;max-width:40%;font-size:8px;line-height:1.7}.employee-catalogue{padding:70px 20px}.catalogue-intro{display:block}.catalogue-intro p{margin-top:20px}.catalogue-tools{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.search-control{grid-column:span 2}.clear-filters{grid-column:span 2}.employee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.badge-image{height:260px}.badge-details{padding:12px}.badge-details strong{font-size:19px}.badge-upper{font-size:8px}.badge-foot{font-size:8px}.dialog-layout{display:block;overflow:auto}.employee-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0}.dialog-art{height:340px}.dialog-art img{object-position:center 15%}.dialog-content{overflow:visible}.dialog-header{padding:27px 22px 22px}.dialog-panel{padding:23px 22px 40px}.dialog-tabs{padding:0 5px}.dialog-tabs button{flex:1;padding:14px 4px;font-size:10px}.future-note{padding:20px;gap:15px}.future-note svg{width:43px;height:43px}.future-note>span{font-size:16px}.results-bar span:last-child{display:none}}

/* Animated archive geometry stays behind the filters and dossiers. */
.employee-catalogue{position:relative;isolation:isolate;overflow:hidden}
.employee-catalogue>*:not(.catalogue-geometry){position:relative;z-index:1}
.catalogue-geometry{position:absolute;z-index:0;top:-125px;right:-110px;width:min(49vw,560px);height:auto;pointer-events:none;opacity:.27;stroke:#93cad1;stroke-width:1}
.geometry-ring-a{stroke-dasharray:4 9;animation:geometry-rotate 46s linear infinite;transform-origin:250px 250px}
.geometry-ring-b{stroke-dasharray:75 10 3 10;animation:geometry-rotate 35s linear infinite reverse;transform-origin:250px 250px}
.geometry-ring-c{stroke-dasharray:2 7;animation:geometry-rotate 28s linear infinite;transform-origin:250px 250px}
.geometry-axis{opacity:.28}.geometry-ticks{stroke-width:3;opacity:.7}
.geometry-trace{stroke:#e4ffff;stroke-width:3;stroke-dasharray:43 860;animation:geometry-trace 9s linear infinite}
.geometry-trace-reverse{animation-delay:-4.5s;opacity:.7}
.geometry-core{fill:#b7f0ed;stroke:none;filter:drop-shadow(0 0 15px #b7f0ed);animation:geometry-pulse 3s ease-in-out infinite}
@keyframes geometry-rotate{to{transform:rotate(360deg)}}
@keyframes geometry-trace{to{stroke-dashoffset:-903}}
@keyframes geometry-pulse{50%{opacity:.35;transform:scale(1.7);transform-origin:250px 250px}}

/* The sheen uses pointer coordinates, but never changes the image aspect ratio. */
.employee-badge{--pointer-x:50%;--pointer-y:40%}
.employee-badge:after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(255,255,255,.34),transparent 27%);opacity:0;transition:opacity .25s}
.employee-badge:hover:after,.employee-badge:focus-visible:after{opacity:1}
.badge-image{isolation:isolate}
.badge-hud{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke:#547f89;stroke-width:1;opacity:.48}
.badge-hud .hud-corner{stroke-width:2;opacity:.74}
.badge-hud .hud-orbit{stroke-dasharray:3 12;transform-origin:150px 161px;animation:geometry-rotate 32s linear infinite}
.badge-hud .hud-scan{stroke:#a9e7e9;stroke-width:2;stroke-dasharray:16 390;animation:geometry-trace 8s linear infinite}
.badge-hud .hud-register{opacity:.62}
.badge-glint{position:absolute;z-index:3;inset:-45% -90%;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.02) 44%,rgba(247,255,255,.58) 50%,rgba(255,255,255,.03) 56%,transparent 61%);transform:translateX(-70%) skewX(-13deg);mix-blend-mode:screen}
.employee-badge.is-lit .badge-glint{animation:badge-light-sweep .65s ease-out both}
.badge-number,.badge-vertical{z-index:4}
@keyframes badge-light-sweep{0%{transform:translateX(-70%) skewX(-13deg);opacity:0}13%{opacity:1}82%{opacity:.82}100%{transform:translateX(72%) skewX(-13deg);opacity:0}}
.employee-badge[data-employee-id="august-sky"] .badge-image img{object-fit:cover;object-position:center 10%;transform:scale(1.22);transform-origin:center 13%}
.employee-badge[data-employee-id="august-sky"]:hover .badge-image img{transform:scale(1.28)}
.employee-badge[data-employee-id="tiffany"] .badge-image img{object-fit:cover;object-position:center 24%}

/* A restrained animated diagram frames the full-height character dossier. */
.art-hud{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none;stroke:#447483;stroke-width:1;opacity:.34}
.art-hud-frame{stroke-width:2}.art-hud-axis{opacity:.25}
.art-hud-circle{stroke-dasharray:5 12;animation:geometry-rotate 48s linear infinite;transform-origin:200px 400px}
.art-hud-inner{stroke-dasharray:60 18 4 18;animation-direction:reverse;animation-duration:34s}
.art-hud-sweep{stroke:#b9eef0;stroke-width:2;stroke-dasharray:25 510;animation:geometry-trace 9s linear infinite}
.art-hud-data{stroke-width:2;opacity:.7}
.employee-dialog[data-employee-id="tiffany"] .dialog-art img{object-fit:contain;object-position:center center}
/* Keep the animated diagram behind the illustration in the dossier. */
.dialog-art{isolation:isolate}
.dialog-art .art-hud{z-index:0}
.dialog-art img{position:relative;z-index:1;display:block}
.dialog-art:after{z-index:2}
.dialog-art .art-code,.dialog-art .art-source,.dialog-art .art-edge{z-index:3}
@media(max-width:700px){.catalogue-geometry{top:-55px;right:-175px;width:440px;opacity:.16}.art-hud{height:340px}}
@media(prefers-reduced-motion:reduce){.geometry-ring,.geometry-trace,.geometry-core,.badge-hud .hud-orbit,.badge-hud .hud-scan,.art-hud-circle,.art-hud-sweep,.employee-badge.is-lit .badge-glint{animation:none!important}.employee-badge,.badge-image img{transition:none!important}}

/* The opening dossier draws from the real employee list in a shuffled cycle. */
.hero-employee-card{padding:0;border:0;color:inherit;text-align:left;cursor:pointer;transition:box-shadow .35s,transform .35s}
.hero-employee-card:hover,.hero-employee-card:focus-visible{transform:translateY(-5px);box-shadow:0 20px 50px rgba(2,8,14,.34)}
.hero-employee-card img{transition:opacity .36s ease,transform .6s ease}
.hero-employee-card.is-changing img{opacity:.18;transform:scale(1.035)}
.hero-card-data{position:absolute;z-index:3;left:20px;right:20px;bottom:24px;display:grid;gap:5px;color:#fff!important;letter-spacing:normal!important;font-size:inherit!important}
.hero-card-data small{font:500 9px var(--sans);letter-spacing:.18em;color:#d0e8e5}
.hero-card-data strong{font:500 clamp(21px,2.1vw,31px) var(--serif);letter-spacing:.07em;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.hero-card-data em{font:400 10px var(--sans);font-style:normal;letter-spacing:.08em;color:#d4e6e4}
.hero-card-progress{position:absolute;z-index:4;left:0;bottom:0;width:100%;height:3px;background:#b9ece9;box-shadow:0 0 14px #80d4d4;transform-origin:left;animation:hero-progress 6.5s linear infinite}
.hero-employee-card.is-changing .hero-card-progress{animation:none;transform:scaleX(0)}
.hero-next{position:absolute;z-index:4;right:clamp(28px,5vw,75px);bottom:31px;padding:10px 13px;border:1px solid rgba(211,240,239,.42);background:rgba(9,24,34,.76);color:#e4f4f1;font-size:9px;letter-spacing:.12em;backdrop-filter:blur(8px)}
.hero-next:hover{background:#21414d}.hero-next span{margin-left:12px;font-size:15px}
@keyframes hero-progress{to{transform:scaleX(0)}}
@media(max-width:700px){.hero-card-data{left:12px;right:11px;bottom:17px}.hero-card-data small{font-size:7px}.hero-card-data strong{font-size:20px}.hero-card-data em{font-size:8px}.hero-next{right:12px;bottom:8px;padding:8px;font-size:0}.hero-next span{margin:0;font-size:17px}}

/* Quality follows the colored frame on each battle-card source image. */
.battle-card[data-quality="green"],.card-viewer[data-quality="green"]{--quality-rgb:89,219,115}
.battle-card[data-quality="blue"],.card-viewer[data-quality="blue"]{--quality-rgb:85,170,255}
.battle-card[data-quality="purple"],.card-viewer[data-quality="purple"]{--quality-rgb:190,105,255}
.battle-card[data-quality="gold"],.card-viewer[data-quality="gold"]{--quality-rgb:242,192,100}
.battle-card[data-quality="red"],.card-viewer[data-quality="red"]{--quality-rgb:250,74,85}
.battle-card[data-quality]{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(var(--quality-rgb),.56);box-shadow:0 0 10px rgba(var(--quality-rgb),.3),0 0 28px rgba(var(--quality-rgb),.1);transition:transform .25s,border-color .25s,box-shadow .3s}
.battle-card[data-quality]:hover,.battle-card[data-quality]:focus-visible{border-color:rgba(var(--quality-rgb),.9);box-shadow:0 0 16px rgba(var(--quality-rgb),.58),0 0 38px rgba(var(--quality-rgb),.2);transform:translateY(-4px)}
.battle-card[data-quality] span{position:relative;z-index:2}
.battle-card[data-quality="gold"]:before,.card-viewer[data-quality="gold"] .viewer-image-stage:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle at 7% 17%,#fff2bf 0 2px,transparent 7px),radial-gradient(circle at 91% 23%,#fff0ae 0 2px,transparent 8px),radial-gradient(circle at 83% 81%,#ffe4a1 0 2px,transparent 9px),radial-gradient(circle at 17% 87%,#fff7d2 0 1px,transparent 7px),radial-gradient(circle at 53% 7%,#fff2bf 0 1px,transparent 8px);filter:blur(2px);opacity:.25;animation:gold-drift 5s ease-in-out infinite alternate}
.battle-card[data-quality="red"]:after,.card-viewer[data-quality="red"] .viewer-image-stage:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 30%,rgba(255,78,90,.08) 42%,rgba(255,235,237,.42) 49%,rgba(255,57,76,.18) 54%,transparent 68%);mix-blend-mode:screen;transform:translateX(-130%);animation:red-flow 2.7s ease-in-out infinite}
.battle-card[data-quality="red"]{animation:red-pulse 3.4s ease-in-out infinite}
@keyframes gold-drift{to{opacity:.58;transform:translate3d(0,-11px,0) scale(1.03)}}
@keyframes red-flow{55%,100%{transform:translateX(130%)}}
@keyframes red-pulse{50%{box-shadow:0 0 16px rgba(250,74,85,.58),0 0 37px rgba(250,74,85,.2)}}

.viewer-image-stage{position:relative;isolation:isolate;display:table;width:max-content;max-width:100%;margin:0 auto;line-height:0;border:1px solid transparent;overflow:hidden}
.viewer-image-stage img{max-width:100%;height:auto}
.card-viewer[data-quality]:not([data-quality="none"]) .viewer-image-stage{border-color:rgba(var(--quality-rgb),.67);box-shadow:0 0 22px rgba(var(--quality-rgb),.42),0 0 60px rgba(var(--quality-rgb),.17)}
.card-viewer[data-quality="red"] .viewer-image-stage{animation:red-pulse 3.4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.hero-card-progress,.battle-card[data-quality="gold"]:before,.card-viewer[data-quality="gold"] .viewer-image-stage:before,.battle-card[data-quality="red"]:after,.card-viewer[data-quality="red"] .viewer-image-stage:after,.battle-card[data-quality="red"],.card-viewer[data-quality="red"] .viewer-image-stage{animation:none!important}}
.badge-image,.hero-employee-card,.dialog-art{background:var(--portrait-paper,#fff)}
@media(max-width:420px){.hero-text{padding-bottom:340px}.hero-text h1{font-size:42px}.hero-portrait{width:57%;height:304px}.hero-footnote{max-width:37%}.employee-grid{gap:8px}.badge-image{height:210px}.badge-details strong{font-size:16px}.badge-upper span:first-child{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-foot{font-size:7px}.catalogue-tools{gap:7px}.catalogue-tools label span{font-size:8px}.catalogue-tools input,.catalogue-tools select{padding:0 7px;font-size:10px}.employee-facts{grid-template-columns:1fr}.battle-card-grid{gap:8px}.battle-card span{padding:9px;display:block}.battle-card small{display:block;margin-top:4px}.future-note svg{display:none}.future-note>span{align-self:start}}

/* Battle cards follow the labeled source folders. PNG source artwork is not published. */
.card-category-hint{color:#87a9b2;font-size:10px;letter-spacing:.1em}
.card-group-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px;border-bottom:1px solid var(--line);padding-bottom:13px}
.card-group-tab{min-width:132px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border:1px solid #3b5c67;background:#132935;color:#9fbfc5;text-align:left;transition:background .2s,border-color .2s,box-shadow .2s}
.card-group-tab span{font-size:9px;color:#6f9aa5;letter-spacing:.08em}
.card-group-tab strong{font-size:12px;font-weight:500;white-space:nowrap}
.card-group-tab small{font-size:10px;color:#79aab3}
.card-group-tab:hover,.card-group-tab:focus-visible{border-color:#a6dce1;color:#effbfa}
.card-group-tab.is-active{background:#214351;border-color:#9bdce4;color:#f1fbfa;box-shadow:inset 0 -2px #a3e8ed}
.card-group-tab[data-group="角色异画"].is-active{border-color:#d9a2f5;background:#362747;box-shadow:inset 0 -2px #dcacf5,0 0 18px #bc74dc33}
.alt-art-banner{position:relative;overflow:hidden;min-height:118px;margin:0 0 19px;padding:24px 27px;display:flex;flex-direction:column;justify-content:center;gap:9px;border:1px solid #a57dbc;background:linear-gradient(105deg,#1c2039,#302845 62%,#142d3a)}
.alt-art-banner[hidden]{display:none}
.alt-art-banner>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.7}
.alt-art-banner>span,.alt-art-banner>strong{position:relative;z-index:1}
.alt-art-banner>span{font-size:9px;letter-spacing:.2em;color:#ddb9ed}
.alt-art-banner>strong{font:400 17px var(--serif);color:#f4e9f8}
.alt-art-banner svg path,.alt-art-banner svg circle,.battle-card.is-alt-art>svg path,.battle-card.is-alt-art>svg circle,.viewer-alt-svg path,.viewer-alt-svg circle{fill:none;stroke:#d5a3ee;stroke-width:1.6;vector-effect:non-scaling-stroke}
.alt-art-banner .alt-trace,.battle-card.is-alt-art .alt-sweep-line,.viewer-alt-svg .alt-sweep-line{stroke-dasharray:72 930;animation:alt-line-flow 7s linear infinite}
.alt-art-banner .alt-trace-delay{animation-delay:-3.4s}
.alt-art-banner .alt-mark,.battle-card.is-alt-art .alt-sigil,.viewer-alt-svg .alt-sigil{stroke:#f3d4ff;filter:drop-shadow(0 0 7px #e5a5ff)}
.alt-art-banner .alt-orbit,.battle-card.is-alt-art .alt-pulse-ring,.viewer-alt-svg .alt-pulse-ring{stroke-dasharray:10 12;transform-origin:center;animation:alt-orbit 18s linear infinite}
.battle-card.is-alt-art{border-color:#d29de8;box-shadow:0 0 17px #c478dc66,0 0 39px #9b5dcc2c}
.battle-card.is-alt-art:hover{box-shadow:0 0 25px #db9dec9c,0 0 45px #b177db55}
.battle-card.is-alt-art>svg{position:absolute;z-index:3;left:0;top:0;width:100%;height:calc(100% - 37px);pointer-events:none;opacity:.84}
.viewer-alt-svg{display:none;position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none}
.card-viewer[data-alt-art="true"] .viewer-alt-svg{display:block}
@keyframes alt-line-flow{to{stroke-dashoffset:-1002}}
@keyframes alt-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.alt-art-banner .alt-trace,.alt-art-banner .alt-orbit,.battle-card.is-alt-art .alt-sweep-line,.battle-card.is-alt-art .alt-pulse-ring,.viewer-alt-svg .alt-sweep-line,.viewer-alt-svg .alt-pulse-ring{animation:none!important}}

/* The dossier uses transparent cutouts and positions the actual figure bounds.
   Uniform scaling keeps each original character's anatomy untouched. */
.employee-dialog .dialog-art{background:radial-gradient(circle at 50% 43%,#f8faf7 0,#e4eeea 72%,#cbdcd9 100%)}
.employee-dialog .dialog-art:before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(43,105,116,.13) 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),rgba(43,105,116,.1) 50%,transparent calc(50% + .5px));background-size:72px 72px;opacity:.55}
.employee-dialog .dialog-art .art-hud{z-index:0;opacity:.56;stroke:#356777}
.employee-dialog .dialog-art>img{position:absolute;z-index:1;display:block;max-width:none;max-height:none;margin:0;object-fit:contain;transform:none}
@media(max-width:700px){.employee-dialog .dialog-art{height:clamp(400px,63dvh,520px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-sweep{animation:none}.employee-badge,.badge-image img,.hero-actions a,.battle-card{transition:none}}
.battle-card.is-artwork img{object-fit:contain;background:#edf1ef}

/* Six-star command ability and text-only innate traits. */
.leader-skill{position:relative;isolation:isolate;display:grid;grid-template-columns:98px minmax(0,1fr);align-items:center;gap:19px;min-height:151px;margin:0 0 27px;padding:20px 24px;overflow:hidden;border:1px solid rgba(231,197,125,.58);background:linear-gradient(115deg,rgba(113,88,49,.27),rgba(28,53,62,.75) 55%,rgba(27,39,48,.92));box-shadow:inset 0 0 0 1px rgba(232,214,163,.09),0 15px 40px rgba(0,0,0,.16)}
.leader-skill[hidden]{display:none}
.leader-skill:before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(120deg,transparent 0 33px,rgba(239,220,157,.035) 34px 35px,transparent 36px 68px)}
.leader-skill:after{content:"";position:absolute;inset:7px;border:1px solid rgba(234,203,137,.18);clip-path:polygon(0 0,100% 0,100% 68%,93% 100%,0 100%);pointer-events:none}
.leader-skill-icon{width:90px;height:90px;overflow:visible;filter:drop-shadow(0 0 8px rgba(240,199,102,.3))}
.leader-skill-icon .leader-orbit{stroke:#d9b675;stroke-width:1;stroke-dasharray:4 5;transform-origin:56px 56px}
.leader-skill-icon .leader-orbit-outer{animation:leader-orbit 24s linear infinite}
.leader-skill-icon .leader-orbit-inner{animation:leader-orbit 15s linear infinite reverse;opacity:.7}
.leader-skill-icon .leader-rays{stroke:#8eb7b8;stroke-width:1.5;opacity:.65}
.leader-skill-icon .leader-sigil{stroke:#f5dd9d;stroke-width:2;fill:rgba(222,181,104,.16);animation:leader-pulse 5s ease-in-out infinite}
.leader-skill-icon .leader-sigil-core{fill:#f5dc9c;filter:drop-shadow(0 0 5px #f6d991)}
.leader-skill-icon .leader-orbit-trace{stroke:#f9e1a2;stroke-width:2;stroke-linecap:round;animation:leader-orbit 9s linear infinite;transform-origin:56px 56px}
.leader-skill-copy{min-width:0;position:relative;z-index:1}
.leader-skill-copy>span{color:#cbb98b;font-size:9px;letter-spacing:.2em}
.leader-skill-copy h3{margin:9px 0 7px;color:#fff1c5;font:500 clamp(20px,2.2vw,28px) var(--serif);letter-spacing:.09em}
.leader-skill-copy p{margin:0;color:#d5d4c8;font-size:11px;line-height:1.8;white-space:pre-line}
.leader-skill-code{position:absolute;right:20px;top:16px;color:rgba(235,205,144,.46);font-size:9px;letter-spacing:.18em}
@keyframes leader-orbit{to{transform:rotate(360deg)}}
@keyframes leader-pulse{50%{fill:rgba(239,205,129,.36);filter:drop-shadow(0 0 9px rgba(245,209,137,.5))}}
.passive-section{margin-top:0}
.passive-list{display:grid;gap:10px}
.passive-entry{padding:15px 18px;border:1px solid rgba(167,202,207,.22);border-left:2px solid #a7c9cb;background:#122632}
.passive-entry strong{display:block;margin-bottom:8px;color:#e3f0eb;font:500 15px var(--serif)}
.passive-entry p{margin:0;color:#b9cdd1;font-size:11px;line-height:1.85;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:700px){.leader-skill{grid-template-columns:65px minmax(0,1fr);gap:13px;padding:17px 16px;min-height:130px}.leader-skill-icon{width:62px;height:62px}.leader-skill-code{display:none}}
@media(prefers-reduced-motion:reduce){.leader-skill-icon .leader-orbit,.leader-skill-icon .leader-sigil,.leader-skill-icon .leader-orbit-trace{animation:none!important}}
