/* Quiet, matte voxel surfaces share the site's fixed-corner frame geometry. */
.community-panel { position:relative; padding:32px; margin-top:24px; color:#c6d7e4; }
.community-panel h1,.community-panel h2,.community-panel h3 { color:#e5f3fa; }
.community-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; margin-bottom:22px; }
.community-heading h2 { margin:0; font-size:24px; }
.community-heading p,.muted-copy,.form-hint { color:#91a8b9; font-size:13px; line-height:1.9; }
.community-heading p { margin:9px 0 0; }
.community-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.world-community { margin:40px 0 0; }
.world-artists { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.world-artist { display:flex; align-items:center; gap:14px; padding:12px; background:var(--pixel-grain) #111c27; clip-path:var(--pixel-cut-small); min-width:0; transition:background .16s ease; }
.world-artist:hover { background-color:#20313e; }
.world-artist img { width:54px; height:54px; border-radius:50%; object-fit:cover; }
.world-artist span { min-width:0; }
.world-artist strong { display:block; font-size:15px; color:#def2fa; }
.world-artist small { display:block; color:#8ea6b9; font-size:12px; margin-top:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.creation-tags { display:flex; flex-wrap:wrap; gap:8px 14px; margin:16px 0; font-size:12px; color:#8cc9d4; }
.creation-tags span { background:var(--pixel-grain) #162331; clip-path:var(--pixel-cut-small); padding:8px 12px; }
.private-space { padding-top:54px; padding-bottom:72px; }
.private-space.author-heading { padding-top:120px; }
.space-profile h1 { margin:12px 0 5px; font-size:clamp(29px,3vw,38px); }
.profile-signature { color:#b6dce8; font-size:15px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.space-profile .community-actions { margin-top:22px; }
.space-section { margin-top:54px; }
.space-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.space-group { margin:0; padding:24px; }
.space-group .crop-frame { width:100%; height:170px; object-fit:cover; clip-path:var(--pixel-cut-small); }
.space-group h3 { margin:18px 0 9px; font-size:21px; }
.space-group p { color:#90a8b9; font-size:12px; }
.space-work-actions { display:flex; flex-wrap:wrap; gap:8px; padding:13px 2px; }
.space-work-actions [aria-pressed=true] { color:#bdf4ee; --pixel-face:#254350; }
.account-security { margin-top:50px; max-width:600px; }
.account-security summary { cursor:pointer; font-size:20px; }
.account-security .stack-form { margin:24px 0; }
.group-dialog { width:min(1040px,calc(100% - 32px)); }
.group-dialog .modal-content { padding:8px 16px 18px; }
.group-layout { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:28px; margin-top:20px; }
.chat-room { min-width:0; }
.chat-messages { height:min(40svh,380px); min-height:180px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#41586d #0e1520; padding:12px; background:var(--pixel-grain) #0b141e; clip-path:var(--pixel-cut-small); }
.chat-message { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; margin:14px 0 22px; }
.chat-message>img { width:30px; height:30px; border-radius:50%; object-fit:cover; }
.chat-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.chat-meta strong { color:#cde7ee; font-size:12px; }
.chat-meta time,.chat-meta button { color:#7792a8; font-size:10px; }
.chat-message p { margin:7px 0 0; padding:12px; background:var(--pixel-grain) #1c2a39; color:#c5d8e5; font-size:13px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; clip-path:var(--pixel-cut-small); }
.chat-message.is-mine p { background-color:#203c46; color:#d9edf3; }
.chat-message.is-mine strong { color:#b5efed; }
.chat-compose { margin-top:14px; gap:10px; }
.chat-compose textarea { resize:vertical; min-height:80px; max-height:180px; }
.chat-submit { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.chat-status,.chat-empty { color:#89a3b9; font-size:12px; line-height:1.9; }
.chat-older { display:block; margin:0 auto 10px; }
.group-people { min-width:0; }
.group-people h3 { font-size:17px; margin:0 0 20px; }
.group-people>div { overflow:auto; max-height:470px; }
.group-person { padding:10px 0 20px; }
.group-person a { display:flex; align-items:center; gap:10px; color:#c7dfea; font-size:13px; }
.group-person img { width:30px; height:30px; border-radius:50%; object-fit:cover; }
.group-person small { display:block; font-size:11px; margin:5px 0 8px 40px; color:#89a8bc; }
.group-person button { font-size:11px; margin-left:34px; }
.work-search { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin:20px 0; color:#86a3b8; font-size:12px; }
.work-search input { max-width:260px; min-width:0; padding:10px 14px; border:6px solid transparent; border-image:url('/art/voxel-key.svg') 18 / 6px / 0 stretch; border-radius:0; background:var(--pixel-grain) #101d28; color:#daedf4; font:inherit; }
.work-search input:focus-visible { outline:2px solid #a8e0ef; outline-offset:-7px; }
.form-hint { margin:0; font-size:12px; }
@media(max-width:760px) {
  .world-artists { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .community-panel { padding:25px; }
  .group-layout { grid-template-columns:minmax(0,1fr); }
  .group-people>div { max-height:230px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .group-dialog .modal-content { padding:4px 6px 14px; }
  .chat-messages { height:32svh; }
  .private-space.author-heading { padding-top:85px; }
}
@media(max-width:500px) {
  .world-artists,.space-groups { grid-template-columns:minmax(0,1fr); }
  .private-space { padding-top:35px; }
  .space-profile h1 { font-size:29px; }
  .community-heading h2 { font-size:21px; }
  .community-actions .button { padding:7px 10px; font-size:12px; }
  .work-search { justify-content:flex-start; flex-wrap:wrap; }
  .work-search input { flex:1; }
  .chat-meta time { font-size:9px; }
}

/* The private collection shares the public portrait and dissolving grain surface. */
.space-profile > div { min-width:0; }
.space-content .space-section { margin-top:88px; }
.space-section-hint { margin:-8px 0 30px; color:#8da0b3; font-size:12px; line-height:1.8; }
.space-content .space-group { padding:0; }
.space-content .space-group .crop-frame { height:auto; aspect-ratio:16 / 9; border:8px solid transparent; border-image:url('/art/voxel-key.svg') 18 / 8px / 0 stretch; clip-path:none; }
.space-content .space-work-actions { gap:8px; }
.space-inbox { scroll-margin-top:150px; }
.space-inbox-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; align-items:start; }
.space-inbox-columns > section { min-width:0; }
.space-inbox h3 { margin:0; font-size:19px; color:#d3e1ef; }
.space-inbox-columns .community-heading { margin-bottom:12px; min-height:36px; }
.space-inbox .join-request { border:0; background:var(--pixel-grain) #111e2b; padding:18px; clip-path:var(--pixel-cut-small); margin:14px 0; }
.like-notice { display:grid; grid-template-columns:44px minmax(0,1fr) 20px; gap:14px; padding:18px; margin:14px 0; color:#a0b5c8; background:var(--pixel-grain) #0e1925; clip-path:var(--pixel-cut-small); }
.like-notice.is-unread { background-color:#172536; }
.notice-avatar { display:block; align-self:start; }
.notice-avatar > .avatar-view { width:44px; height:44px; border-radius:50%; }
.like-notice > div { min-width:0; overflow-wrap:anywhere; }
.like-notice a { color:#d4e2ec; font-size:14px; }
.like-notice p { margin:7px 0; font-size:12px; }
.like-notice time { color:#8294a8; font-size:11px; }
.notice-heart { align-self:center; color:#7b6d88; font-size:16px; }
.is-unread .notice-heart { color:#f099bc; }
.inbox-count { display:inline-block; margin-left:9px; padding:3px 7px; color:#ffbfc6; background:#442331; font-size:12px; vertical-align:middle; clip-path:var(--pixel-cut-small); }
[data-account-alert] { position:relative; }
.account-alert-dot { position:absolute; top:0; right:-4px; z-index:3; width:10px; height:10px; background:#ff596d; box-shadow:inset 2px 2px #ffb2bc,inset -2px -2px #b82a4b; clip-path:polygon(2px 0,8px 0,8px 2px,10px 2px,10px 8px,8px 8px,8px 10px,2px 10px,2px 8px,0 8px,0 2px,2px 2px); pointer-events:none; animation:pixel-notice-blink 1.8s steps(2,end) infinite; }
.avatar-button > .account-alert-dot { top:8px; right:8px; }
.world-artist > .account-alert-dot,.button > .account-alert-dot { top:7px; right:7px; }
.detail-author > .account-alert-dot { top:16px; right:4px; }
@keyframes pixel-notice-blink { 0%,100% { opacity:1; } 50% { opacity:.4; } }
@media(max-width:760px) {
  .space-inbox-columns { grid-template-columns:minmax(0,1fr); gap:32px; }
  .space-content .space-section { margin-top:58px; }
  .space-inbox { scroll-margin-top:130px; }
  .space-profile .community-actions { gap:8px; }
  .space-profile .community-actions > .button { font-size:11px; padding:8px 10px; }
}
@media(prefers-reduced-motion:reduce) { .account-alert-dot { animation:none; } }

.collection-tools { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.collection-tools .collection-count { padding:0; font-size:11px; line-height:1.7; text-align:right; }
.sort-control,.pin-order-control,.page-jump { display:flex; align-items:center; gap:10px; color:#a3b7c7; font-size:12px; }
:is(.sort-control,.pin-order-control,.page-jump) select { min-width:74px; max-width:100%; min-height:38px; padding:4px 10px; border:6px solid transparent; border-image:url('/art/voxel-key.svg') 18 / 6px / 0 stretch; border-radius:0; background:var(--pixel-grain) #10212b; color:#d2e9ef; font:inherit; color-scheme:dark; }
.pin-order-control { flex-basis:100%; padding-bottom:4px; }
.gallery-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:14px; margin-top:45px; }
.gallery-pagination[hidden] { display:none; }
.gallery-page-list { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.gallery-pagination button { min-width:38px; min-height:40px; border:6px solid transparent; border-image:url('/art/voxel-key.svg') 18 / 6px / 0 stretch; border-radius:0; padding:4px 9px; background:var(--pixel-grain) #10202b; color:#b6c8d6; font:13px "CAGA Pixel",var(--font-sans-cjk); cursor:pointer; }
.gallery-pagination button:hover:not(:disabled),.gallery-pagination button.active { background-color:#234250; color:#e3fbff; }
.gallery-pagination button:disabled { opacity:.35; cursor:default; }
.gallery-pagination button:active:not(:disabled) { transform:translateY(2px); }
.page-jump { white-space:nowrap; }
@media(max-width:760px) {
  .collection-tools { margin-top:14px; align-items:flex-start; }
  .collection-tools .collection-count { text-align:left; }
  .gallery-pagination { gap:12px; }
  .gallery-page-list { order:1; flex-basis:100%; display:grid; grid-template-columns:repeat(5,minmax(38px,44px)); }
  .page-jump { order:2; justify-content:center; flex-basis:100%; }
}
