/* Public layout and core chat. Community, dialogs and moderation live in experience.css. */
.blc-layout{width:calc(100% - 2 * var(--ui-margin,16px));max-width:var(--ui-max-width,1440px)!important;margin:var(--ui-margin,16px) auto!important;min-width:0;container:barva / inline-size;font:var(--ui-font-size,14px)/1.45 var(--ui-font,system-ui,sans-serif)}
.blc-layout *,.blc-layout{box-sizing:border-box}.blc-layout [hidden]{display:none!important}
.blc-layout-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ui-gap,20px);align-items:start}
.blc-with-player:not([data-stacked=true]):not([data-layout=stacked])>.blc-layout-grid{grid-template-columns:minmax(0,1fr) minmax(var(--ui-chat-min,330px),calc(100% - var(--ui-player-share,66%)))}
.blc-layout .blc{--chat-bg:var(--ui-surface,#111318);--chat-raised:var(--ui-background,#1b1e25);--chat-text:var(--ui-text,#f2f5fa);--chat-muted:#a0a5b2;--chat-line:#ffffff12;container:chat / inline-size;position:relative;z-index:2;display:flex;flex-direction:column;height:var(--ui-height,700px);min-width:0;min-height:0;isolation:isolate;color-scheme:dark;background:var(--chat-bg);color:var(--chat-text);border:var(--ui-border,1px) solid var(--chat-line);border-radius:var(--ui-radius,12px);font:inherit;box-shadow:0 8px 24px #0000000b}
.blc :is(h2,h3,p,small,strong,label){color:inherit}.blc :is(button,input,textarea,select){font:inherit;letter-spacing:normal;box-sizing:border-box}.blc button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;border:1px solid transparent;border-radius:6px;padding:5px 8px;background:transparent;color:inherit;cursor:pointer;font-size:12px;line-height:1.3;box-shadow:none;text-transform:none;transition:background .12s}
.blc button:hover{background:#ffffff0e}.blc button:disabled{opacity:.45;cursor:default}.blc :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--ui-accent,#d32242);outline-offset:2px}
.blc .blc-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:6px 12px;border-bottom:1px solid var(--chat-line);background:transparent;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
.blc-title{display:flex;align-items:center;gap:9px;min-width:0}.blc .blc-title h2{font-size:14px;font-weight:750;line-height:1.3;white-space:nowrap;margin:0;letter-spacing:-.02em}
.blc-status{display:inline-flex;align-items:center;gap:4px;color:var(--chat-muted);font-size:10px;white-space:nowrap}.blc-status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.blc-status[data-state=online]{color:#7cdda0}.blc-status[data-state=offline]{color:#ffc184}
.blc-account-bar{display:flex;align-items:center;gap:3px;min-width:0}.blc-account-bar .blc-account-open{font-size:11px;background:var(--chat-raised);padding-inline:9px;white-space:nowrap}.blc-account-bar .blc-control-open{font-size:11px;color:#ffb1bf}
.blc-notices{flex-shrink:0;padding:0 12px}.blc-welcome{margin:0;padding:5px 0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--chat-muted)!important}.blc-welcome:empty,.blc-pins:empty{display:none}.blc-notices:has(.blc-pins:not(:empty)) .blc-welcome{display:none}.blc-pins{max-height:32px;overflow:auto;scrollbar-width:thin}.blc-pins p{margin:3px 0;padding:4px 7px;border-left:2px solid var(--ui-accent,#d32242);background:#d3224210;border-radius:3px;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.blc-log-heading{flex-shrink:0;text-align:center}.blc-log-heading:has(.blc-restore[hidden]){display:none}
.blc-messages{flex:1;min-height:120px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#424650 transparent;scroll-padding:10px;padding:var(--ui-padding,16px)}
.blc-message{display:grid;grid-template-columns:26px minmax(0,1fr) 26px;align-items:start;column-gap:8px;position:relative;padding:6px 4px;margin:0;border:0;border-radius:5px;overflow-wrap:anywhere;animation:blc-appear .15s ease}.blc-message:hover{background:#ffffff05}.blc-message>div{min-width:0}
.blc-avatar{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#ccd4e9;color:#283c64;font:700 11px system-ui}.blc-color-1{background:#f6c8d3;color:#81324a}.blc-color-2{background:#bfe5d6;color:#225443}.blc-color-3{background:#f3dfb6;color:#77531e}.blc-color-4{background:#d6c5ed;color:#553b77}.blc-color-5{background:#c7def3;color:#2c5074}
.blc-meta{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-height:18px;margin:0}.blc .blc-author{padding:0;min-height:18px;border:0;border-radius:2px;background:none;font-weight:750;font-size:12px;line-height:1.3;text-align:left;color:var(--chat-text)}.blc .blc-author:hover{color:#ff889d;text-decoration:underline}.blc-meta small{font-size:9px;color:var(--chat-muted);font-weight:500}.blc-meta time{margin-left:auto;font-size:9px;color:#858c9c;white-space:nowrap}.blc-message p{font-size:var(--ui-font-size,14px);line-height:1.42;margin:1px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--chat-text)}
.blc-official{background:#d3224209;border-left:2px solid var(--ui-accent,#d32242)}.blc-official .blc-avatar{background:var(--ui-accent,#d32242);color:#fff}.blc-official .blc-meta small{color:#ffb5c4}.blc-message mark{background:#a5324b44;color:#ffc2cf;border-radius:2px;padding:0 2px}
/* Hover tools are positioned outside the row flow, preserving reading anchors. */
.blc .blc-message-tools{position:absolute;right:3px;top:3px;display:flex;flex-direction:row;align-items:center;gap:1px;border-radius:6px;z-index:2}.blc .blc-message-tools button{min-width:26px;width:26px;min-height:24px;padding:0;font-size:15px;color:var(--chat-muted)}.blc-message-tools>:not(.blc-menu){display:none}.blc-message:is(:hover,:focus-within) .blc-message-tools{top:-9px;background:var(--chat-raised);border:1px solid #ffffff18;box-shadow:0 3px 10px #0003}.blc-message:is(:hover,:focus-within) .blc-message-tools>:not(.blc-menu){display:inline-flex}
.blc-participation{position:relative;flex-shrink:0;min-width:0;border-top:1px solid var(--chat-line);padding:0 10px 9px;background:var(--chat-bg);border-radius:0 0 var(--ui-radius,12px) var(--ui-radius,12px)}
.blc-reaction-dock{display:flex;align-items:center;gap:6px;min-height:34px;min-width:0}.blc-reaction-heading{flex:0 0 70px;min-width:0}.blc-reaction-category{width:100%;padding:2px 0;border:0;background:transparent;color:var(--chat-muted);font-size:10px;height:30px}.blc-reactions{display:flex;gap:2px;flex:1;min-width:0}.blc-reactions button{flex:1;min-width:0;min-height:30px;gap:3px;padding:3px 1px;border-radius:5px;font-size:10px;font-variant-numeric:tabular-nums}.blc-reaction-emoji{font-size:16px;line-height:1}.blc-reactions button:hover{background:#d3224222}
.blc-identity{display:flex;align-items:flex-end;gap:6px;margin:0}.blc-identity label{flex:1;min-width:0;font-size:10px;color:var(--chat-muted)}.blc-identity label>span{display:block;margin-bottom:4px}.blc-identity input{width:100%;height:38px;border:1px solid #ffffff20;border-radius:7px;background:var(--chat-raised);color:var(--chat-text);padding:8px;font-size:13px;margin:0}.blc-identity>button{min-height:38px;background:var(--ui-accent,#d32242);color:#fff;font-weight:650;padding-inline:10px}
.blc-compose{position:relative;margin:0;padding:0}.blc-user{position:absolute;left:106px;bottom:6px;z-index:1;display:flex;align-items:center;gap:2px;max-width:94px;color:var(--chat-muted);font-size:9px}.blc .blc-user button{font-size:0;min-width:26px;min-height:30px;padding:0;color:var(--chat-muted)}.blc-user button:before{content:"✎";font-size:15px}.blc-user span{max-width:64px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blc-editor{padding:4px 8px 5px;border:1px solid #ffffff25;border-radius:9px;background:var(--chat-raised);transition:border-color .15s}.blc-editor:focus-within{border-color:var(--ui-accent,#d32242)}.blc-sr{display:block;font-size:inherit}
.blc-layout .blc .blc-compose textarea[name=body]{display:block;width:100%;min-height:32px;max-height:104px;height:32px;resize:none;overflow-y:hidden;margin:0;padding:6px 1px;border:0;border-radius:0;box-shadow:none;outline:none;background:transparent!important;color:var(--chat-text)!important;-webkit-text-fill-color:var(--chat-text)!important;caret-color:var(--chat-text);font:var(--ui-font-size,14px)/20px var(--ui-font,system-ui,sans-serif)!important}
.blc-compose textarea::placeholder{color:#999fae;opacity:1}.blc-send{display:flex;align-items:center;gap:6px;min-height:31px}.blc-count{margin-left:auto;white-space:nowrap;color:var(--chat-muted);font-size:9px}.blc .blc-submit{background:var(--ui-accent,#d32242);color:#fff;border:0;min-height:30px;padding:5px 9px;font-weight:650;font-size:11px}.blc-submit[data-state=error]{background:#844b15}.blc .blc-submit:hover{filter:brightness(1.1)}
.blc-error{font-size:11px;line-height:1.4;color:#ffb6c3!important;margin:4px 0 0;max-height:48px;overflow:auto}.blc-error:empty{display:none}.blc-new{position:absolute;bottom:calc(var(--participation-height,160px) + 8px);left:50%;transform:translateX(-50%);z-index:3;background:var(--ui-accent,#d32242)!important;box-shadow:0 3px 15px #0007!important;color:white!important;white-space:nowrap}
.blc-service{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#694d171c;border-bottom:1px solid #ffc18435;color:#f2cc99;font-size:11px}.blc-service button{flex-shrink:0;border-color:#ffc18455;font-size:10px}.blc-float-lane{position:absolute;bottom:var(--participation-height,160px);height:0;left:0;right:0;pointer-events:none;z-index:2}.blc-floating-reaction{position:absolute;font-size:25px;bottom:0;animation:blc-float 1.8s ease-out forwards;pointer-events:none}.blc-pop{animation:blc-pop .25s}
.blc-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@keyframes blc-float{to{transform:translate(var(--sway,10px),-140px) scale(1.2);opacity:0}}@keyframes blc-appear{from{opacity:.4;transform:translateY(2px)}to{opacity:1;transform:none}}@keyframes blc-pop{50%{transform:translateY(-2px)}}
@container chat (max-width:430px){.blc .blc-header{padding:6px 10px;gap:4px}.blc-title{gap:5px}.blc-status{font-size:9px}.blc .blc-title h2{font-size:13px}.blc-account-bar .blc-control-open{font-size:10px;padding:4px}.blc-meta time{font-size:9px}.blc-layout .blc .blc-compose textarea[name=body]{font-size:16px!important}.blc-message p{font-size:max(14px,var(--ui-font-size,14px))}.blc-message{column-gap:7px}.blc-reaction-heading{flex-basis:64px}.blc-reactions{gap:0}.blc-reactions button{font-size:9px;gap:2px}.blc .blc-submit-label{font-size:0}.blc .blc-submit{min-width:36px;min-height:34px}}
@container barva (max-width:639px){.blc-with-player:not([data-stacked=true]):not([data-layout=stacked])>.blc-layout-grid{grid-template-columns:minmax(0,1fr)}}
@container barva (min-width:1101px){.blc-with-player[data-stacked=true]:not([data-layout=stacked])>.blc-layout-grid{grid-template-columns:minmax(0,1fr) minmax(var(--ui-chat-min,330px),calc(100% - var(--ui-player-share,66%)))}}
@container barva (max-width:1100px){.blc-layout[data-stacked=true] .blc{height:var(--ui-mobile-height,680px)}}
@media(hover:none){.blc-message-tools .blc-menu{min-height:32px!important}.blc .blc-message-tools{gap:2px}}
@media(prefers-reduced-motion:reduce){.blc-layout *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
