@charset "UTF-8";
:root{--bg:#000000;--panel:#11171e;--ink:#ebece4;--muted:#818a93;--accent:#9fe6ef;--line:#ffffff16;color-scheme:dark;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,#stage:focus-visible{outline:2px solid var(--accent);outline-offset:4px}header{height:94px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:17px;letter-spacing:4px}.brand small{display:block;font:8px Arial,sans-serif;letter-spacing:2.1px;margin-top:8px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid #cbd0c266;transform:rotate(-4deg);font:30px "Songti SC",serif}.header-center{font-size:11px;letter-spacing:2px;color:#b5b9b7}.header-center span{margin-left:24px;font:9px Arial;letter-spacing:2px;color:#5f6b76}.outline-link{font-size:11px;letter-spacing:1px;padding:10px 0}.outline-link span{margin-left:24px;color:var(--accent)}main{max-width:1390px;margin:auto;display:grid;grid-template-columns:34% 66%;padding:0 5%;gap:0}.story{padding:45px 45px 25px 0;border-right:1px solid var(--line)}.eyebrow{display:flex;align-items:center;gap:10px;font:9px Arial;letter-spacing:2.1px;color:var(--accent)}.eyebrow i{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}h1{font:400 clamp(42px,4.4vw,66px)/1.22 "Songti SC","STSong",serif;letter-spacing:-2px;margin:24px 0 20px}h1 span{color:var(--accent)}.intro{font-size:12px;line-height:2;color:#929a9e;letter-spacing:2px}.collection-heading{display:flex;justify-content:space-between;font-size:10px;color:#a5aeaf;margin:36px 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.collection-heading span:last-child{font:10px Arial;color:#62717a;letter-spacing:2px}#roster{display:grid;gap:5px}.character{position:relative;display:flex;align-items:center;text-align:left;padding:5px 12px 5px 7px;border:1px solid transparent;gap:13px;width:100%;transition:background .2s,border-color .2s}.character img{width:56px;height:59px;object-fit:cover;object-position:50% 20%;background:#16212a;filter:saturate(.5);transition:filter .3s}.character .number{font:9px Arial;color:#56656d;min-width:12px}.character .names{flex:1;font:17px "Songti SC",serif;letter-spacing:2px}.character small{display:block;font:7px Arial;letter-spacing:1.5px;color:#68767f;margin-top:6px}.character .arrow{color:#596771;font-size:15px}.character[aria-pressed=true]{background:linear-gradient(90deg,#ffffff09,transparent);border-color:#ffffff25}.character[aria-pressed=true]::before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:2px;background:var(--accent)}.character[aria-pressed=true] img,.character:hover img{filter:saturate(1)}.character[aria-pressed=true] .arrow{color:var(--accent)}.collection-note{font:7px Arial;letter-spacing:1.6px;color:#43545e;margin:20px 0 0}.display{position:relative;min-width:0;padding:23px 0 25px 39px;overflow:hidden}.display-top{display:flex;justify-content:space-between;color:#737f87;font-size:9px;letter-spacing:2px}.display-top span:last-child{color:var(--accent);font:10px Arial;letter-spacing:2px}.large-type{position:absolute;top:250px;left:50%;transform:translateX(-50%);font:700 clamp(55px,8vw,125px) Arial;letter-spacing:-6px;white-space:nowrap;color:#ffffff03;pointer-events:none}#stage{width:100%;height:580px;position:relative;touch-action:none;cursor:grab}#stage:active{cursor:grabbing}#stage canvas{display:block}#loading{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:var(--accent);white-space:pre-wrap;text-align:center;z-index:2}.view-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#61707a;padding:0 7px;margin-top:-3px}.view-meta>span:first-child{font:8px Arial;letter-spacing:2px;color:var(--accent)}.view-meta b{margin:0 8px;font-weight:400;color:#374854}.card-caption{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:18px;gap:15px}.card-caption p{margin:0 0 7px;font-size:9px;letter-spacing:3px;color:var(--accent)}.card-caption h2{font:400 27px "Songti SC",serif;letter-spacing:3px;margin:0}.actions{display:flex;gap:8px;align-items:center}.actions button{font-size:10px;border:1px solid var(--line);padding:12px 13px;white-space:nowrap}.actions button:hover{border-color:var(--accent)}.actions button[aria-pressed=true]{background:var(--accent);color:#0b1217}.actions #reset{font-size:16px;padding:8px 12px}.description{font-size:10px;line-height:1.8;color:#71818b;margin:13px 0 0}.hidden{display:none}.controls{max-width:1250px;margin:18px auto 0;padding:25px 0;display:flex;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}.control-heading{font-size:12px;letter-spacing:2px;min-width:148px}.control-heading small{display:block;font:7px Arial;color:#50616c;letter-spacing:1.5px;margin-top:7px}.controls label{font-size:10px;flex:1;min-width:0;color:#82919a}.controls output{float:right;color:var(--accent);font:10px Arial}input[type=range]{display:block;width:100%;height:18px;margin:9px 0 0;accent-color:var(--accent);cursor:pointer}.controls>button{font-size:11px;color:var(--accent);white-space:nowrap;border-left:1px solid var(--line);padding:15px 0 15px 28px}.controls>button span{margin-left:16px}footer{max-width:1250px;margin:auto;display:flex;justify-content:space-between;padding:22px 0 26px;font-size:8px;letter-spacing:1px;color:#56636d}footer b{font:7px Arial;margin-left:15px;color:#394a56}footer button{font-size:9px;color:#89959b}dialog{max-width:600px;width:calc(100% - 36px);border:1px solid #526774;background:#0e171e;color:var(--ink);padding:38px;line-height:1.9}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog h2{font:27px "Songti SC",serif}dialog p{font-size:12px;color:#98a7b0}dialog a{font-size:11px;color:var(--accent)}dialog .fine{font-size:10px;color:#647983}.close{position:absolute;top:10px;right:14px;font-size:25px}#source-list{display:grid;gap:7px;padding:15px 0;border-block:1px solid var(--line)}#source-list a{display:flex;justify-content:space-between}#source-list span{color:#5e7b8c;font-size:10px}@media(min-width:1550px){main{max-width:1510px}#stage{height:650px}.story{padding-top:53px}.collection-heading{margin-top:45px}.character{padding-block:8px}}@media(max-width:1400px){.controls,footer{margin-left:5%;margin-right:5%}}@media(max-width:1000px){main{grid-template-columns:38% 62%;padding:0 4%}.story{padding-right:23px}.display{padding-left:22px}.header-center{display:none}#stage{height:535px}.controls{gap:20px}.control-heading{min-width:100px}.control-heading small{font-size:6px}.actions{gap:4px}.actions button{padding:10px 8px;font-size:9px}.card-caption h2{font-size:23px}.character .names{font-size:15px}.character img{width:48px;height:52px}}
@media(max-width:700px){header{height:77px;margin:0 6%}.brand{font-size:14px;letter-spacing:3px}.brand small{font-size:6px}.brand-mark{width:34px;height:37px;font-size:26px}.outline-link{font-size:9px}.outline-link span{margin-left:8px}main{display:flex;flex-direction:column;padding:0 6%}.story{padding:30px 0 16px;border-right:0}.eyebrow{font-size:8px}h1{font-size:39px;line-height:1.1;margin:18px 0;letter-spacing:-1px}h1 br{display:none}.intro{font-size:10px;line-height:1.8;margin:0}.intro br{display:none}.collection-heading{margin:23px 0 10px}#roster{display:flex;gap:6px}.character{padding:5px 2px;display:flex;flex-direction:column;gap:7px;min-width:0;text-align:center;flex:1}.character .number,.character small,.character .arrow{display:none}.character img{width:100%;height:59px;object-fit:cover}.character .names{font-size:11px;letter-spacing:0;white-space:nowrap}.character[aria-pressed=true]::before{top:auto;bottom:-1px;left:8px;right:8px;width:auto;height:2px}.collection-note{display:none}.display{padding:12px 0 20px;border-top:1px solid var(--line);overflow:visible}.display-top{font-size:8px}#stage{height:490px}.large-type{top:200px;font-size:67px;max-width:100%;overflow:hidden}.view-meta{font-size:8px}.card-caption{padding-top:15px;margin-top:16px}.card-caption h2{font-size:25px}.actions button{padding:11px 9px;font-size:9px}.actions #reset{padding:8px 9px}.description{font-size:10px}.controls{display:grid;grid-template-columns:1fr 1fr;margin:0 6%;gap:22px;padding:20px 0}.control-heading{grid-column:1/-1}.control-heading small{display:inline;margin-left:18px}.controls>button{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 0 0;text-align:left}footer{margin:0 6%;flex-wrap:wrap;gap:12px;font-size:7px;padding-block:20px}footer>span:nth-child(2){order:3;width:100%}footer b{font-size:6px}dialog{padding:27px}.character:focus-visible{outline-offset:1px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
