/* Общий визуальный язык чата: миниап, игровые диалоги и формы аккаунта. */
:root {
 --gdc-com-bg:#261f33; --gdc-com-panel:#332b42; --gdc-com-raised:#40354f;
 --gdc-com-line:#736487; --gdc-com-blue:#a4cfe7; --gdc-com-mint:#a7ded0;
 --gdc-com-lavender:#c1b1dc; --gdc-com-peach:#edbea8;
 --gdc-com-text:#f2edf3; --gdc-com-muted:#c7bdd2; --gdc-com-ink:#242032;
 --gdc-com-mono:Menlo,ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;
 --gdc-com-frame-blue:url('/lib/gdc-engine/social/assets/terminal-frame-blue.svg');
 --gdc-com-frame-lavender:url('/lib/gdc-engine/social/assets/terminal-frame-lavender.svg');
}
.gdc-community-trigger { position:fixed; bottom:calc(12px + env(safe-area-inset-bottom)); left:12px; z-index:950; padding:10px 14px; min-height:44px; border:1px solid var(--gdc-com-blue); border-radius:3px 8px 3px 6px; background:var(--gdc-com-panel); color:var(--gdc-com-blue); font:14px/1.5 var(--gdc-com-mono); cursor:pointer; }
.gdc-community { box-sizing:border-box; width:min(680px,calc(100vw - 20px)); height:min(760px,90dvh); padding:12px; border:10px solid transparent; border-image:var(--gdc-com-frame-blue) 24 / 10px stretch; background:var(--gdc-com-panel); background-clip:padding-box; color:var(--gdc-com-text); font:16px/1.5 system-ui,sans-serif; color-scheme:dark; }
.gdc-community [hidden] { display:none!important; }
.gdc-community[open] { display:flex; flex-direction:column; gap:10px; }
.gdc-community::backdrop { background:#160f25bb; }
.gdc-community header { display:flex; justify-content:space-between; align-items:center; gap:8px; padding-bottom:8px; border-bottom:1px solid var(--gdc-com-line); }
.gdc-community h2,.gdc-community h3 { margin:4px 0; font-family:var(--gdc-com-mono); }
.gdc-community h2 { font-size:20px; color:var(--gdc-com-blue); }
.gdc-community p { margin:6px 0; }
.gdc-community nav { display:flex; gap:6px; flex-wrap:wrap; }
.gdc-community button,.gdc-community input,.gdc-community textarea { box-sizing:border-box; font:inherit; border:1px solid var(--gdc-com-line); border-radius:3px 7px 3px 6px; background:var(--gdc-com-raised); color:inherit; padding:8px 10px; }
.gdc-community button { cursor:pointer; min-height:44px; }
.gdc-community button:hover:not(:disabled) { border-color:var(--gdc-com-blue); }
.gdc-community nav button { font:13px/1.5 var(--gdc-com-mono); }
.gdc-community button[aria-pressed=true] { border-color:var(--gdc-com-blue); background:var(--gdc-com-blue); color:var(--gdc-com-ink); }
.gdc-community button:disabled { opacity:.5; cursor:not-allowed; }
.gdc-community a { color:var(--gdc-com-blue); }
.gdc-community input::placeholder,.gdc-community textarea::placeholder { color:var(--gdc-com-muted); opacity:1; }
.gdc-community-status { font-size:13px; overflow-wrap:anywhere; }
.gdc-community-status:empty { display:none; }
.gdc-community-status button { margin-left:8px; padding:4px 8px; font-size:12px; }
.gdc-community-content { flex:1; min-height:0; overflow:auto; overflow-wrap:anywhere; scrollbar-color:var(--gdc-com-line) var(--gdc-com-panel); }
.gdc-community-content form { display:flex; gap:8px; }
.gdc-community-content form input { min-width:0; flex:1; }
.gdc-community-content>section:empty { display:none; }
.gdc-community-people-list { display:grid; gap:8px; margin:12px 0; }
.gdc-community-people-list>button { text-align:left; font-family:var(--gdc-com-mono); }
.gdc-community-message { display:grid; grid-template-columns:38px minmax(0,1fr); gap:14px; padding:16px 0; border-bottom:1px solid #73648755; }
.gdc-community-message:last-child { border-bottom:0; }
.gdc-community-stamp { display:flex; align-items:center; justify-content:center; align-self:start; width:36px; height:36px; border:1px solid var(--gdc-com-blue); border-radius:2px 5px 2px 4px; background:#a4cfe710; color:var(--gdc-com-blue); font:500 23px/1 var(--gdc-com-mono); box-sizing:border-box; }
.gdc-community-message-main { min-width:0; }
.gdc-community-message-heading { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; }
.gdc-community-message button.gdc-community-author { padding:0; min-height:28px; border:0; border-radius:0; background:transparent; color:var(--gdc-com-blue); font:600 14px/1.5 var(--gdc-com-mono); }
.gdc-community-message button.gdc-community-author:hover { text-decoration:underline; }
.gdc-community-message p { white-space:pre-wrap; margin:5px 0; }
.gdc-community-message time { color:var(--gdc-com-muted); font:12px/1.5 var(--gdc-com-mono); margin-left:auto; }
.gdc-community-message small { color:var(--gdc-com-muted); }
.gdc-community-message-reply { display:block; margin:6px 0; padding:5px 9px; border-left:2px solid var(--gdc-com-mint); background:#a7ded008; }
.gdc-community-message-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.gdc-community-message-actions button { padding:3px 8px; min-height:30px; font-size:12px; color:var(--gdc-com-muted); background:transparent; }
.gdc-community-compose { display:flex; gap:8px; flex-wrap:wrap; }
.gdc-community-compose textarea { flex:1; min-width:120px; resize:none; background:var(--gdc-com-bg); }
.gdc-community-compose>button { background:var(--gdc-com-blue); color:var(--gdc-com-ink); border-color:var(--gdc-com-blue); font-weight:600; }
.gdc-community-compose>div { width:100%; font-size:13px; }
.gdc-community-compose>div:empty { display:none; }
.gdc-community-compose>div:not(:empty) { padding:6px 10px; border-left:2px solid var(--gdc-com-mint); }
.gdc-community-compose>div button { padding:4px 8px; min-height:32px; font-size:12px; margin-left:8px; }
.gdc-community:focus-visible,.gdc-community button:focus-visible,.gdc-community input:focus-visible,.gdc-community textarea:focus-visible,.gdc-community-trigger:focus-visible { outline:2px solid var(--gdc-com-mint); outline-offset:3px; }
.gdc-wallet-account { position:relative; }
.gdc-wallet-account form { display:flex; flex-direction:column; gap:10px; }
.gdc-wallet-account label { display:flex; flex-direction:column; gap:4px; }
.gdc-wallet-account label:has(input[type=checkbox]) { display:block; }
.gdc-wallet-account input:not([type=checkbox]) { width:100%; box-sizing:border-box; }
.gdc-wallet-account label span { display:flex; gap:5px; }
.gdc-wallet-account label span input { min-width:0; flex:1; }
.gdc-wallet-account button { margin:4px; }
.gdc-wallet-account small { overflow-wrap:anywhere; }
.gdc-wallet-account h2 { text-align:center; padding:0 36px; margin:12px 0; }
.gdc-wallet-account [role=alert] { color:#f5bdc3; }
.gdc-wallet-account [role=status]:empty,.gdc-wallet-account [role=alert]:empty { display:none; }
.gdc-wallet-account .gdc-account-actions { display:flex; gap:8px; width:100%; }
.gdc-wallet-account .gdc-account-actions button { flex:1; min-width:0; margin:0; text-align:center; }
.gdc-account-dialog { inset:auto; left:50%; top:50%; transform:translate(-50%,-50%); margin:0; height:auto; max-height:90dvh; overflow:auto; position:fixed; padding:24px 12px 12px; }
.gdc-account-close { text-align:center; position:absolute; right:8px; top:8px; width:36px; padding:0!important; z-index:2; }
.gdc-account-toast { position:fixed; left:50%; top:50%; transform:translate(-50%,-50%); z-index:10000; box-sizing:border-box; width:min(420px,calc(100vw - 32px)); padding:20px; border:1px solid var(--gdc-com-peach); border-radius:4px 10px 4px 8px; background:var(--gdc-com-panel); color:var(--gdc-com-text); box-shadow:0 8px 50px #160f2577; text-align:center; }
.gdc-account-toast p { white-space:pre-wrap; overflow-wrap:anywhere; }
.standard-modal.gdc-wallet-account>h2 { padding:0 44px; }
.gdc-account-actions button { text-align:center; }
.gdc-account-dialog>section { margin:12px 0 0; padding:12px; }
@media(max-width:580px) {
 .gdc-community { padding:12px; } .gdc-community-message { grid-template-columns:30px minmax(0,1fr); gap:10px; }
 .gdc-community-stamp { width:30px; height:30px; font-size:20px; }
 .gdc-community-message time { margin-left:0; font-size:11px; }
 .gdc-community textarea,.gdc-community input { font-size:16px; }
 .gdc-community-message-actions button { min-height:36px; }
}
@media(pointer:coarse) {
 .gdc-community button,.gdc-community-message-actions button { min-height:44px; }
}

.gdc-community .wallet-avatar-toggle{font-size:28px;margin:8px 0}.gdc-community .wallet-avatar-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}.gdc-community .wallet-avatar-choices button{font-size:32px}.gdc-community .wallet-avatar-settings[hidden]{display:none}

/* Игровое окно терминала использует тот же корпус, что страница сообщества. */
dialog.gdc-community:not(.gdc-account-dialog) { width:min(1220px,calc(100vw - 48px)); max-width:none; height:min(820px,calc(100dvh - 24px)); max-height:none; padding:0; overflow:hidden; border:20px solid transparent; border-image:var(--gdc-com-frame-blue) 24 / 20px stretch; border-radius:0; background:var(--gdc-com-panel); color:var(--gdc-com-text); }
dialog.gdc-community[open]:not(.gdc-account-dialog) { gap:0; }
dialog.gdc-community>header { position:relative; display:grid; grid-template-columns:max-content minmax(0,1fr) auto auto; gap:4px 18px; padding:18px 22px; min-height:104px; flex-shrink:0; }
.gdc-community-eyebrow { grid-column:1; font:11px/1.5 var(--gdc-com-mono); color:var(--gdc-com-muted); letter-spacing:.05em; }
dialog.gdc-community>header h2 { grid-column:1; grid-row:2; font:600 26px/1.2 var(--gdc-com-mono); }
dialog.gdc-community>header>button { grid-column:4; grid-row:1/3; min-width:92px; align-self:center; }
dialog.gdc-community>header>.gdc-community-status { grid-column:4; grid-row:1/3; align-self:center; max-width:148px; }
dialog.gdc-community>header>.gdc-community-status button { margin:0; width:148px; height:68px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; border:5px solid transparent; border-image:var(--gdc-com-frame-lavender) 24 / 5px stretch; border-radius:0; color:var(--gdc-com-mint); font:600 13px/1.5 var(--gdc-com-mono); }
.gdc-community-decoration { position:relative; grid-column:2; grid-row:1/3; align-self:start; justify-self:center; top:-19px; width:min(508px,100%); height:38px; background:url('/lib/gdc-engine/social/assets/terminal-header.svg') center / 100% 100% no-repeat; pointer-events:none; }
.gdc-community-workspace { display:grid; grid-template-columns:214px minmax(0,1fr); flex:1; min-height:0; }
.gdc-community-sidebar>nav { display:flex; flex-direction:column; gap:12px; padding:0 12px 18px; border-right:1px solid var(--gdc-com-line); overflow:auto; }
.gdc-community-sidebar>nav>button { text-align:left; font-size:15px; min-height:60px; border:0; border-radius:3px; background:transparent; }
.gdc-community-sidebar>nav>button[aria-pressed=true] { background:var(--gdc-com-blue); color:var(--gdc-com-ink); }
.gdc-community-channel-symbol { display:inline-block; width:30px; font:24px/1 var(--gdc-com-mono); }
.gdc-community-modes { display:flex; margin:0 -12px 8px; border-bottom:1px solid var(--gdc-com-line); }
.gdc-community-modes>button { flex:1; min-width:0; min-height:54px; border:0; border-radius:0; background:transparent; color:var(--gdc-com-muted); font-weight:700; text-transform:uppercase; }
.gdc-community-modes>button[aria-pressed=true] { color:var(--gdc-com-blue); background:#a4cfe708; box-shadow:inset 0 -3px var(--gdc-com-blue); }
.gdc-community-main { display:flex; flex-direction:column; min-width:0; min-height:0; padding:0; border:12px solid transparent; border-image:var(--gdc-com-frame-lavender) 24 / 12px stretch; }
.gdc-community-main>.gdc-community-content { padding:18px 24px; }
.gdc-community-main>.gdc-community-compose { padding:12px 20px 16px; border-top:1px solid var(--gdc-com-line); flex-shrink:0; }
.gdc-community-main>.gdc-community-compose textarea { border:5px solid transparent; border-image:var(--gdc-com-frame-lavender) 24 / 5px stretch; border-radius:0; min-width:0; }
.gdc-community-main>.gdc-community-compose>button { min-width:116px; font-family:var(--gdc-com-mono); }
.gdc-community-footer { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:56px; border-top:1px solid var(--gdc-com-line); font:10px/1.5 var(--gdc-com-mono); color:var(--gdc-com-muted); flex-shrink:0; }
.gdc-community-footer::before,.gdc-community-footer::after { content:''; position:absolute; bottom:0; width:calc((100% - 220px)/2); height:44px; background:url('/lib/gdc-engine/social/assets/terminal-header.svg') center / 100% 100% no-repeat; pointer-events:none; }
.gdc-community-footer::before { left:0; transform:rotate(180deg); }
.gdc-community-footer::after { right:0; transform:scaleY(-1); }
@media(max-width:760px) {
 dialog.gdc-community:not(.gdc-account-dialog) { width:calc(100vw - 12px); height:calc(100dvh - 12px); border-width:14px; border-image-width:14px; }
 dialog.gdc-community>header { padding:12px; grid-template-columns:minmax(0,1fr) auto; gap:8px; min-height:0; }
 dialog.gdc-community>header h2 { font-size:22px; }
 dialog.gdc-community>header>button { grid-column:2; min-width:72px; }
 dialog.gdc-community>header>.gdc-community-status { grid-column:2; grid-row:3; max-width:none; }
 dialog.gdc-community>header>.gdc-community-status button { min-height:68px; width:100%; }
 .gdc-community-decoration { display:none; }
 .gdc-community-workspace { display:flex; flex-direction:column; }
 .gdc-community-sidebar { flex-shrink:0; }
 .gdc-community-sidebar>nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); flex-shrink:0; padding:0 4px 8px; gap:4px; border-right:0; }
 .gdc-community-modes { grid-column:1/-1; margin:0 0 4px; }
 .gdc-community-modes>button { min-height:44px; }
 .gdc-community-sidebar>nav>button { padding:8px 2px; min-height:44px; font-size:11px; text-align:center; }
 .gdc-community-channel-symbol { display:none; }
 .gdc-community-main { flex:1; padding:8px; border-width:7px; border-image-width:7px; }
 .gdc-community-main>.gdc-community-compose>button { min-width:80px; font-size:12px; padding:8px; }
 .gdc-community-footer { min-height:44px; font-size:9px; }
 .gdc-community-footer::before,.gdc-community-footer::after { height:30px; width:calc((100% - 190px)/2); background-size:auto 30px; }
}
/* Геометрия и подписи совпадают со страницей сообщества. */
.gdc-community-sidebar { display:flex; flex-direction:column; min-height:0; min-width:0; background:#30273f; border-right:1px solid var(--gdc-com-line); }
.gdc-community-sidebar>nav { border-right:0; flex-shrink:0; gap:8px; }
.gdc-community-sidebar>nav>button { display:flex; align-items:center; gap:12px; padding:12px; font:600 14px/1.4 var(--gdc-com-mono); }
.gdc-community-sidebar>nav>button small { display:block; margin-top:4px; font:400 12px/1.4 system-ui,sans-serif; color:var(--gdc-com-muted); }
.gdc-community-sidebar>nav>button[aria-pressed=true] small { color:var(--gdc-com-ink); }
.gdc-community-sidebar-note { margin:auto 20px 24px; padding-top:18px; border-top:1px solid var(--gdc-com-line); color:var(--gdc-com-muted); font:12px/1.8 var(--gdc-com-mono); }
.gdc-community-sidebar-note p { margin:0; }
.gdc-community-sidebar-note p:first-child::first-letter { color:var(--gdc-com-mint); }
.gdc-community-balance { color:var(--gdc-com-mint); font:600 15px/1.5 var(--gdc-com-mono); }
.gdc-community-login { color:var(--gdc-com-text); font:13px/1.5 system-ui,sans-serif; overflow-wrap:anywhere; }
.gdc-community-back { grid-column:3; grid-row:1/3; display:flex; justify-content:center; align-items:center; width:148px; height:68px; box-sizing:border-box; text-decoration:none; border:1px solid var(--gdc-com-line); border-radius:3px 7px 3px 6px; background:var(--gdc-com-raised); color:var(--gdc-com-text)!important; font:13px/1.5 var(--gdc-com-mono); }
.gdc-community-back:hover { border-color:var(--gdc-com-blue); }
.gdc-community-back:focus-visible { outline:2px solid var(--gdc-com-mint); outline-offset:3px; }
dialog.gdc-community>header>button.gdc-community-close { position:absolute; grid-area:auto; align-self:start; margin:0; right:4px; top:4px; min-width:24px; min-height:24px; width:24px; height:24px; padding:0; border:0; background:transparent; font-size:0; }
.gdc-community-close::after { content:'×'; font:20px/1 var(--gdc-com-mono); }
@media(max-width:760px) {
 .gdc-community-sidebar { border-right:0; }
 .gdc-community-sidebar-note { display:none; }
 .gdc-community-sidebar>nav>button { display:block; padding:8px 2px; font-size:11px; }
 .gdc-community-sidebar>nav>button small { display:none; }
 .gdc-community-back { grid-column:1; grid-row:3; width:100%; }
 dialog.gdc-community>header { grid-template-columns:repeat(2,minmax(0,1fr)); }
 dialog.gdc-community>header h2,dialog.gdc-community>header>.gdc-community-eyebrow { grid-column:1/-1; }
 dialog.gdc-community>header>.gdc-community-status { margin:0; }
 .gdc-community-main>.gdc-community-content { padding:12px; }
 .gdc-community-main>.gdc-community-compose { padding:12px; }
}
/* One profile control and one close control in the game chat header. */
.gdc-profile-button{display:flex!important;align-items:stretch!important;gap:10px;padding:0!important;min-height:84px;text-align:left!important}
.gdc-profile-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 82px;width:82px;min-height:82px;aspect-ratio:1;font-size:38px;background:var(--gdc-com-raised,#263e5d)}
.gdc-profile-caption{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:6px;min-width:0}.gdc-profile-caption>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gdc-community-profile .profile-name-editor{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.profile-name-editor>strong,.profile-name-editor>input{flex:1;min-width:0}.gdc-community-profile [hidden]{display:none!important}.gdc-community-profile .profile-actions{display:flex;gap:8px;margin:12px 0}.gdc-community-profile .profile-actions>button{flex:1}
dialog.gdc-community>header>.gdc-community-back{grid-column:3;grid-row:1/3;width:220px;height:84px}
dialog.gdc-community>header>.gdc-community-dismiss{position:static;grid-column:4;grid-row:1/3;width:64px;min-width:64px;height:84px;min-height:84px;font-size:28px}
dialog.gdc-community>header>.gdc-community-status{grid-column:1/-1;grid-row:auto;margin:0;width:auto}
@media(max-width:580px){dialog.gdc-community>header>.gdc-community-back{grid-column:1;grid-row:3;width:100%}dialog.gdc-community>header>.gdc-community-dismiss{grid-column:2;grid-row:3;width:100%}.gdc-profile-avatar{flex-basis:82px;width:82px;min-height:82px;font-size:30px}}

@media(max-width:580px){dialog.gdc-community>header{grid-template-columns:minmax(0,1fr) 84px}}
.gdc-community-profile .wallet-avatar-toggle{width:64px;height:64px;aspect-ratio:1;font-size:38px}
