/* The Observatory — scoped to the creative plaza. */
.page .plaza-page { max-width:1800px; padding:28px clamp(18px,3.2vw,58px) 90px; background:#090e17; font-family:'Segoe UI','Microsoft YaHei',sans-serif; }
.plaza-page::before { display:none; }
.plaza-observatory { position:relative; isolation:isolate; overflow:hidden; min-height:440px; border:1px solid #adc9eb26; border-radius:22px; background:radial-gradient(ellipse at 75% 45%,#263858,#090f19 65%); box-shadow:0 24px 80px #0002,inset 0 1px #ffffff0a; }
.plaza-scene { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }
.plaza-hero-copy { position:relative; padding:46px 48px 92px; width:62%; }
.plaza-kicker { display:flex; align-items:center; gap:10px; color:#b2c5df; font:500 10px/1.6 'Segoe UI',sans-serif; letter-spacing:2px; }
.plaza-kicker i { width:6px; height:6px; border-radius:50%; background:#d6eaff; box-shadow:0 0 12px #a3cdff; }
.plaza-kicker>span { color:#70839f; letter-spacing:1.4px; }
.plaza-observatory h1 { margin:28px 0 20px; color:#eff4ff; font:500 clamp(38px,4.3vw,68px)/1.22 'Segoe UI','Microsoft YaHei',sans-serif; letter-spacing:-2px; }
.plaza-observatory h1::before { display:none; }
.plaza-observatory h1 em { font-style:normal; background:linear-gradient(105deg,#f3eee7 0%,#c5d8f3 45%,#879cf0 95%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.plaza-hero-copy p { color:#96a6bc; font-size:13px; line-height:2; margin:0; }
.plaza-hero-actions { display:flex; align-items:center; gap:24px; margin-top:28px; }
.plaza-page .plaza-explore,.plaza-page .plaza-create { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:44px; padding:0 20px; border-radius:8px; font:600 12px/1.5 'Segoe UI','Microsoft YaHei',sans-serif; cursor:pointer; transition:transform .25s,background .25s,box-shadow .25s; }
.plaza-page .plaza-explore { border:1px solid #e2eaff; color:#142037; background:#dce7f8; box-shadow:0 4px 22px #a1bfff15; }
.plaza-explore span { font:22px/1 sans-serif; }
.plaza-page .plaza-create { color:#b6c6dd; border:0; background:transparent; padding:0; }
.plaza-create svg { width:16px; height:16px; }
.plaza-page .plaza-explore:hover { transform:translateY(-3px); background:#f5f8ff; box-shadow:0 8px 30px #a1bfff33; }
.plaza-page .plaza-create:hover { color:#fff; }
.plaza-orbit-label { position:absolute; inset:30px 28px auto auto; display:flex; flex-direction:column; gap:7px; color:#91aac1; text-align:right; font:9px/1.4 monospace; letter-spacing:1.5px; }
.plaza-orbit-label span:last-child { color:#60788e; }
.plaza-hero-foot { position:absolute; inset:auto 32px 0; min-height:48px; border-top:1px solid #abc8ee20; display:flex; align-items:center; justify-content:space-between; gap:16px; color:#869ab2; font:9px/1.5 'Segoe UI',sans-serif; letter-spacing:1.8px; }
.plaza-hero-foot button { background:transparent; border:0; padding:10px 0 10px 14px; color:#a2b6cf; font:11px/1.4 'Segoe UI','Microsoft YaHei',sans-serif; cursor:pointer; }
.plaza-field-note { color:#687d97; }
.plaza-collection-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:40px 0 22px; scroll-margin-top:24px; }
.plaza-collection-head .plaza-kicker { color:#7189a8; font-size:9px; }
.plaza-collection-head h2 { display:flex; align-items:center; gap:16px; margin:6px 0 0; color:#e9effa; font:500 24px/1.4 'Segoe UI','Microsoft YaHei',sans-serif; }
.plaza-collection-head h2 span { color:#9eafe2; font:28px/1 Georgia,serif; }
.plaza-page .archive-search { width:300px; min-height:44px; padding:0 16px; border:1px solid #a5bada26; border-radius:10px; color:#98acc7; background:#101824; }
.plaza-page .archive-search input { font-family:inherit; font-size:12px; }
.plaza-page .archive-search input::placeholder { color:#7f91ab; }
.plaza-page .plaza-toolbar { gap:12px; margin:0 0 24px; padding:16px 0; border:0; border-top:1px solid #a5bada20; border-bottom:1px solid #a5bada20; background:transparent; overflow:visible; }
.plaza-page .archive-seg { gap:3px; padding:4px; min-height:40px; border:1px solid #a5bada16; border-radius:9px; background:#101824; }
.plaza-page #plaza-source { width:auto; }
.plaza-page #plaza-type { width:auto; }
.plaza-page #plaza-sort { width:auto; }
.plaza-page .archive-seg button { min-height:32px; padding:6px 14px; border:0; border-radius:5px; color:#98a8be; background:transparent; font:500 12px/1.5 'Segoe UI','Microsoft YaHei',sans-serif; box-shadow:none; text-shadow:none; white-space:nowrap; transition:background .2s,color .2s; }
.plaza-page .archive-seg button.active { background:#29374d; color:#edf4ff; box-shadow:inset 0 1px #d6e7ff16; }
.plaza-page .archive-seg button::before,.plaza-page .archive-seg button::after { display:none; }
.plaza-page .archive-seg button:hover { color:#f0f5ff; background:#203047; }
.plaza-page .chip { min-height:36px; border-radius:7px; border-color:#a5bada24; font-family:inherit; color:#a9bbd4; }
.plaza-page .archive-count { margin-left:auto; color:#8599b5; font:11px/1.6 'Segoe UI','Microsoft YaHei',sans-serif; }
.plaza-page .masonry { column-gap:18px; }
.plaza-page .masonry.js-cols { gap:18px; }
.plaza-page .work-card { overflow:hidden; border:1px solid #afc8ea21; border-radius:12px; background:#101824; box-shadow:0 6px 22px #0002; transition:border-color .3s,box-shadow .3s,transform .3s; }
.plaza-page .work-card:hover,.plaza-page .work-card:focus-within { border-color:#afc8ea70; box-shadow:0 14px 32px #0005; transform:translateY(-3px); }
/* 3.33.0：此前的 transition 覆盖把 style.css 的 opacity 淡入挤掉了——图片加载完成瞬间跳现、
   无限滚动追加整屏「啪」一下，观感即闪烁；补回 opacity 过渡恢复合成器淡入（transform 不变） */
.plaza-page .work-card img { transition:transform .7s cubic-bezier(.2,.65,.2,1), opacity .35s ease; }
.plaza-page .work-card:hover img { transform:scale(1.025); }
/* Compact image cards: author above, social counts below; actions replace counts on hover. */
.plaza-page .plaza-card .media { overflow:hidden; min-height:80px; }
.plaza-page .plaza-card .owner-wrap { inset:8px 8px auto; min-width:0; gap:5px; pointer-events:none; opacity:0; transition:opacity .18s; }
.plaza-page .plaza-card:hover .owner-wrap,
.plaza-page .plaza-card:has(:focus-visible) .owner-wrap { opacity:1; }
.plaza-page .plaza-card .owner-chip { position:static; min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; pointer-events:none; }
.plaza-page .plaza-card .follow-chip { flex-shrink:0; pointer-events:none; }
.plaza-page .plaza-card:hover .owner-wrap > *,
.plaza-page .plaza-card:has(:focus-visible) .owner-wrap > * { pointer-events:auto; }
.plaza-page .plaza-card-stats { position:absolute; bottom:8px; left:8px; right:8px; display:flex; flex-wrap:wrap; gap:5px; pointer-events:none; }
.plaza-page .plaza-card-stats .like-chip { position:static; margin:0; pointer-events:auto; }
.plaza-page .plaza-card .hover-mask { inset:0; height:auto; min-height:0; padding:40px 8px 8px; gap:6px; justify-content:flex-end; pointer-events:none; }
.plaza-card-details { min-height:0; overflow:hidden; }
.plaza-page .plaza-card .tag-row { flex-wrap:nowrap; overflow:hidden; margin-bottom:5px; }
.plaza-page .plaza-card .tag-chip { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; pointer-events:auto; }
.plaza-page .plaza-card .actions { flex-shrink:0; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; width:100%; background:none; }
.plaza-page .plaza-card .actions .spacer { display:none; }
.plaza-page .plaza-card .icon-btn,
.plaza-page .plaza-card .follow-chip,
.plaza-page .plaza-card .owner-chip,
.plaza-page .plaza-card .like-chip { box-sizing:border-box; border:1px solid #adc9eb30; border-radius:5px; background:#0c1626b8; color:#e0e9f6; font:500 11px/1.4 'Segoe UI','Microsoft YaHei',sans-serif; padding:3px 6px; box-shadow:none; text-shadow:none; backdrop-filter:blur(6px); transform:none; }
.plaza-page .plaza-card .actions .icon-btn { flex:0 0 26px; width:26px; min-width:26px; height:26px; min-height:26px; display:inline-flex; align-items:center; justify-content:center; padding:0; pointer-events:auto; }
.plaza-page .plaza-card .icon-btn svg { width:14px; height:14px; flex-shrink:0; }
.plaza-page .plaza-card button:hover { background:#253955; color:#fff; }
.plaza-page .plaza-card .icon-btn.danger { color:#ffabb9; }
.plaza-page .plaza-card .follow-chip.on,
.plaza-page .plaza-card .like-chip.on { color:#b9d5ff; border-color:#91bfff70; }
.plaza-page .plaza-card:focus-within .hover-mask { opacity:1; }
.plaza-page .plaza-card:hover .plaza-card-stats,
.plaza-page .plaza-card:focus-within .plaza-card-stats { visibility:hidden; }
.plaza-page .plaza-card:hover .type-badge,
.plaza-page .plaza-card:focus-within .type-badge { visibility:hidden; }
.plaza-page .plaza-card .type-badge { top:36px; left:8px; pointer-events:none; }
@media(max-width:680px), (hover:none) {
 .plaza-page .plaza-card .hover-mask { opacity:1; background:linear-gradient(transparent,#060d19b8); }
 .plaza-page .plaza-card .plaza-card-stats { display:none; }
 .plaza-page .plaza-card .plaza-card-details { display:none; }
 .plaza-page .plaza-card .follow-chip { display:none; }
 .plaza-page .plaza-card .type-badge { display:none; }
}
.plaza-page .work-card .tag-chip { border-radius:5px; font-family:inherit; }
.plaza-page .plaza-guest-lock { margin-top:28px; border:1px solid #a5bada26; border-radius:12px; background:#101824; padding:20px; }
/* 3.56.0 右下角单舱整合：玻璃舱承载质感，按钮退为舱内幽灵行（钢蓝透明玻璃压过 refresh 默认青色） */
.plaza-page .plaza-fabs { border-radius:16px; }
.plaza-page .plaza-fabs:has(> :not([hidden])) {
  border-color:#b0c7e647;
  background:linear-gradient(165deg,#9cc8ff24 0%,#22385463 46%,#0c16266e 100%);
  box-shadow:0 18px 44px #0007, 0 2px 10px #0005, inset 0 1px 0 #ffffff26, inset 0 0 0 1px #ffffff08;
}
.plaza-page .plaza-fab:hover { background:#9cc8ff1f; color:#fff; }
.plaza-page .plaza-fab:active { background:#9cc8ff33; }
.plaza-page .plaza-recent:not([hidden]):has(~ .plaza-fab:not([hidden])) { border-right-color:#a5bada33; }
.plaza-page .plaza-recent-card img { border-color:#ffffffb8; background:#0d1725; }
.plaza-page .plaza-recent-card:hover img,.plaza-page .plaza-recent-card:focus-visible img { box-shadow:0 10px 22px #000a, 0 0 12px #9cc8ff2e; }
.plaza-page .plaza-recent-card[aria-current] img { border-color:#bcdcff; box-shadow:0 0 10px #9cc8ff40; }
.plaza-page .plaza-recent-x { border-color:#b0c7e680; background:#132038d9; color:#cfe0f6; }
.plaza-page .plaza-recent-x:hover { background:#ff5c8a; border-color:#ff5c8a; color:#fff; }
.plaza-page :focus-visible { outline:2px solid #c1d8ff; outline-offset:4px; }
@media(min-width:1600px) { .plaza-observatory { min-height:490px; } .plaza-hero-copy { padding:56px 64px 92px; } }
@media(max-width:1000px) { .plaza-hero-copy { width:75%; padding-left:32px; } .plaza-field-note { display:none; } .plaza-page .archive-count { width:auto; } }
@media(max-width:680px) {
 .page .plaza-page { padding:14px 14px 90px; }
 .plaza-observatory { min-height:414px; border-radius:16px; }
 .plaza-hero-copy { width:100%; padding:36px 24px 80px; }
 .plaza-observatory h1 { font-size:42px; margin-top:28px; letter-spacing:-1px; }
 .plaza-kicker { font-size:9px; letter-spacing:1px; } .plaza-kicker>span { font-size:8px; letter-spacing:.5px; }
 .plaza-hero-copy p { font-size:12px; max-width:280px; }
 .plaza-orbit-label { display:none; }
 .plaza-hero-foot { inset:auto 22px 0; letter-spacing:1px; font-size:8px; }
 .plaza-hero-actions { gap:22px; margin-top:24px; }
 .plaza-collection-head { margin-top:30px; flex-direction:column; align-items:stretch; gap:18px; }
 .plaza-collection-head h2 { font-size:22px; }
 .plaza-page .archive-search { width:100%; }
 .plaza-page .plaza-toolbar { flex-wrap:wrap; margin:0 0 18px; gap:8px; padding:12px 74px 12px 0; } /* 右 74px = px-agent-orb 悬浮球保留区 */
 .plaza-page #plaza-source { width:100%; } .plaza-page #plaza-source button { flex:1; padding-inline:7px; }
 .plaza-page .archive-seg button { padding-inline:12px; font-size:11px; }
 .plaza-page .archive-count { display:block; width:100%; padding:4px 0; }
 .plaza-page .plaza-toolbar>.grow { display:none; }
 .plaza-page .masonry,.plaza-page .masonry.js-cols { gap:10px; column-gap:10px; }
 .plaza-page .work-card { border-radius:9px; }
}
@media(prefers-reduced-motion:reduce) { .plaza-page *, .plaza-page *::before, .plaza-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
