/*! Copyright (c) 1988-2026 Daniel Hedrick. ChesSphere(TM). m0192: game screen bars. Observatory look: ink navy, gold, Inter. Every rule is scoped to the new .gbUi elements. */
.gbUi{box-sizing:border-box;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#ece6d6;-webkit-tap-highlight-color:transparent}
.gbUi *{box-sizing:border-box}
.gbPlayer,#gbStrip,#gbBar{position:fixed;z-index:18}
/* player bars */
.gbPlayer{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 6px;border-radius:12px;background:#101832;border:1px solid #2b3760;box-shadow:0 8px 22px -12px rgba(0,0,0,.8);overflow:hidden}
.gbPlayer.turn{border-color:#c9a65a;box-shadow:0 0 0 1px rgba(201,166,90,.35),0 8px 22px -12px rgba(0,0,0,.8)}
.gbAv{position:relative;flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid #c9a65a;background:#ece6d6;color:#0b1226;font:700 17px/1 Cinzel,Georgia,serif}
.gbAv[data-c=b]{background:#0b1226;color:#dcc17c}
.gbAvK{width:26px;height:26px;display:block}
.gbAv[data-c=w] .gbAvK{filter:none}
.gbAv[data-c=b] .gbAvK{background:#ece6d6;border-radius:50%;padding:1px}
.gbDot{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;border:2px solid #101832;background:#6b7390}
.gbDot[data-s=on]{background:#53c28b}.gbDot[data-s=wait]{background:#e0a640}.gbDot[data-s=off]{background:#6b7390}
.gbMid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}
.gbNm{display:flex;align-items:baseline;gap:6px;min-width:0;white-space:nowrap}
.gbNm b{font-weight:650;font-size:15px;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;color:#ece6d6}
.gbNm em{font-style:normal;font-size:12.5px;color:#9aa4c4;overflow:hidden;text-overflow:ellipsis}
.gbCap{display:flex;align-items:center;gap:6px;min-height:16px;white-space:nowrap}
.gbPcs{display:flex;align-items:center;height:16px}
.gbPcs img{width:16px;height:16px;display:block;margin-right:-5px;opacity:.95}
.gbPcs img.st{margin-left:-2px}
.gbAdv{font-size:12px;font-weight:700;color:#dcc17c;margin-left:7px}
.gbClk{flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:1px;min-width:56px}
.gbTime{font-variant-numeric:tabular-nums;font-weight:700;font-size:17px;padding:3px 9px;border-radius:8px;background:#0a1020;border:1px solid #2b3760;color:#b9c1dc;letter-spacing:.02em}
.gbTime.run{color:#15110a;background:#dcc17c;border-color:#dcc17c}
.gbTime.low{color:#fff;background:#b3364a;border-color:#b3364a}
.gbTurn{font-size:11.5px;color:#9aa4c4;letter-spacing:.03em}
.gbTurn.mine{color:#dcc17c;font-weight:600}
.gbPlayer.cmp{padding:3px 8px 3px 5px;gap:8px}
.gbPlayer.cmp .gbAv{width:28px;height:28px;font-size:14px}
.gbPlayer.cmp .gbAvK{width:21px;height:21px}
.gbPlayer.cmp .gbNm b{font-size:13.5px}
.gbPlayer.cmp .gbTime{font-size:14px;padding:2px 7px}
.gbPlayer.cmp .gbCap{min-height:13px}.gbPlayer.cmp .gbPcs img{width:13px;height:13px;margin-right:-4px}.gbPlayer.cmp .gbTurn{display:none!important}
/* strip */
#gbStrip{display:flex;align-items:center;gap:10px;padding:0 6px 0 12px;height:38px;border-radius:12px;background:#16203f;border:1px solid #c9a65a;box-shadow:0 10px 24px -12px rgba(0,0,0,.85)}
#gbStrip .gbSd{flex:none;width:9px;height:9px;border-radius:50%;background:#dcc17c;box-shadow:0 0 0 3px rgba(220,193,124,.22)}
#gbStrip[data-k=rv] .gbSd{background:#8c96b4;box-shadow:0 0 0 3px rgba(140,150,180,.2)}
#gbStrip[data-k=over] .gbSd{background:#ece6d6;box-shadow:0 0 0 3px rgba(236,230,214,.18)}
#gbStrip .gbStx{flex:1 1 auto;min-width:0;font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#gbStrip button{flex:none;min-height:30px;border-radius:9px;font:600 13px Inter,system-ui,sans-serif;cursor:pointer}
#gbStrip .gbSb{padding:0 12px;background:#c9a65a;color:#15110a;border:1px solid #c9a65a}
#gbStrip .gbSx{min-width:30px;padding:0;background:transparent;color:#9aa4c4;border:0;font-size:20px;line-height:1}
body.mob #gbStrip .gbSx,html.tablet #gbStrip .gbSx{min-width:44px;min-height:38px}
body.mob #gbStrip .gbSb,html.tablet #gbStrip .gbSb{min-height:34px}
/* action bar */
#gbBar{display:flex;align-items:stretch;gap:2px;padding:3px;border-radius:10px;background:#101832;border:1px solid #2b3760;box-shadow:0 10px 28px -12px rgba(0,0,0,.75);z-index:19}
#gbBar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:64px;min-height:44px;padding:4px 8px;border-radius:8px;background:transparent;border:0;color:#ece6d6;font:600 11.5px/1.1 Inter,system-ui,sans-serif;cursor:pointer}
#gbBar button:hover{background:rgba(201,166,90,.14);color:#dcc17c}
#gbBar button[aria-expanded=true]{background:rgba(201,166,90,.14);color:#dcc17c}
#gbBar .gbIc{width:22px;height:22px}
.gbIc{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gbIc .f{fill:currentColor;stroke:none}
.gbBadge{position:absolute;top:2px;right:10px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#dcc17c;color:#15110a;font:700 11px/17px Inter,system-ui,sans-serif;text-align:center;font-style:normal}
.gbBadge[hidden]{display:none}
body.mob #gbBar button,html.tablet #gbBar button{min-width:70px;min-height:48px}
/* sheet */
#gbSheet{position:fixed;z-index:60;display:flex;flex-direction:column;border-radius:14px;background:#101832;border:1px solid rgba(201,166,90,.55);box-shadow:0 24px 60px -18px rgba(0,0,0,.9);overflow:hidden}
#gbSheet .gbSh{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 6px 14px;border-bottom:1px solid #2b3760}
#gbSheet .gbShT{font:600 15px Cinzel,Georgia,serif;letter-spacing:.08em;color:#ece6d6}
#gbSheet .gbShX{min-width:40px;min-height:36px;border:0;background:transparent;color:#9aa4c4;font-size:24px;line-height:1;cursor:pointer;border-radius:8px}
#gbSheet .gbShB{overflow:auto;padding:6px;display:flex;flex-direction:column;gap:2px;-webkit-overflow-scrolling:touch}
.gbRow{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:6px 10px;border-radius:10px;border:0;background:transparent;color:#ece6d6;text-align:left;cursor:pointer;font:500 15px Inter,system-ui,sans-serif}
.gbRow:hover:not(:disabled){background:rgba(201,166,90,.12)}
.gbRow .gbRt{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}
.gbRow b{font-weight:600}
.gbRow small{font-size:12px;color:#8c96b4;font-weight:400}
.gbRow.off{opacity:.45}
.gbRow.warn{background:rgba(179,54,74,.22);color:#ffd9de}
.gbRow:disabled{opacity:.4}
.gbTg .gbSw{flex:none;width:38px;height:22px;border-radius:11px;background:#2b3760;position:relative;transition:background .15s}
.gbTg .gbSw::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#ece6d6;transition:transform .15s}
.gbTg.on .gbSw{background:#c9a65a}.gbTg.on .gbSw::after{transform:translateX(16px);background:#15110a}
.gbFacts{display:flex;flex-wrap:wrap;gap:4px 14px;padding:6px 10px 8px;font-size:13px;color:#9aa4c4}
.gbFacts b{color:#ece6d6}
/* chat */
.gbLog{min-height:96px;max-height:220px;overflow:auto;padding:8px;border-radius:10px;background:#0a1020;border:1px solid #2b3760;display:flex;flex-direction:column;gap:6px}
.gbEmpty{margin:auto;text-align:center;color:#8c96b4;font-size:13px;padding:8px}
.gbMsg{max-width:88%;align-self:flex-start;padding:6px 10px;border-radius:10px;background:#16203f;font-size:14px;line-height:1.35;word-break:break-word}
.gbMsg b{display:block;font-size:11px;color:#8c96b4;font-weight:600;margin-bottom:1px}
.gbMsg.me{align-self:flex-end;background:rgba(201,166,90,.2)}
.gbQuick{display:flex;flex-wrap:wrap;gap:6px;padding:8px 2px 4px}
.gbQuick button{min-height:36px;padding:0 12px;border-radius:18px;border:1px solid #2b3760;background:#16203f;color:#ece6d6;font:500 13px Inter,system-ui,sans-serif;cursor:pointer}
.gbQuick button:hover{border-color:#c9a65a}
.gbForm{display:flex;gap:6px;padding:2px 2px 6px}
.gbForm input{flex:1 1 auto;min-width:0;min-height:44px;padding:0 12px;border-radius:10px;border:1px solid #2b3760;background:#16203f;color:#ece6d6;font:500 16px Inter,system-ui,sans-serif}
.gbForm .gbSend{min-height:44px;padding:0 16px;border-radius:10px;border:1px solid #c9a65a;background:#c9a65a;color:#15110a;font:700 14px Inter,system-ui,sans-serif;cursor:pointer}
.gbNote{padding:2px 6px 6px;font-size:12.5px;color:#dcc17c}
#gbBubble{position:fixed;z-index:20;padding:7px 12px;border-radius:12px;background:#16203f;border:1px solid #c9a65a;font-size:14px;box-shadow:0 10px 24px -12px rgba(0,0,0,.85);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.gbTg .gbSw,.gbTg .gbSw::after{transition:none}}

#gbBar.cmp button{min-height:40px;min-width:62px}
body.mob #gbBar.cmp button,html.tablet #gbBar.cmp button{min-height:42px}
.gbNm b{flex:none;max-width:70%}
.gbNm em{flex:1 1 auto;min-width:0}
#gbSheet.dock .gbRow{min-height:44px}
#gbSheet.dock{border-radius:16px}
