:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#dce6f1;background:#01030a;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#01030a}
button,summary{font:inherit}
#universe{display:block;width:100vw;height:100vh;touch-action:none;background:#01030a;cursor:grab}
#fatal{position:fixed;inset:24px auto auto 24px;z-index:20;max-width:min(560px,calc(100vw - 48px));padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(7,10,16,.88);color:#b9c6d4;font-size:12px;line-height:1.6}
.tooltip{position:fixed;z-index:10;pointer-events:none;transform:translate(-50%,-125%);padding:7px 9px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(5,8,14,.82);backdrop-filter:blur(14px);box-shadow:0 16px 48px rgba(0,0,0,.30);opacity:0;transition:opacity .12s ease}
.tooltip.show{opacity:1}.tooltip strong{display:block;font-size:10px;font-weight:560;color:#dce5ef}.tooltip small{display:block;margin-top:3px;max-width:240px;font-size:8px;line-height:1.45;color:#708094}
.detail-card{position:fixed;z-index:12;top:20px;right:20px;width:min(340px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;padding:20px 19px 18px;border:1px solid rgba(255,255,255,.06);border-radius:17px;background:linear-gradient(180deg,rgba(9,14,23,.86),rgba(4,8,14,.91));box-shadow:0 26px 86px rgba(0,0,0,.38);backdrop-filter:blur(24px);opacity:0;transform:translateY(-7px) scale(.987);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.detail-card.show{opacity:1;transform:none;pointer-events:auto}
.close{position:absolute;right:10px;top:9px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#667487;font-size:15px;cursor:pointer}.close:hover{background:rgba(255,255,255,.045);color:#dfe8f2}
.galaxy{padding-right:28px;color:#68778a;font-size:8px;letter-spacing:.12em;text-transform:uppercase}h2{margin:8px 28px 2px 0;font-size:19px;line-height:1.35;font-weight:580;color:#e7edf5}.subtitle{margin-top:4px;font-size:9px;color:#718095}
.project-row{margin-top:10px;font-size:9px;color:#738297}.project-row::before{content:"来自 ";color:#596678}.summary{margin:14px 0 0;font-size:11px;line-height:1.75;color:#b5c0ce}
.related-block{margin-top:16px;padding-top:13px;border-top:1px solid rgba(255,255,255,.055)}.section-label{margin-bottom:8px;font-size:8px;letter-spacing:.11em;color:#667386}.related-list{display:flex;flex-wrap:wrap;gap:6px}
.related-chip{border:1px solid rgba(255,255,255,.055);border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.018);color:#8f9cad;font-size:9px;cursor:pointer;transition:.15s ease}.related-chip:hover{color:#d2dce7;background:rgba(255,255,255,.052);border-color:rgba(255,255,255,.095)}
details{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.055)}details summary{list-style:none;cursor:pointer;font-size:9px;color:#6f7d90;user-select:none}details summary::-webkit-details-marker{display:none}details summary::after{content:"  ·  +";color:#465263}details[open] summary::after{content:"  ·  −"}.evidence-body{padding-top:12px}.evidence-item{margin-top:7px;padding:8px 9px;border:1px solid rgba(255,255,255,.035);border-radius:8px;background:rgba(255,255,255,.015);font-size:9px;line-height:1.6;color:#8391a3}.sources{margin-top:11px;padding-top:8px;border-top:1px solid rgba(255,255,255,.04)}.source-item{padding:5px 0;font-size:8.5px;color:#647286}.footnote{margin:9px 0 0;font-size:9px;line-height:1.6;color:#566273}
.preview-brand{position:fixed;left:24px;top:20px;z-index:4;pointer-events:none;user-select:none}.preview-brand b{display:block;font-size:10px;font-weight:580;letter-spacing:.18em;color:rgba(232,240,249,.58)}.preview-brand span{display:block;margin-top:5px;font-size:8px;letter-spacing:.12em;color:rgba(129,145,165,.28)}.preview-hint{position:fixed;left:25px;bottom:18px;z-index:4;font-size:9px;color:rgba(138,153,173,.28);pointer-events:none}.preview-repo{position:fixed;right:22px;bottom:18px;z-index:5;color:rgba(141,157,179,.34);text-decoration:none;font-size:8px;letter-spacing:.08em}.preview-repo:hover{color:rgba(205,218,234,.72)}
@media(max-width:720px){.detail-card{top:auto;right:12px;bottom:12px;left:12px;width:auto;max-height:48vh;border-radius:14px;padding:18px 17px 16px}.preview-brand{left:16px;top:15px}.preview-hint{display:none}.preview-repo{right:16px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.detail-card,.tooltip{transition:none}}
