/* Original palette, typography, borders and navigation above; application layer below. */
body{min-height:0}.atmosphere{opacity:.36}#dust{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.shade{z-index:0}.toolbar{gap:22px}.admin-link{font-size:11px;color:#829993}.toolbar kbd{border:1px solid var(--line);font-size:10px;padding:0 4px;margin-left:2px}.story{top:23%;width:37%;max-width:460px}.story h1{margin:24px 0 27px}.scene-story h2{font-size:21px;letter-spacing:2px;line-height:1.7}.scene-story>p:last-child{font-size:13px}.scene-kicker{font-size:9px;letter-spacing:1.6px}.invitation{font-size:11px}.star-map{position:absolute;left:42%;right:7%;top:22%;bottom:24%;z-index:3;touch-action:none;cursor:grab;user-select:none}.star-map:active{cursor:grabbing}#camera{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .65s cubic-bezier(.22,.7,.18,1)}.dragging #camera{transition:none}.cluster{position:absolute;color:#a4bdb4;font:10px Georgia,serif;letter-spacing:2.3px;pointer-events:none}.cluster span{display:block;color:#69867e;font:10px 'Microsoft YaHei',sans-serif;letter-spacing:2px;margin-top:9px}.cluster.sol{left:17%;top:9%}.cluster.astra{left:71%;top:8%}.star{--star-color:var(--accent);position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;padding:0;border-radius:50%;display:grid;place-items:center;transition:opacity .3s;background:transparent}.star[data-model="GPT-6 Astra"]{--star-color:var(--gold)}.star[data-kind="image"]{--star-color:#bdd9ec}.star-core{position:absolute;width:7px;height:7px;background:#eefbf5;border-radius:50%;box-shadow:0 0 8px 2px var(--star-color),0 0 24px 6px color-mix(in srgb,var(--star-color) 30%,transparent)}.star-ring{position:absolute;width:23px;height:23px;border:1px solid color-mix(in srgb,var(--star-color) 45%,transparent);border-radius:50%;transition:width .2s,height .2s,border-color .2s}.star:hover .star-ring,.star:focus-visible .star-ring,.star.selected .star-ring{width:37px;height:37px;border-color:var(--star-color)}.star-label{position:absolute;left:33px;top:33px;white-space:nowrap;text-align:left;color:#a8bcb5;font-size:11px;letter-spacing:.7px;max-width:170px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;text-shadow:0 2px 8px #060c11}.star:nth-child(3n) .star-label{left:auto;right:33px;text-align:right}.star-number{position:absolute;left:28px;top:3px;color:#91a49c;font:9px Georgia,serif}.star.dim{opacity:.13;pointer-events:none}.star.related .star-ring{border-color:var(--gold)}.star.unrelated{opacity:.28}#relations{position:absolute;width:100%;height:100%;overflow:visible;pointer-events:none}#relations line{stroke:var(--gold);stroke-width:.13;stroke-dasharray:1 1;opacity:.48}.hover-preview{position:absolute;z-index:9;width:230px;max-width:calc(100vw - 40px);background:rgba(7,20,24,.97);border:1px solid var(--line);padding:12px;pointer-events:none;box-shadow:0 15px 45px #0006}.hover-preview img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:10px}.hover-preview strong{font-family:SimSun,serif;font-weight:400;font-size:16px;line-height:1.6}.hover-preview p{font-size:11px;line-height:1.8;color:var(--muted);margin:6px 0 0}.map-tools{position:absolute;left:56%;bottom:20%;display:flex;align-items:center;gap:9px;color:#89a39b;font-size:11px;z-index:4}.map-tools button{font-size:10px;margin-left:13px}.chapters{width:420px}.chapter{flex:1;width:auto;min-width:115px}.bottom-bar{bottom:48px}.filter-status{color:#839d94;font-size:11px;letter-spacing:1px;line-height:1.8;padding-bottom:12px}.sculpture-caption{font-size:10px}.detail-panel{position:fixed;inset:130px 5% 130px auto;margin:0;width:min(600px,48vw);max-width:none;max-height:none;padding:32px;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(162,227,217,.28);background:rgba(7,19,24,.98);box-shadow:0 20px 100px #0009;border-radius:0}.detail-panel::backdrop{background:rgba(3,8,12,.32)}.detail-panel h2{font:400 27px/1.5 SimSun,serif;letter-spacing:1px;margin:19px 30px 20px 0}.detail-panel .eyebrow{font-size:9px;letter-spacing:2px}.detail-panel video,.detail-panel .work-image{display:block;width:100%;max-height:43vh;object-fit:contain;background:#02080b}.media-wrap{position:relative}.media-note,.description{font-size:13px;color:#a7bab4;line-height:1.95}.media-note{font-size:11px;color:#7f9d91;margin:10px 0}.media-empty{min-height:190px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;background:radial-gradient(ellipse at center,#102427,transparent);gap:13px}.media-empty span{font-size:12px;color:var(--muted);line-height:1.8}.media-empty b{font:400 22px SimSun,serif;color:var(--gold)}.metadata-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid var(--line);padding-top:20px;margin:23px 0}.metadata-grid div{min-width:0}.metadata-grid dt{font-size:10px;color:#749287;margin-bottom:6px;letter-spacing:2px}.metadata-grid dd{font-size:12px;line-height:1.6;margin:0;overflow-wrap:anywhere}.source-links{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--accent)}.related-works{margin-top:23px}.related-works h3{font-size:11px;font-weight:400;color:#88a89b;letter-spacing:2px}.related-works button{display:flex;justify-content:space-between;gap:20px;width:100%;padding:11px 0;border-bottom:1px solid #8aab9c12;font-size:12px;text-align:left;line-height:1.6}.related-works small{color:var(--gold);white-space:nowrap;font-size:10px}.provenance{margin-top:20px;font-size:11px;line-height:1.8;color:#6d8a7d}.search-panel{width:min(660px,90vw);max-width:none;max-height:82dvh;padding:35px;overflow-y:auto;background:#09171c;border:1px solid var(--line);border-radius:0}.search-panel h2{font-family:SimSun,serif;font-weight:400;font-size:29px;letter-spacing:3px}.search-panel .eyebrow{font-size:10px}.search-panel input{width:100%;padding:14px 0;border:0;border-bottom:1px solid #628d80;background:none;color:var(--paper);font:13px inherit;border-radius:0}.search-panel input:focus-visible{outline-offset:3px}.search-panel #result-count{font-size:11px;color:#7d9c90;margin:18px 0 5px}.result{width:100%;display:flex;align-items:center;gap:16px;text-align:left;padding:15px 0;border-bottom:1px solid var(--line)}.result img,.result-placeholder{width:80px;height:50px;object-fit:cover;flex-shrink:0;background:#0d2227}.result-placeholder{display:grid;place-items:center;color:#6e9789;font-size:10px}.result strong{display:block;font:400 17px/1.6 SimSun,serif}.result small{display:block;font-size:10px;color:#7fa395;line-height:1.9}.result:hover strong{color:var(--accent)}.result>span:last-child{margin-left:auto;color:var(--gold)}.reference-links{font-size:11px;line-height:2.3;color:#799c8b;padding-top:20px}.reference-links a{display:block;color:var(--accent);padding:5px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.is-detail .story{opacity:.45}.reduced *{animation:none!important;transition:none!important}.dialog-close{position:absolute;right:16px;top:14px}.toast{z-index:30}.empty-results{padding:30px 0;color:var(--muted);font-size:13px}.loading-error{color:var(--gold)}
@media(min-width:701px) and (max-height:750px){.story{top:22%}.story h1{font-size:66px;margin:15px 0 20px}.scene-story h2{font-size:17px}.journey-controls{margin-top:20px}.topbar{top:35px}.bottom-bar{bottom:32px}.detail-panel{top:100px;bottom:100px}}
@media(max-width:1100px){.toolbar{gap:14px}.toolbar kbd,.fullscreen-button{display:none}.topbar{left:35px;right:35px}.scene-story h2{font-size:17px}.scene-kicker{font-size:8px}.edition{display:none}.star-label{font-size:10px;max-width:135px}.filter-status{max-width:210px}.story{left:7%}.detail-panel{width:52vw;right:4%;padding:25px}}
@media(max-width:700px){html,body{overflow-x:hidden;overflow-y:auto;height:auto;min-height:100%}body{min-height:850px}.frame{position:fixed;inset:10px}.topbar{position:relative;top:auto;left:auto;right:auto;padding:30px 25px;gap:15px;align-items:flex-start}.brand{gap:10px}.brand-word{font-size:14px;letter-spacing:3px}.brand-word>span{font-size:7px;letter-spacing:1px}.brand-orbit{width:28px}.toolbar{gap:13px;flex-wrap:wrap;justify-content:flex-end;max-width:145px}.quiet-button{font-size:10px;padding:0}.toolbar kbd,#search-open span,.fullscreen-button{display:none}.admin-link{font-size:10px}.sound-bars{height:12px}.sound-bars i{width:1px}.toolbar #motion{font-size:10px}.story{position:relative;left:auto;top:auto;width:auto;max-width:none;margin:10px 32px 0;pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2px}.story h1{display:block;font-size:54px;line-height:1.1;letter-spacing:.14em;margin:18px 0}.story h1>span{display:inline}.story h1>i{position:static;margin-left:-8px;font-size:.65em}.scene-story{position:static;margin:0}.scene-kicker{font-size:8px;margin-bottom:8px}.scene-story h2{font-size:15px;margin-bottom:5px;letter-spacing:1px}.scene-story>p:last-child{font-size:11px;line-height:1.9;max-width:none}.scene-story br{display:none}.journey-controls{position:static;margin-top:16px;gap:24px}.journey-button{height:35px;font-size:12px;padding:0 14px}.text-button{font-size:11px}.invitation{display:none}.star-map{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin:16px 24px 0;height:350px}.star-label{font-size:9px;max-width:126px;top:35px;left:21px;letter-spacing:0}.star:nth-child(3n) .star-label{right:21px}.star-number{font-size:8px}.cluster{font-size:8px;letter-spacing:1px}.cluster span{font-size:9px}.cluster.sol{top:7%}.cluster.astra{top:7%;left:68%}.map-tools{position:relative;left:auto;bottom:auto;justify-content:center;font-size:10px;margin:0 0 20px}.map-tools .text-button{font-size:10px}.bottom-bar{position:relative;left:auto;right:auto;bottom:auto;margin:0 32px 30px;display:block}.chapters{width:100%;display:flex}.chapter{min-width:0;padding:12px 0;grid-template-columns:22px 1fr}.chapter-name{font-size:14px}.chapter-en{font-size:9px}.filter-status{max-width:none;padding:15px 0 0;font-size:10px}.sculpture-caption{display:none}.detail-panel{inset:auto 0 0;margin:0;width:100%;max-height:91dvh;padding:29px 24px;border-left:0;border-right:0}.detail-panel h2{font-size:24px}.detail-panel video,.detail-panel .work-image{max-height:39dvh}.search-panel{width:calc(100vw - 30px);max-height:90dvh;padding:28px 22px}.search-panel h2{font-size:25px}.search-panel .eyebrow{font-size:8px}.result strong{font-size:15px}.result img,.result-placeholder{width:63px;height:43px}.hover-preview{display:none!important}.is-detail .story{opacity:.5}.toast{bottom:20px;font-size:12px;max-width:90vw}.metadata-grid{gap:12px}.frame{z-index:1}}
@media(max-width:370px){.topbar{padding:25px 20px}.story{margin-left:25px;margin-right:25px}.story h1{font-size:48px}.star-map{margin-left:16px;margin-right:16px}.star-label{max-width:104px;font-size:8px}.brand-word>span{font-size:6px}}
@media(min-width:701px) and (max-height:530px){.story{top:100px}.story h1{display:flex;font-size:40px;margin:10px 0}.story h1>i{position:static}.scene-story h2{font-size:15px}.scene-story>p:last-child{font-size:11px}.story .eyebrow,.scene-kicker,.invitation{display:none}.star-map{top:25%;bottom:22%}.bottom-bar{bottom:16px}.map-tools{display:none}.detail-panel{top:35px;bottom:35px}.chapter{padding:8px 0}.journey-controls{margin-top:12px}}
.detail-panel{height:calc(100dvh - 260px)}.detail-panel::backdrop{backdrop-filter:none}.metadata-grid>div{margin:0}.detail-panel .dialog-close{position:sticky;top:0;float:right;margin:-10px -12px 0 0;background:#09171c;width:34px;height:34px;z-index:2}.detail-panel .eyebrow{padding-top:2px}@media(min-width:701px) and (max-height:750px){.detail-panel{height:calc(100dvh - 200px)}}@media(min-width:701px) and (max-height:530px){.detail-panel{height:calc(100dvh - 70px)}}@media(max-width:700px){.detail-panel{height:auto;max-height:91dvh}.detail-panel .dialog-close{margin:-10px -8px 0 0}}
@media(max-width:700px){.star .star-label,.star:nth-child(3n) .star-label{left:50%;right:auto;transform:translateX(-50%);max-width:21vw;text-align:center;top:36px}.star-map{touch-action:pan-y}.star-map.dragging{touch-action:none}}
.detail-panel video{aspect-ratio:16/9;height:auto}
.is-detail .star:not(.selected) .star-label{opacity:0}.is-detail .cluster{opacity:0}
