/* NEWCHAT_V1175_GAMES_LOBBY_SHARING_CONSOLIDATION_HF7_CSS_START */
:root {
  --nc-games-bg: #0c1324;
  --nc-games-panel: #111a2e;
  --nc-games-panel-2: #18233a;
  --nc-games-border: rgba(255,255,255,.12);
  --nc-games-text: #f6f7fb;
  --nc-games-muted: #aeb8cc;
  --nc-games-accent: #7c4dff;
  --nc-games-accent-2: #a56cff;
  --nc-games-good: #24c77a;
  --nc-games-danger: #ef5350;
  --nc-games-warning: #ffb52e;
}
.nc-games-open { overflow: hidden !important; }
.nc-games-backdrop {
  position: fixed; inset: 0; z-index: 2147483000; background: rgba(3,7,18,.72); backdrop-filter: blur(6px);
}
.nc-games-panel {
  position: fixed; z-index: 2147483001; inset: min(4vh,34px) min(3vw,42px); display: flex; flex-direction: column;
  max-width: 1380px; margin: auto; color: var(--nc-games-text); background: linear-gradient(160deg, var(--nc-games-bg), #111a31 58%, #151b30);
  border: 1px solid var(--nc-games-border); border-radius: 22px; overflow: hidden; box-shadow: 0 28px 90px rgba(0,0,0,.55);
  font-family: inherit;
}
.nc-games-panel[hidden], .nc-games-backdrop[hidden] { display: none !important; }
.nc-games-header {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px;
  border-bottom: 1px solid var(--nc-games-border); background: rgba(255,255,255,.025);
}
.nc-games-head-text { display: flex; align-items: baseline; gap: 12px; min-width: 0; }
.nc-games-head-text h2 { margin: 0; font-size: clamp(1.18rem,2vw,1.65rem); }
.nc-games-kicker { color: var(--nc-games-accent-2); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .72rem; }
.nc-games-header-actions { display: flex; align-items: center; gap: 12px; }
.nc-games-connection { font-size: .78rem; color: var(--nc-games-muted); white-space: nowrap; }
.nc-games-connection.is-online { color: var(--nc-games-good); }
.nc-games-close { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--nc-games-border); background: rgba(255,255,255,.06); color: #fff; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.nc-games-content { flex: 1; min-height: 0; overflow: auto; }
.nc-games-browser-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); min-height: 100%; }
.nc-games-browser-sidebar { padding: 20px 14px; border-right: 1px solid var(--nc-games-border); background: rgba(0,0,0,.13); display: flex; flex-direction: column; gap: 8px; }
.nc-games-browser-sidebar h3 { margin: 0 8px 8px; font-size: .85rem; color: var(--nc-games-muted); text-transform: uppercase; letter-spacing: .08em; }
.nc-games-filter { width: 100%; border: 0; border-radius: 12px; background: transparent; color: var(--nc-games-text); text-align: left; padding: 12px 13px; cursor: pointer; font: inherit; font-weight: 650; }
.nc-games-filter:hover, .nc-games-filter.is-active { background: linear-gradient(135deg, rgba(124,77,255,.86), rgba(87,55,210,.86)); }
.nc-games-profile { margin-top: auto; padding: 14px; border: 1px solid var(--nc-games-border); border-radius: 14px; background: rgba(255,255,255,.035); display: grid; gap: 4px; }
.nc-games-profile span { color: var(--nc-games-muted); font-size: .82rem; }
.nc-games-browser-main { padding: 22px; display: grid; align-content: start; gap: 22px; }
.nc-games-intro h3, .nc-games-section-head h3, .nc-games-ranking h3 { margin: 0; }
.nc-games-intro p { margin: 5px 0 0; color: var(--nc-games-muted); }
.nc-games-card-grid { display: grid; grid-template-columns: repeat(3,minmax(220px,1fr)); gap: 14px; }
.nc-games-card { display: grid; grid-template-columns: auto 1fr; gap: 13px; align-items: start; padding: 16px; border: 1px solid var(--nc-games-border); border-radius: 16px; background: linear-gradient(155deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); }
.nc-games-card-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; background: rgba(124,77,255,.17); font-size: 1.65rem; }
.nc-games-card-info h4 { margin: 0 0 3px; font-size: 1rem; }
.nc-games-card-players { display: block; color: var(--nc-games-accent-2); font-size: .78rem; font-weight: 700; }
.nc-games-card-info p { margin: 8px 0 0; color: var(--nc-games-muted); font-size: .86rem; line-height: 1.4; }
.nc-games-card > button { grid-column: 1/-1; }
.nc-games-primary, .nc-games-secondary, .nc-games-danger {
  min-height: 42px; padding: 9px 15px; border-radius: 11px; border: 1px solid transparent; cursor: pointer; font: inherit; font-weight: 750;
}
.nc-games-primary { background: linear-gradient(135deg, var(--nc-games-accent), #5f36df); color: #fff; }
.nc-games-secondary { background: rgba(255,255,255,.06); border-color: var(--nc-games-border); color: var(--nc-games-text); }
.nc-games-danger { background: rgba(239,83,80,.12); border-color: rgba(239,83,80,.42); color: #ffaaaa; }
.nc-games-primary:disabled, .nc-games-secondary:disabled, .nc-games-danger:disabled { opacity: .45; cursor: not-allowed; }
.nc-games-rooms-section, .nc-games-ranking { border: 1px solid var(--nc-games-border); border-radius: 16px; background: rgba(255,255,255,.025); padding: 16px; }
.nc-games-section-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.nc-games-room-list { display: grid; gap: 9px; }
.nc-games-room-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px; border: 1px solid var(--nc-games-border); border-radius: 12px; background: rgba(255,255,255,.03); }
.nc-games-room-info { display: grid; gap: 4px; min-width: 0; }
.nc-games-room-info span { color: var(--nc-games-muted); font-size: .8rem; }
.nc-games-empty { padding: 18px; color: var(--nc-games-muted); text-align: center; }
.nc-games-ranking-list { margin: 12px 0 0; padding-left: 24px; display: grid; gap: 8px; }
.nc-games-ranking-list li { padding: 8px 10px; border-radius: 9px; background: rgba(255,255,255,.03); }
.nc-games-ranking-list li:not(.nc-games-empty) { display: flex; justify-content: space-between; gap: 14px; }
.nc-games-room-view { min-height: 100%; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.nc-games-room-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 16px; border: 1px solid var(--nc-games-border); border-radius: 15px; background: rgba(255,255,255,.035); }
.nc-games-room-title { display: flex; align-items: center; gap: 12px; min-width: 0; }
.nc-games-room-title h3 { margin: 0; }
.nc-games-room-title p { margin: 4px 0 0; color: var(--nc-games-muted); }
.nc-games-room-icon { font-size: 2rem; }
.nc-games-room-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.nc-games-match-layout { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 16px; }
.nc-games-match-area, .nc-games-player-panel { border: 1px solid var(--nc-games-border); border-radius: 16px; background: rgba(255,255,255,.025); }
.nc-games-match-area { padding: 18px; overflow: auto; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.nc-games-player-panel { padding: 14px; overflow: auto; align-self: stretch; }
.nc-games-player-panel h4 { margin: 0 0 12px; }
.nc-games-player { display: flex; justify-content: space-between; gap: 10px; padding: 10px; border-radius: 10px; margin-bottom: 7px; background: rgba(255,255,255,.035); }
.nc-games-player.is-turn { outline: 2px solid rgba(124,77,255,.65); }
.nc-games-player.is-offline { opacity: .5; }
.nc-games-lobby { margin: auto; max-width: 560px; text-align: center; display: grid; justify-items: center; gap: 10px; }
.nc-games-lobby-icon { font-size: 4.5rem; }
.nc-games-lobby h3, .nc-games-lobby p { margin: 0; }
.nc-games-hint { color: var(--nc-games-muted); }
.nc-games-status { min-width: min(100%,560px); padding: 11px 15px; border-radius: 12px; text-align: center; background: rgba(255,255,255,.055); font-weight: 750; }
.nc-games-status.is-my-turn { background: rgba(36,199,122,.13); color: #8ff0bd; border: 1px solid rgba(36,199,122,.38); }
.nc-games-status.is-waiting { color: #ffd58a; border: 1px solid rgba(255,181,46,.3); }
.nc-games-live-timer { padding: 6px 9px; border-radius: 999px; background: rgba(255,181,46,.13); color: #ffd58a; font-weight: 800; font-size: .8rem; }
.nc-ttt-board { width: min(86vw,420px); aspect-ratio: 1; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.nc-ttt-cell { border: 1px solid var(--nc-games-border); border-radius: 16px; background: rgba(255,255,255,.04); color: #fff; font-size: clamp(2.8rem,9vw,5.4rem); font-weight: 900; cursor: pointer; }
.nc-ttt-cell.is-x { color: #4d98ff; } .nc-ttt-cell.is-o { color: #ff5e64; }
.nc-connect-controls { width: min(95%,620px); display: grid; grid-template-columns: repeat(7,1fr); gap: 5px; }
.nc-connect-drop { border: 0; border-radius: 8px; background: rgba(124,77,255,.18); color: #cbbcff; min-height: 34px; cursor: pointer; }
.nc-connect-board { width: min(95%,620px); aspect-ratio: 7/6; padding: 9px; display: grid; grid-template-columns: repeat(7,1fr); gap: 6px; border-radius: 16px; background: #2454a6; }
.nc-connect-cell { aspect-ratio: 1; border-radius: 50%; background: #0b1326; box-shadow: inset 0 2px 6px rgba(0,0,0,.55); }
.nc-connect-cell.is-r { background: #ef4444; } .nc-connect-cell.is-y { background: #facc15; }
.nc-rps-scores { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.nc-rps-scores > div { padding: 10px 14px; border-radius: 11px; background: rgba(255,255,255,.045); }
.nc-rps-choices { display: grid; grid-template-columns: repeat(3,minmax(120px,1fr)); gap: 12px; width: min(100%,650px); }
.nc-rps-choice { min-height: 110px; border-radius: 18px; border: 1px solid var(--nc-games-border); background: rgba(255,255,255,.045); color: #fff; font: inherit; font-weight: 800; font-size: 1.05rem; cursor: pointer; }
.nc-quiz-question { width: min(100%,760px); }
.nc-quiz-question h3 { text-align: center; font-size: clamp(1.2rem,2.4vw,1.7rem); }
.nc-quiz-answers { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.nc-quiz-answer { min-height: 64px; border-radius: 14px; border: 1px solid var(--nc-games-border); background: rgba(255,255,255,.05); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.nc-quiz-answer.is-correct { background: rgba(36,199,122,.22); border-color: rgba(36,199,122,.7); }
.nc-quiz-scores { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.nc-quiz-scores span { padding: 9px 13px; border-radius: 10px; background: rgba(255,255,255,.04); }
.nc-hangman-stage { width: min(100%,720px); display: grid; grid-template-columns: 160px 1fr; align-items: center; gap: 18px; }
.nc-hangman-drawing { min-height: 150px; display: grid; place-items: center; font-size: 4.5rem; border-radius: 16px; background: rgba(255,255,255,.04); }
.nc-hangman-word { text-align: center; font-size: clamp(1.4rem,4vw,2.4rem); font-weight: 850; letter-spacing: .08em; }
.nc-hangman-keyboard { width: min(100%,720px); display: grid; grid-template-columns: repeat(8,1fr); gap: 6px; }
.nc-hangman-key { min-height: 42px; border-radius: 9px; border: 1px solid var(--nc-games-border); background: rgba(255,255,255,.05); color: #fff; font-weight: 800; cursor: pointer; }
.nc-hangman-form { width: min(100%,620px); display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.nc-hangman-form input { min-height: 44px; border-radius: 11px; border: 1px solid var(--nc-games-border); background: rgba(0,0,0,.24); color: #fff; padding: 0 13px; font: inherit; }
.nc-games-launcher { border: 0; cursor: pointer; color: #271b00; background: linear-gradient(145deg,#ffc64a,#f5a91e); box-shadow: 0 8px 24px rgba(0,0,0,.28); }
.nc-games-launcher.is-in-rail { width: 58px; height: 58px; min-width: 58px; border-radius: 50%; margin: 7px auto; display: grid; place-items: center; font-size: 1.35rem; }
.nc-games-launcher-label { display: none; }
.nc-games-toast { position: fixed; z-index: 2147483640; left: 50%; bottom: 24px; transform: translate(-50%,20px); opacity: 0; max-width: min(90vw,520px); padding: 12px 16px; border-radius: 12px; background: #1b263c; color: #fff; box-shadow: 0 12px 36px rgba(0,0,0,.45); transition: .2s ease; }
.nc-games-toast.is-visible { opacity: 1; transform: translate(-50%,0); }
.nc-games-toast.is-error { background: #6f2228; }
@media (max-width: 1000px) {
  .nc-games-card-grid { grid-template-columns: repeat(2,minmax(210px,1fr)); }
  .nc-games-browser-layout { grid-template-columns: 210px minmax(0,1fr); }
}
@media (max-width: 760px) {
  .nc-games-panel { inset: 0; border-radius: 0; max-width: none; }
  .nc-games-header { padding: 12px 14px; }
  .nc-games-kicker { display: none; }
  .nc-games-connection { display: none; }
  .nc-games-browser-layout { display: block; }
  .nc-games-browser-sidebar { position: sticky; top: 0; z-index: 2; border-right: 0; border-bottom: 1px solid var(--nc-games-border); padding: 9px; display: flex; flex-direction: row; overflow-x: auto; background: #0e1729; }
  .nc-games-browser-sidebar h3, .nc-games-profile { display: none; }
  .nc-games-filter { width: auto; flex: 0 0 auto; white-space: nowrap; padding: 10px 12px; }
  .nc-games-browser-main { padding: 13px; gap: 14px; }
  .nc-games-card-grid { grid-template-columns: 1fr; }
  .nc-games-card { grid-template-columns: 46px 1fr auto; align-items: center; padding: 12px; }
  .nc-games-card-icon { width: 46px; height: 46px; }
  .nc-games-card-info p { display: none; }
  .nc-games-card > button { grid-column: auto; min-height: 40px; padding-inline: 11px; }
  .nc-games-room-row { align-items: stretch; }
  .nc-games-room-view { padding: 10px; }
  .nc-games-room-top { align-items: flex-start; }
  .nc-games-room-actions { flex-direction: column; }
  .nc-games-match-layout { grid-template-columns: 1fr; }
  .nc-games-player-panel { order: -1; display: flex; gap: 6px; overflow-x: auto; padding: 9px; }
  .nc-games-player-panel h4 { display: none; }
  .nc-games-player { min-width: max-content; margin: 0; }
  .nc-games-match-area { padding: 12px; }
  .nc-rps-choices { grid-template-columns: 1fr; width: 100%; }
  .nc-rps-choice { min-height: 70px; }
  .nc-quiz-answers { grid-template-columns: 1fr; }
  .nc-hangman-stage { grid-template-columns: 1fr; }
  .nc-hangman-drawing { min-height: 90px; font-size: 3.2rem; }
  .nc-hangman-keyboard { grid-template-columns: repeat(6,1fr); }
}
@media (max-width: 430px) {
  .nc-games-head-text h2 { font-size: 1.05rem; }
  .nc-games-room-title p { font-size: .75rem; }
  .nc-games-room-icon { font-size: 1.45rem; }
  .nc-games-primary, .nc-games-secondary, .nc-games-danger { min-height: 38px; font-size: .82rem; }
  .nc-games-card { grid-template-columns: 42px 1fr; }
  .nc-games-card > button { grid-column: 1/-1; }
  .nc-games-room-row { flex-direction: column; }
  .nc-hangman-keyboard { grid-template-columns: repeat(5,1fr); }
  .nc-hangman-form { grid-template-columns: 1fr; }
}
/* NEWCHAT_V1175_GAMES_HUB_REPAIR_PINNED_UI_HF3_CSS_BASE_END */


/* Pinned left-panel and compact-menu overrides. */
.nc-games-open { overflow: auto !important; }
.nc-games-panel {
  --nc-games-anchor-left: 62px;
  inset: auto !important;
  left: var(--nc-games-anchor-left) !important;
  top: 64px !important;
  bottom: 12px !important;
  width: min(450px, calc(100vw - var(--nc-games-anchor-left) - 12px)) !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 20px 20px 0 !important;
  box-shadow: 16px 18px 52px rgba(0,0,0,.48) !important;
  transition: width .18s ease, transform .18s ease;
}
.nc-games-panel.is-room-view {
  width: min(920px, calc(100vw - var(--nc-games-anchor-left) - 12px)) !important;
}
.nc-games-header { min-height: 58px; padding: 10px 14px; }
.nc-games-head-text h2 { font-size: 1.15rem; }
.nc-games-close { width: 38px; height: 38px; font-size: 1.55rem; }
.nc-games-browser-layout { display: block; min-height: 100%; }
.nc-games-browser-sidebar {
  position: sticky; top: 0; z-index: 5;
  padding: 8px; border-right: 0; border-bottom: 1px solid var(--nc-games-border);
  display: flex; flex-direction: row; align-items: center; gap: 6px; overflow-x: auto;
  background: rgba(9,16,31,.97); backdrop-filter: blur(8px); scrollbar-width: thin;
}
.nc-games-browser-sidebar h3 { display: none; }
.nc-games-filter {
  width: auto; flex: 0 0 auto; white-space: nowrap;
  padding: 8px 10px; border: 1px solid var(--nc-games-border); border-radius: 999px;
  font-size: .76rem; background: rgba(255,255,255,.025);
}
.nc-games-filter:hover, .nc-games-filter.is-active {
  background: rgba(124,77,255,.27); border-color: rgba(165,108,255,.76);
}
.nc-games-profile {
  margin: 0 0 0 auto; flex: 0 0 auto; display: flex; align-items: center; gap: 6px;
  padding: 7px 10px; border-radius: 999px; font-size: .74rem;
}
.nc-games-profile span { font-size: .7rem; }
.nc-games-browser-main { padding: 13px; gap: 13px; }
.nc-games-intro h3 { font-size: 1rem; }
.nc-games-intro p { font-size: .78rem; }
.nc-games-card-grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.nc-games-card {
  grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 10px;
  padding: 10px; border-radius: 14px;
}
.nc-games-card-icon { width: 44px; height: 44px; border-radius: 12px; font-size: 1.35rem; }
.nc-games-card-info h4 { font-size: .92rem; margin-bottom: 1px; }
.nc-games-card-players { font-size: .7rem; }
.nc-games-card-info p { margin-top: 3px; font-size: .72rem; line-height: 1.3; }
.nc-games-card > button { grid-column: auto; min-width: 94px; min-height: 38px; padding: 7px 10px; font-size: .76rem; }
.nc-games-rooms-section, .nc-games-ranking { padding: 12px; border-radius: 14px; }
.nc-games-room-row { padding: 9px; }
.nc-games-room-info span { font-size: .72rem; }
.nc-games-room-view { padding: 13px; gap: 12px; }
.nc-games-room-top { padding: 10px 12px; }
.nc-games-match-layout { grid-template-columns: minmax(0,1fr) 225px; gap: 11px; }
.nc-games-match-area { padding: 13px; }
.nc-games-player-panel { padding: 10px; }
.nc-games-launcher.is-in-rail {
  width: 48px; height: 48px; min-width: 48px; margin: 6px auto; font-size: 1.18rem;
}
.nc-games-edge-rail {
  position: fixed; z-index: 2147482900; left: 0; top: 48%; transform: translateY(-50%);
  padding: 5px 5px 5px 3px; border-radius: 0 14px 14px 0;
  background: rgba(13,22,40,.96); border: 1px solid rgba(255,255,255,.13); border-left: 0;
  box-shadow: 8px 10px 28px rgba(0,0,0,.35);
}
.nc-games-launcher.is-edge-pinned {
  width: 48px; height: 48px; border-radius: 11px; display: grid; place-items: center; font-size: 1.18rem;
}
@media (min-width: 761px) {
  .nc-games-backdrop { display: none !important; }
}
@media (max-width: 760px) {
  .nc-games-open { overflow: hidden !important; }
  .nc-games-panel, .nc-games-panel.is-room-view {
    --nc-games-anchor-left: 0px;
    left: 0 !important; top: 0 !important; bottom: 0 !important;
    width: min(92vw,420px) !important; max-width: 420px !important;
    border-radius: 0 18px 18px 0 !important; box-shadow: 18px 0 55px rgba(0,0,0,.6) !important;
  }
  .nc-games-panel.is-room-view { width: 100vw !important; max-width: none !important; border-radius: 0 !important; }
  .nc-games-header { min-height: 56px; padding: 9px 11px; }
  .nc-games-browser-main { padding: 10px; gap: 10px; }
  .nc-games-profile { display: none; }
  .nc-games-card { grid-template-columns: 42px minmax(0,1fr) auto; padding: 9px; }
  .nc-games-card-icon { width: 42px; height: 42px; }
  .nc-games-card-info p { display: none; }
  .nc-games-card > button { min-width: 82px; padding-inline: 8px; }
  .nc-games-room-view { padding: 9px; }
  .nc-games-match-layout { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .nc-games-card { grid-template-columns: 40px minmax(0,1fr); }
  .nc-games-card > button { grid-column: 1/-1; width: 100%; }
  .nc-games-room-row { flex-direction: column; }
}

/* HF3 FIX1: deterministic launcher placement in the visible left icon rail. */
#ncGamesEdgeRail {
  display: none !important;
}
#ncGamesHubLauncher.nc-games-launcher-force-visible {
  position: fixed !important;
  left: 21px !important;
  right: auto !important;
  top: auto !important;
  bottom: 86px !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  overflow: visible !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 13px !important;
  color: #261800 !important;
  background: linear-gradient(145deg,#ffc94f,#f2a81f) !important;
  box-shadow: 0 7px 19px rgba(0,0,0,.34) !important;
  font-size: 1.2rem !important;
  line-height: 1 !important;
  z-index: 2147483600 !important;
}
#ncGamesHubLauncher.nc-games-launcher-force-visible:hover {
  filter: brightness(1.06);
}
#ncGamesHubLauncher.nc-games-launcher-force-visible:focus-visible {
  outline: 3px solid rgba(255,214,104,.78) !important;
  outline-offset: 2px !important;
}
#ncGamesHubLauncher.nc-games-launcher-force-visible .nc-games-launcher-label {
  display: none !important;
}
@media (max-width: 760px) {
  #ncGamesHubLauncher.nc-games-launcher-force-visible {
    left: 10px !important;
    bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 14px !important;
  }
}


.nc-games-join-code { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:10px; border:1px solid var(--nc-games-border); border-radius:12px; background:rgba(255,255,255,.03); }
.nc-games-code-input { min-height:40px; border:1px solid var(--nc-games-border); border-radius:10px; background:rgba(0,0,0,.22); color:#fff; padding:0 12px; font:inherit; text-transform:uppercase; }
.nc-games-mini-bar { position:fixed; z-index:2147483500; left:84px; bottom:14px; width:min(430px,calc(100vw - 104px)); min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px 9px 13px; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(10,18,34,.96); color:#fff; box-shadow:0 14px 40px rgba(0,0,0,.48); backdrop-filter:blur(10px); }
.nc-games-mini-bar[hidden] { display:none!important; }
.nc-games-mini-bar.is-my-turn { border-color:rgba(36,199,122,.72); box-shadow:0 0 0 2px rgba(36,199,122,.18),0 14px 40px rgba(0,0,0,.48); }
.nc-games-mini-copy { min-width:0; display:grid; gap:3px; }
.nc-games-mini-title { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nc-games-mini-status { color:var(--nc-games-muted); font-size:.76rem; }
.nc-games-mini-bar.is-my-turn .nc-games-mini-status { color:#8ff0bd; font-weight:800; }
.nc-games-share-overlay { position:fixed; inset:0; z-index:2147483550; display:grid; place-items:center; padding:16px; background:rgba(2,7,17,.7); backdrop-filter:blur(5px); }
.nc-games-share-sheet { width:min(520px,96vw); max-height:min(680px,88vh); overflow:auto; padding:15px; border:1px solid var(--nc-games-border); border-radius:18px; background:linear-gradient(160deg,#101a2f,#17223a); color:#fff; box-shadow:0 20px 60px rgba(0,0,0,.58); }
.nc-games-share-head,.nc-games-share-code,.nc-games-share-user { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.nc-games-share-head h3 { margin:0; }
.nc-games-share-code { margin:12px 0; padding:11px; border:1px solid var(--nc-games-border); border-radius:11px; background:rgba(255,255,255,.04); }
.nc-games-share-wide { width:100%; }
.nc-games-share-users { display:grid; gap:7px; margin-top:13px; }
.nc-games-share-user { padding:8px 9px; border-radius:10px; background:rgba(255,255,255,.035); }
.nc-games-share-dock { position:fixed; z-index:2147483450; right:16px; bottom:16px; width:min(390px,calc(100vw - 32px)); display:grid; gap:9px; pointer-events:none; }
.nc-games-share-card { pointer-events:auto; display:grid; gap:7px; padding:12px; border:1px solid rgba(179,148,255,.48); border-radius:14px; background:rgba(13,22,40,.97); color:#fff; box-shadow:0 14px 38px rgba(0,0,0,.48); }
.nc-games-share-card.is-direct { border-color:rgba(36,199,122,.55); }
.nc-games-share-card>span { color:var(--nc-games-muted); font-size:.78rem; }
.nc-games-share-card-actions { display:flex; gap:7px; justify-content:flex-end; }
.nc-draw-mini-bar { position:fixed; z-index:2147483490; left:84px; bottom:82px; width:min(430px,calc(100vw - 104px)); min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px 9px 13px; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(10,18,34,.96); color:#fff; box-shadow:0 12px 34px rgba(0,0,0,.45); }
.nc-draw-mini-bar[hidden]{display:none!important}.nc-draw-mini-copy{display:grid;gap:3px;min-width:0}.nc-draw-mini-copy span{color:#aeb8cc;font-size:.76rem}.nc-draw-mini-bar.is-my-turn{border-color:rgba(36,199,122,.7)}
@media(max-width:760px){.nc-games-mini-bar,.nc-draw-mini-bar{left:8px;right:8px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));}.nc-draw-mini-bar{bottom:calc(140px + env(safe-area-inset-bottom,0px));}.nc-games-share-dock{left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom,0px));width:auto}.nc-games-room-actions{flex-wrap:wrap}.nc-games-join-code{grid-template-columns:1fr}.nc-games-share-card-actions{justify-content:stretch}.nc-games-share-card-actions button{flex:1}}


/* HF5: never expose Games UI on login, registration or guest-entry screens. */
html:not(.nc-games-session-authenticated) #ncGamesHubLauncher,
html:not(.nc-games-session-authenticated) #ncGamesHubPanel,
html:not(.nc-games-session-authenticated) #ncGamesHubBackdrop,
html:not(.nc-games-session-authenticated) #ncGamesMiniBar,
html:not(.nc-games-session-authenticated) #ncGamesShareDock,
html:not(.nc-games-session-authenticated) .nc-draw-mini-bar,
html:not(.nc-games-session-authenticated) #ncDrawGuessLauncher {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* HF5: one obvious host-controlled start flow for every Easy Game. */
.nc-games-lobby {
  width: min(100%, 720px);
}
.nc-games-lobby-versus {
  width: min(100%, 620px);
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 8px 0 4px;
}
.nc-games-lobby-player {
  min-width: 150px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid var(--nc-games-border);
  border-radius: 12px;
  background: rgba(255,255,255,.045);
}
.nc-games-lobby-player.is-host {
  border-color: rgba(255,181,46,.55);
}
.nc-games-lobby-vs {
  align-self: center;
  color: var(--nc-games-muted);
}
.nc-games-lobby-actions {
  width: min(100%, 560px);
  display: grid;
  justify-items: stretch;
  gap: 8px;
  margin-top: 8px;
}
.nc-games-lobby-start {
  width: 100%;
  min-height: 58px;
  font-size: 1rem;
  letter-spacing: .025em;
  box-shadow: 0 12px 28px rgba(74,40,190,.32);
}
.nc-games-lobby-start:disabled {
  box-shadow: none;
}
.nc-games-waiting-host {
  padding: 14px;
  border: 1px solid rgba(255,181,46,.32);
  border-radius: 12px;
  background: rgba(255,181,46,.08);
  color: #ffd98d;
  font-weight: 800;
  text-align: center;
}
@media (max-width: 760px) {
  .nc-games-lobby-player {
    min-width: min(100%, 210px);
  }
  .nc-games-lobby-start {
    min-height: 54px;
  }
}


/* HF6 core consolidation: temporary-match discovery and decisive result/start states. */
.nc-games-discovery-note {
  border: 1px solid var(--nc-games-border);
  border-radius: 14px;
  padding: 13px 14px;
  background: rgba(124,77,255,.08);
}
.nc-games-discovery-note h3 { margin: 0 0 5px; font-size: .95rem; }
.nc-games-discovery-note p { margin: 0; color: var(--nc-games-muted); font-size: .8rem; line-height: 1.45; }
.nc-games-status.is-result {
  width: min(100%,680px);
  border: 1px solid rgba(36,199,122,.42);
  background: rgba(36,199,122,.12);
  color: #b8f6d5;
  font-size: .95rem;
}
.nc-games-lobby-start {
  min-width: min(100%,360px);
  min-height: 54px;
  font-size: 1rem;
  letter-spacing: .02em;
}

/* NEWCHAT_V1175_GAMES_LOBBY_SHARING_CONSOLIDATION_HF7_CSS_END */


/* HF7 unified temporary lobby, inline chat invitation cards and mobile stack */
.nc-games-open-rooms { margin-top:18px; padding:15px; border:1px solid var(--nc-games-border); border-radius:16px; background:rgba(255,255,255,.025); }
.nc-games-open-rooms h3 { margin:0 0 11px; }
.nc-games-open-room-list { display:grid; gap:9px; }
.nc-games-open-room-card { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:rgba(255,255,255,.035); }
.nc-games-open-room-copy { min-width:0; display:grid; gap:3px; }
.nc-games-open-room-copy span,.nc-games-open-room-copy small { color:var(--nc-games-muted); }
.nc-games-share-user-check { justify-content:flex-start; cursor:pointer; }
.nc-games-share-user-check input { width:19px; height:19px; accent-color:#ffc64a; flex:0 0 auto; }
.nc-games-inline-invite { margin-top:8px; display:grid; gap:8px; padding:11px; border:1px solid rgba(255,198,74,.55); border-radius:13px; background:linear-gradient(155deg,rgba(27,38,60,.98),rgba(15,24,43,.98)); color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.28); }
.nc-games-inline-invite.is-unavailable { border-color:rgba(174,184,204,.32); opacity:.82; }
.nc-games-inline-invite-head,.nc-games-inline-invite-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.nc-games-inline-invite-copy { display:grid; gap:3px; color:#dce4f4; }
.nc-games-inline-invite-status { color:#aeb8cc; font-size:.8rem; }
.nc-games-inline-invite-actions button { min-height:38px; }
.nc-games-share-card.is-unavailable { opacity:.78; }
.nc-games-player.is-offline { opacity:.55; }
@media(max-width:760px){
  #ncGamesHubLauncher.nc-games-launcher-force-visible { left:10px!important; bottom:calc(10px + env(safe-area-inset-bottom,0px))!important; }
  .nc-games-mini-bar { left:8px!important; right:8px!important; width:auto!important; bottom:calc(76px + env(safe-area-inset-bottom,0px))!important; }
  .nc-draw-mini-bar { left:8px!important; right:8px!important; width:auto!important; bottom:calc(140px + env(safe-area-inset-bottom,0px))!important; }
  .nc-games-share-dock { left:8px!important; right:8px!important; top:calc(64px + env(safe-area-inset-top,0px))!important; bottom:auto!important; width:auto!important; max-height:46vh; overflow:auto; }
  .nc-games-open-room-card { align-items:stretch; flex-direction:column; }
  .nc-games-open-room-card button { width:100%; }
  .nc-games-inline-invite-actions { display:grid; grid-template-columns:1fr; }
  .nc-games-inline-invite-actions button { width:100%; }
}
/* GAMES_LOBBY_SHARING_CONSOLIDATION_HF7_CSS_END */
