@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700;900&family=Noto+Sans+SC:wght@300;400;500&display=swap";:root{--bg:#0c0c0e;--bg-2:#161618;--ink:#f3f0e9;--ink-dim:#b8b3a7;--ink-faint:#7a756b;--violet:#c9c6bf;--violet-deep:#8a877f;--gold:#c9c6bf;--line:#f1efe91f;--serif:"Noto Serif SC", serif;--sans:"Noto Sans SC", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-weight:300;overflow:hidden}#root{position:relative}::selection{color:#0c0c0e;background:#f1efe92e}button{cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}.space-bg{z-index:0;pointer-events:none;background:radial-gradient(680px 460px at 50% 30%,#f1efe90b,#0000 62%),radial-gradient(42% 86% at 63% 52%,#f1efe907,#0000 60%);position:fixed;inset:0}@media (prefers-reduced-motion:reduce){*{transition-duration:.05ms!important;animation-duration:.001ms!important}}.star-tag{white-space:nowrap;letter-spacing:.04em;color:var(--ink-dim);text-shadow:0 1px 9px #0c0c0e,0 0 4px #0c0c0e,0 0 3px #0c0c0e;font-size:11.5px;font-weight:300;transition:color .3s;transform:translateY(-18px)}.star-tag.hot{color:var(--ink);font-family:var(--serif);font-size:13px;font-weight:500}.constellation-label{white-space:nowrap;text-shadow:0 2px 12px #0c0c0e,0 0 5px #0c0c0e}.constellation-label .cl-zh{font-family:var(--serif);letter-spacing:.32em;text-indent:.32em;opacity:.78;font-size:17px;font-weight:700}.hud{z-index:20;pointer-events:none;position:fixed;inset:0}.hud>*{pointer-events:auto}.topnav{white-space:nowrap;align-items:center;gap:clamp(14px,2vw,24px);display:flex;position:fixed;top:clamp(15px,2.6vw,26px);left:50%;transform:translate(-50%)}.tn-wm{font-family:var(--serif);letter-spacing:.16em;color:var(--ink);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.tn-sq{background:var(--ink);flex:none;width:7px;height:7px}.tn-links{align-items:center;gap:clamp(11px,1.6vw,18px);display:flex}.tn-links button{letter-spacing:.08em;color:var(--ink-dim);background:0 0;border:0;font-size:13px;transition:color .3s}.tn-links button:hover,.tn-links button.on{color:var(--ink)}.tn-ham{color:var(--ink-dim);font-size:16px}.tn-pill{letter-spacing:.06em;color:var(--ink);border:1px solid var(--line);border-radius:30px;padding:7px 16px;font-size:12px;transition:border-color .3s}.tn-pill:hover{border-color:var(--ink-dim)}.eyebrow{pointer-events:none;align-items:flex-end;gap:14px;display:flex;position:fixed;bottom:clamp(42px,9vh,88px);left:clamp(18px,4vw,44px)}.eb-no{font-family:var(--serif);color:#0000;-webkit-text-stroke:1px var(--ink-dim);font-size:clamp(40px,6vw,64px);font-weight:300;line-height:.86}.eb-txt{flex-direction:column;gap:5px;padding-bottom:6px;display:flex}.eb-txt b{font-family:var(--sans);letter-spacing:.3em;color:var(--ink-dim);font-size:11px;font-weight:500}.eb-txt i{font-family:var(--serif);color:var(--ink);font-size:14px;font-style:normal}.brand{flex-direction:column;gap:4px;display:flex;position:absolute;top:clamp(18px,3vw,34px);left:clamp(18px,3vw,40px)}.brand-name{font-family:var(--serif);letter-spacing:.28em;text-indent:.28em;color:var(--ink);font-size:clamp(20px,2.4vw,27px);font-weight:900}.brand-sub{letter-spacing:.34em;color:var(--ink-faint);font-size:10.5px}.legend{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:60vw;display:flex;position:absolute;top:clamp(16px,3vw,32px);right:clamp(16px,3vw,38px)}.legend button{border:1px solid var(--line);color:var(--ink-dim);letter-spacing:.1em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#faf9f699;border-radius:30px;align-items:center;gap:8px;padding:7px 14px;font-size:12px;transition:color .3s,border-color .3s,background .3s;display:inline-flex}.legend button i{color:var(--ink-faint);font-size:10.5px;font-style:normal}.legend button:hover{color:var(--ink);border-color:#14110d4d}.legend .li-dot{background:var(--ink);border-radius:50%;width:7px;height:7px}.legend-item.on{color:var(--bg);border-color:var(--ink);background:var(--ink)}.legend-item.on i{color:var(--bg)}.legend-item.on .li-dot{background:var(--bg)}.legend-all.on{color:var(--bg);border-color:var(--ink);background:var(--ink)}.hint{letter-spacing:.2em;color:var(--ink-faint);white-space:nowrap;font-size:11.5px;position:absolute;bottom:clamp(16px,3vw,30px);left:50%;transform:translate(-50%)}.name-toggle{white-space:nowrap;font-family:var(--sans);letter-spacing:.42em;text-indent:.42em;color:var(--ink);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f1efe90a;border-radius:30px;align-items:center;gap:11px;padding:12px 30px;font-size:12px;font-weight:300;transition:background .35s,border-color .35s,transform .2s,box-shadow .35s,letter-spacing .35s;display:inline-flex;position:absolute;bottom:clamp(48px,7vh,76px);left:50%;transform:translate(-50%)}.name-toggle .nt-dot{background:var(--violet);border-radius:50%;flex:none;width:5px;height:5px;position:relative}.name-toggle .nt-dot:after{content:"";background:var(--violet);border-radius:50%;animation:2.4s ease-out infinite dsPing;position:absolute;inset:0}@keyframes dsPing{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}.name-toggle:hover{border-color:var(--ink-dim);letter-spacing:.5em;background:#f1efe91a}.name-toggle:active{transform:translate(-50%)translateY(1px)scale(.98)}.reader{z-index:60;background:var(--bg);position:fixed;inset:0;overflow:hidden auto}.rd-progress{z-index:61;background:var(--ink-dim);pointer-events:none;height:1.5px;transition:width .15s linear;position:fixed;top:0;left:0}.rd-close{z-index:2;color:var(--ink-faint);letter-spacing:.1em;cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:12px;transition:color .25s;position:fixed;top:clamp(16px,2.5vw,24px);left:clamp(16px,3vw,36px)}.rd-close:hover{color:var(--ink)}.rd-layout{justify-content:center;gap:clamp(28px,5vw,56px);min-height:100vh;padding:clamp(72px,11vh,130px) clamp(20px,5vw,48px) clamp(56px,9vh,96px);display:flex}.rd-nav{flex-direction:column;flex:0 0 clamp(155px,19vw,195px);align-self:flex-start;gap:clamp(16px,3vh,26px);padding-top:4px;display:flex;position:sticky;top:clamp(72px,11vh,130px)}.rdn-brand{font-family:var(--serif);letter-spacing:.14em;color:var(--ink);font-size:15px;font-weight:700}.rdn-theme{font-family:var(--sans);letter-spacing:.2em;color:var(--ink-dim);margin-top:-10px;font-size:10.5px;font-weight:400}.rdn-current{flex-direction:column;align-items:center;gap:4px;display:flex}.rdnc-num{font-family:var(--serif);color:#0000;-webkit-text-stroke:1px var(--ink-dim);font-size:50px;font-weight:400;line-height:.82;transition:-webkit-text-stroke-color .35s}.rdnc-label{font-family:var(--sans);letter-spacing:.2em;color:var(--ink-faint);font-size:9px;font-weight:400}.rdn-tabs{border-bottom:1px solid var(--line);display:flex}.rdn-tabs button{text-align:center;letter-spacing:.14em;font-size:10px;font-family:var(--serif);color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;flex:1;justify-content:center;gap:5px;margin-bottom:-1px;padding:10px 0;font-weight:500;transition:color .3s,border-color .3s;display:flex}.rdn-tabs button i{font-style:normal;font-family:var(--sans);color:var(--ink-faint);font-size:9px;font-weight:300}.rdn-tabs button.on{color:var(--ink);border-bottom-color:var(--ink)}.rdn-tabs button.on i{color:var(--ink-dim)}.rdn-bars{flex-direction:column;gap:8px;display:flex}.rdnb-item{grid-template-rows:auto auto;grid-template-columns:20px 1fr;align-items:center;gap:3px 7px;display:grid}.rdnb-no{font-family:var(--serif);color:#0000;-webkit-text-stroke:.6px var(--ink-faint);text-align:right;grid-row:1/3;font-size:15px;font-weight:400;line-height:.88;transition:-webkit-text-stroke-color .35s}.rdnb-item.on .rdnb-no{-webkit-text-stroke-color:var(--ink)}.rdnb-track{background:var(--line);border-radius:2px;height:2.5px;overflow:hidden}.rdnb-fill{background:var(--ink-dim);border-radius:2px;height:100%;transition:width .45s cubic-bezier(.4,0,.2,1)}.rdnb-item.on .rdnb-fill{background:var(--ink)}.rdnb-text{font-family:var(--sans);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:400;line-height:1.4;transition:color .3s;overflow:hidden}.rdnb-item.on .rdnb-text{color:var(--ink-dim)}.rdn-dots{justify-content:center;gap:7px;display:flex}.rdn-dots span{background:var(--ink-faint);border-radius:50%;width:3.5px;height:3.5px;transition:background .3s,box-shadow .3s}.rdn-dots span.on{background:var(--ink);box-shadow:0 0 4px var(--ink-dim)}.rdn-tags{flex-wrap:wrap;gap:5px;display:flex}.rdn-tags span{font-family:var(--sans);letter-spacing:.06em;border:1px solid var(--line);color:var(--ink-faint);border-radius:14px;padding:3px 8px;font-size:10px;font-weight:400}.rdn-foot{font-family:var(--sans);color:var(--ink-faint);flex-direction:column;gap:3px;font-size:9.5px;font-weight:400;display:flex}.rd-article{flex:0 0 clamp(420px,50vw,600px);min-width:0}.rd-eyebrow{font-family:var(--sans);letter-spacing:.26em;color:var(--ink-faint);align-items:center;gap:10px;margin-bottom:clamp(20px,3vh,28px);font-size:11px;font-weight:400;display:flex}.rd-eyebrow span{background:var(--ink-faint);opacity:.45;width:28px;height:1px;display:inline-block}.rd-kpi{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:clamp(24px,4vh,36px);display:grid}.rdk-item{background:var(--bg);text-align:center;flex-direction:column;gap:4px;padding:clamp(14px,2.5vh,20px) clamp(8px,2vw,14px);display:flex}.rdk-num{font-family:var(--serif);color:#0000;-webkit-text-stroke:.8px var(--ink-dim);font-size:clamp(26px,3.5vw,36px);font-weight:400;line-height:.86}.rdk-label{font-family:var(--sans);letter-spacing:.14em;color:var(--ink-faint);font-size:9.5px;font-weight:400}.rd-title{font-family:var(--serif);letter-spacing:.01em;color:var(--ink);margin:0 0 clamp(16px,2.5vh,24px);font-size:clamp(28px,4.5vw,48px);font-weight:900;line-height:1.16}.rd-tags{flex-wrap:wrap;gap:6px;display:flex}.rd-tags span{letter-spacing:.06em;border:1px solid var(--line);color:var(--ink-faint);border-radius:16px;padding:2px 8px;font-size:10.5px}.rd-summary{font-family:var(--sans);color:var(--ink-dim);margin:0 0 clamp(28px,4vh,40px);font-size:14px;font-weight:350;line-height:1.95}.rd-chain{flex-direction:column;display:flex}.rdc-link{border-bottom:1px solid var(--line);gap:clamp(12px,3vw,20px);padding:clamp(28px,4.5vh,40px) 0;display:flex}.rdc-link:first-child{padding-top:0}.rdc-link:last-child{border-bottom:0;padding-bottom:0}.rdcl-no{font-family:var(--serif);color:#0000;-webkit-text-stroke:.8px var(--ink-dim);text-align:right;flex:none;align-self:flex-start;width:clamp(36px,6vw,52px);font-size:clamp(34px,5vw,48px);font-weight:400;line-height:.82;position:sticky;top:clamp(90px,13vh,150px)}.rdcl-claim{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);margin:0 0 6px;font-size:clamp(17px,2vw,21px);font-weight:700}.rdcl-text{font-family:var(--sans);color:var(--ink-dim);margin:0 0 clamp(14px,2.5vh,20px);font-size:13.5px;font-weight:350;line-height:1.9}.rdcl-evidence{background:var(--bg-2);margin-bottom:8px;padding:clamp(10px,2vh,14px) clamp(12px,2.5vw,16px)}.rdcle-label{font-family:var(--serif);letter-spacing:.3em;color:var(--ink-faint);margin-bottom:4px;font-size:8px;font-weight:500}.rdcl-evidence p{font-family:var(--serif);color:var(--ink);margin:0;font-size:14.5px;font-weight:500;line-height:1.65}.rdcl-action{border-left:2px solid var(--ink-dim);padding:clamp(8px,1.8vh,12px) clamp(10px,2.5vw,16px)}.rdcla-label{font-family:var(--serif);letter-spacing:.3em;color:var(--ink-faint);margin-bottom:2px;font-size:8px;font-weight:500}.rdcl-action p{font-family:var(--serif);color:var(--ink-dim);margin:0;font-size:13.5px;font-weight:500;line-height:1.6}.rd-related{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:clamp(40px,6vh,60px);padding-top:clamp(24px,3vh,36px);display:flex}.rdr-label{letter-spacing:.24em;color:var(--ink-faint);align-items:center;gap:10px;margin-bottom:8px;font-size:10px;display:flex}.rdr-label:after{content:"";background:var(--line);flex:1;height:1px}.rd-related button{text-align:left;width:100%;color:var(--ink-dim);font-family:var(--serif);letter-spacing:.03em;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:10px;padding:10px 4px;font-size:13.5px;transition:background .2s,color .2s;display:flex}.rd-related button:hover{background:var(--bg-2);color:var(--ink)}.rd-related button>span:first-child{border-radius:50%;flex:none;width:5px;height:5px}.rd-related button>span:last-child{color:var(--ink-faint);margin-left:auto;font-size:12px;transition:transform .2s}.rd-related button:hover>span:last-child{transform:translate(3px)}.rd-footer{border-top:1px solid var(--line);color:var(--ink-faint);letter-spacing:.05em;margin-top:clamp(44px,7vh,64px);padding-top:20px;font-size:11px}@media (width<=720px){.rd-layout{flex-direction:column;gap:18px;padding-top:60px}.rd-nav{flex-flow:wrap;flex:none;align-items:center;gap:10px;padding:0 4px;position:static}.rdn-notes,.rdn-tags{display:none}.rd-article{flex:1}}.door{z-index:50;background:var(--bg);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.spiral-canvas{z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.door-spiral .door-name{text-shadow:0 0 40px var(--bg), 0 0 18px var(--bg)}.shader-bg{z-index:0;opacity:.7;width:100%;height:100%;display:block;position:fixed;inset:0}.door-vignette{z-index:4;pointer-events:none;opacity:0;background:radial-gradient(circle,#0000 14%,#0a081480 44%,#0a0814e6 100%);transition:opacity .6s ease-out;position:absolute;inset:0}.door-vignette.on{opacity:1}.door-photo{z-index:1;object-fit:cover;object-position:50% 18%;filter:grayscale()contrast(1.08)brightness(.95);opacity:.72;-webkit-mask-composite:source-in;width:auto;max-width:70%;height:100%;position:absolute;top:0;right:-1%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 42%),linear-gradient(#000 78%,#0000 99%);mask-image:linear-gradient(90deg,#0000,#000 42%),linear-gradient(#000 78%,#0000 99%);-webkit-mask-composite:source-in;mask-composite:intersect}.door-scrim{z-index:2;pointer-events:none;background:radial-gradient(66% 62% at 36%,#0a08149e 28%,#0a081447 72%,#0000 100%);position:absolute;inset:0}.door-name{z-index:2;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative;z-index:3!important}.dn-zh{font-family:var(--serif);letter-spacing:.32em;text-indent:.32em;background:linear-gradient(158deg,#f5f1ff 0%,#cdbcff 50%,#9a8cf2 100%);color:#0000;filter:drop-shadow(0 6px 44px #8a6fe680);-webkit-background-clip:text;background-clip:text;font-size:clamp(72px,17vw,168px);font-weight:700;line-height:1}.dn-en{font-family:var(--sans);letter-spacing:.62em;text-indent:.62em;color:var(--violet);align-items:center;gap:clamp(12px,2.5vw,22px);margin-top:clamp(20px,3.5vh,30px);font-size:clamp(11px,1.5vw,14px);font-weight:300;display:flex}.dn-en span{background:linear-gradient(90deg,#0000,#c2b1ff8c,#0000);width:clamp(28px,7vw,64px);height:1px}.door-enter{color:var(--ink-dim);font-family:var(--serif);letter-spacing:.4em;text-indent:.4em;background:0 0;border:0;margin-top:clamp(40px,7vh,64px);padding:10px 4px 8px;font-size:15px;transition:color .4s;position:relative}.door-enter:after{content:"";background:var(--violet);width:0;height:1px;transition:width .45s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.door-enter:hover{color:var(--ink)}.door-enter:hover:after{width:100%}@media (width<=720px){.tn-links{display:none}}@media (width<=640px){.legend{max-width:72vw}.hint{letter-spacing:.12em;font-size:10.5px}}
