/* A message owns its header/body; badges cannot determine the panel's width. */
#tab-chat{container:community-chat / inline-size;gap:12px;}
body.topbar-layout #tab-chat>.studio-hero{min-height:0;padding:16px 22px;gap:18px;margin:0;}
#tab-chat>.studio-hero .studio-art{width:90px;height:70px;flex-basis:90px;--object-scale:.35;}
#tab-chat>.studio-hero .eyebrow{display:none;}#tab-chat>.studio-hero h1{font-size:25px;}#tab-chat>.studio-hero p{margin:6px 0 0;}
body.topbar-layout #tab-chat>.panel-glass{flex:1!important;width:100%;height:auto;min-height:0;max-width:none;overflow:hidden;container:chat-panel / inline-size;}
#tab-chat .panel-head{height:auto;min-height:48px;padding:12px 16px;gap:8px 16px;flex-wrap:wrap;}
#tab-chat .chat-list{display:flex;flex-direction:column;align-items:stretch;flex:1;min-width:0;min-height:0;gap:12px;padding:16px;overflow:auto;scrollbar-gutter:stable;scroll-padding:16px;}
.chat-bubble{box-sizing:border-box;width:100%;max-width:980px;min-width:0;flex:none;padding:12px 16px;border:1px solid var(--border-subtle);border-radius:16px 16px 16px 6px;background:var(--bg-card);font-size:13px;}
.chat-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:start;font-size:11px;font-weight:700;color:var(--accent);margin-bottom:8px;min-width:0;}
.chat-identity{display:flex;flex-wrap:wrap;align-items:center;gap:7px 8px;min-width:0;}
.chat-author{min-width:0;max-width:100%;overflow-wrap:anywhere;line-height:1.6;}
.chat-roles{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;max-width:100%;}
.chat-meta .role-badge{margin:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4;}
.message-timestamp{display:flex;align-items:flex-end;flex-direction:column;gap:2px;color:var(--text-dim);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.5;}
.chat-text{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;user-select:text;line-height:1.6;min-width:0;}
.chat-text :is(img,video,canvas){max-width:100%;object-fit:contain;}.chat-text img:not(.chat-emoji){height:auto;}
#tab-chat .chat-footer{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"attach emoji input send" "pending pending pending pending";flex:none;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--border-subtle);min-width:0;}
#chat-input{width:100%;min-width:0;max-width:100%;min-height:44px;}
#tab-chat .chat-footer>button{width:auto;margin:0;min-height:44px;padding:10px 16px;font-size:12px;}
#btn-send-chat{grid-area:send;}#btn-attach-chat{grid-area:attach;}#chat-emojis{grid-area:emoji;}#chat-input{grid-area:input;}#chat-pending-files{grid-area:pending;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;}.chat-pending-files[hidden]{display:none!important;}.chat-pending-item{display:flex;align-items:center;gap:6px;max-width:100%;padding:5px 9px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-card);font-size:11px;}.chat-pending-item span{max-width:min(42vw,260px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.chat-pending-clear{min-height:32px!important;padding:5px 9px!important;}.chat-send-status{grid-area:pending;margin:0;color:var(--text-dim);font-size:12px;}.chat-attachments{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-top:10px;min-width:0;}.chat-attachment-image{display:block;width:min(360px,100%);max-height:320px;object-fit:contain;object-position:left center;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-panel);}.chat-attachment-file{display:flex;align-items:center;gap:9px;max-width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-panel);color:var(--text-primary);font:inherit;text-decoration:none;overflow-wrap:anywhere;}.chat-attachment-file:hover{border-color:var(--accent);}.chat-attachment-size{color:var(--text-dim);font-size:11px;white-space:nowrap;}.chat-upload-status{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;gap:8px;min-width:0;color:var(--text-dim);font-size:11px}.chat-upload-status progress{width:min(220px,100%);height:8px;accent-color:var(--accent)}.chat-upload-cancel{min-height:32px!important;padding:5px 10px!important}.chat-attachment-video-player{display:block;width:min(520px,100%);max-height:min(60vh,420px);background:#080810;border-radius:12px;object-fit:contain}
@container chat-panel (max-width:540px){.chat-meta{grid-template-columns:minmax(0,1fr);}.message-timestamp{flex-direction:row;justify-content:flex-end;gap:8px;}.chat-bubble{padding:12px;}#tab-chat .chat-footer{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"input input input" "pending pending pending" "attach emoji send";padding:10px;gap:8px;}#tab-chat .chat-footer>#btn-send-chat{grid-area:send;}}
@container community-chat (max-width:700px){#tab-chat>.studio-hero p{display:none;}body.topbar-layout #tab-chat>.studio-hero{padding:12px 16px;}#tab-chat>.studio-hero .studio-art{height:48px;width:68px;flex-basis:68px;}}
/* Directory identity and tags are separate components, never descendant logos. */
#guild-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:18px;margin-top:20px;}
#guild-directory>.guild-directory-card{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:20px;min-width:0;}
.guild-directory-heading{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;min-width:0;}.guild-directory-heading>.guild-logo{width:56px;height:56px;flex:none;}.guild-directory-heading>div{min-width:0;}.guild-directory-heading h2{font-size:19px;line-height:1.4;margin:8px 0 0;overflow-wrap:anywhere;}.guild-directory-heading .guild-verified{font-size:11px;padding:4px 8px;}
.guild-directory-card>p{margin:0;line-height:1.6;font-size:13px;}.guild-directory-card>.guild-directory-open{width:100%;margin-top:auto;min-height:44px;}.guild-directory-card>.guild-tag{align-self:flex-start;min-height:34px;width:auto;max-width:100%;}.guild-tag>.guild-logo{width:18px;height:18px;flex:0 0 18px;}.guild-tag{overflow-wrap:anywhere;white-space:normal;}.guild-topic-list{min-width:0;flex-wrap:wrap;}.guild-topic{max-width:100%;overflow-wrap:anywhere;}

.chat-attachment{display:flex;flex-direction:column;gap:6px;width:min(360px,100%);min-width:0}.chat-media-slot.has-preview{height:180px;background:var(--bg-input);border-radius:10px}.chat-media-slot.has-preview .chat-attachment-image{height:180px;max-height:180px;width:100%;object-fit:contain}.chat-media-slot:empty:not(.has-preview){display:none}.chat-attachment-file{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}.chat-attachment-image,.chat-attachment-video-player{max-width:100%;object-fit:contain}.chat-upload-status{min-width:0}.chat-upload-status>span{overflow-wrap:anywhere;min-width:0}
