/* Bilard.online global header v16 — aligned forum-native navigation */
:root{--bo-head:#0b141f;--bo-head2:#0e1926;--bo-line:rgba(255,255,255,.085);--bo-text:#eaf2fb;--bo-muted:#8fa1b5;--bo-accent:#38bdf8;--bo-accent2:#0ea5e9;--bo-shell:1440px;--bo-gutter:16px}
*{box-sizing:border-box}
.bo-header{position:sticky;top:0;z-index:1000;width:100%;color:var(--bo-text);background:linear-gradient(180deg,#0e1824 0%,#0a131d 100%);border-bottom:1px solid var(--bo-line);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.bo-header__inner{width:min(var(--bo-shell),100%);min-height:74px;margin:0 auto;padding:0 var(--bo-gutter);display:flex;align-items:center;gap:18px}
.bo-brand{display:flex;align-items:center;gap:11px;min-width:0;color:#fff;text-decoration:none;flex:0 0 auto}.bo-brand img{width:44px;height:44px;object-fit:contain;display:block;flex:0 0 auto}.bo-brand__copy{display:flex;flex-direction:column;min-width:0;line-height:1.08}.bo-brand__copy strong{font-size:19px;letter-spacing:.15px;font-weight:820;color:#fff}.bo-brand__copy span{margin-top:5px;color:#8999ad;font-size:10px;font-weight:600;white-space:nowrap;max-width:330px;overflow:hidden;text-overflow:ellipsis}
.bo-nav-divider{width:1px;height:34px;background:rgba(255,255,255,.09);flex:0 0 auto;margin:0 2px}.bo-nav{display:flex;align-items:center;gap:4px;min-width:0}.bo-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 13px;color:#b9c7d6;text-decoration:none;font-size:13px;font-weight:760;border:1px solid transparent;border-radius:7px;transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.bo-nav a:hover{color:#fff;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.045)}.bo-nav a.active{color:#eaf8ff;background:rgba(14,165,233,.10);border-color:rgba(56,189,248,.14);box-shadow:inset 0 0 0 1px rgba(56,189,248,.025)}
.bo-actions{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}.bo-quicklinks{display:flex;align-items:center;gap:2px;min-width:0}.bo-quicklinks a{display:inline-flex;align-items:center;min-height:34px;padding:0 8px;color:#9fb0c3;text-decoration:none;font-size:11px;font-weight:700;border-radius:5px;transition:.15s ease;white-space:nowrap}.bo-quicklinks a:hover{color:#fff;background:rgba(255,255,255,.045)}.bo-quicklinks .danger{color:#d7a3a3}.bo-quicklinks .danger:hover{color:#ffc3c3;background:rgba(239,68,68,.07)}
.bo-status{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 8px;color:#9fb0c3;font-size:11px;font-weight:700;white-space:nowrap}.bo-status i{width:7px;height:7px;border-radius:50%;background:#35d399;box-shadow:0 0 0 3px rgba(53,211,153,.08)}.bo-status strong{color:#fff;font-variant-numeric:tabular-nums}
.bo-account,.bo-login{display:inline-flex;align-items:center;min-height:40px;color:#edf6ff;text-decoration:none;transition:.16s ease}.bo-account{gap:9px;max-width:220px;padding:3px 0 3px 10px;border:0;border-left:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent}.bo-account:hover{color:#fff}.bo-account:hover .bo-account__text strong{color:#7dd3fc}.bo-avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:transparent;border:1px solid rgba(125,211,252,.34);color:#bdeaff;font-size:10.5px;font-weight:850;flex:0 0 auto}.bo-account__text{display:flex;flex-direction:column;min-width:0;line-height:1.05}.bo-account__text strong{font-size:11.5px;color:#eef7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.bo-account__text span{margin-top:4px;color:#788ba1;font-size:9px;white-space:nowrap}.bo-login{justify-content:center;padding:7px 11px;border:1px solid rgba(56,189,248,.16);border-radius:6px;background:rgba(14,165,233,.07);font-size:12px;font-weight:800}.bo-login:hover{background:rgba(14,165,233,.13);border-color:rgba(56,189,248,.26);color:#fff}
.bo-burger{display:none;position:relative;width:41px;height:40px;padding:0;border:1px solid rgba(255,255,255,.10);border-radius:8px;background:#101b28;color:#fff;cursor:pointer;align-items:center;justify-content:center;transition:.16s ease}.bo-burger:hover{background:#142437;border-color:rgba(56,189,248,.25)}.bo-burger__icon{position:relative;width:19px;height:14px;display:block}.bo-burger__icon i{position:absolute;left:0;width:19px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,top .2s ease,opacity .15s ease}.bo-burger__icon i:nth-child(1){top:0}.bo-burger__icon i:nth-child(2){top:6px}.bo-burger__icon i:nth-child(3){top:12px}.bo-burger.is-open .bo-burger__icon i:nth-child(1){top:6px;transform:rotate(45deg)}.bo-burger.is-open .bo-burger__icon i:nth-child(2){opacity:0}.bo-burger.is-open .bo-burger__icon i:nth-child(3){top:6px;transform:rotate(-45deg)}
.bo-mobile{display:none;position:absolute;left:0;right:0;top:100%;background:#0f1a27;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 18px 35px rgba(0,0,0,.32)}.bo-mobile.open{display:block}.bo-mobile__panel{width:min(var(--bo-shell),100%);margin:0 auto;padding:10px var(--bo-gutter) 14px}.bo-mobile__identity{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 2px 10px;margin-bottom:7px;border-bottom:1px solid rgba(255,255,255,.07)}.bo-mobile__identity .bo-account{border-left:0;padding:0;max-width:75%}.bo-mobile__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bo-mobile__links a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.065);border-radius:7px;background:#152233;color:#dce7f2;text-decoration:none;font-size:13px;font-weight:730}.bo-mobile__links a:hover,.bo-mobile__links a.active{color:#fff;background:#183047;border-color:rgba(56,189,248,.22)}.bo-mobile__links a.active{box-shadow:none}.bo-mobile__links .danger{color:#ffb0b0}.bo-mobile__links .wide{grid-column:1/-1}.bo-mobile__divider{grid-column:1/-1;height:1px;background:rgba(255,255,255,.07);margin:2px 0}.bo-auth-slot:not([hidden]){display:contents}.bo-auth-slot[hidden]{display:none!important}
.container,.game-home,.game-page-head,.profile-container,.game-footer,.wrap,footer.container{max-width:var(--bo-shell)!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:900px){.bo-header__inner{min-height:62px;padding:0 10px;gap:10px}.bo-nav,.bo-nav-divider,.bo-quicklinks{display:none}.bo-burger{display:inline-flex}.bo-actions{gap:7px}.bo-actions>.bo-account,.bo-actions>.bo-login{display:none}.bo-brand{gap:9px}.bo-brand img{width:39px;height:39px}.bo-brand__copy strong{font-size:17px}.bo-brand__copy span{font-size:9px;max-width:220px}.bo-status{min-height:36px;padding:6px 7px;font-size:11px}.bo-mobile__panel{padding-left:10px;padding-right:10px}}
@media(min-width:901px){.bo-mobile{display:none!important}}
@media(max-width:520px){.bo-brand__copy span{display:none}.bo-brand img{width:37px;height:37px}.bo-brand__copy strong{font-size:16.5px}.bo-status span{display:none}.bo-status{padding:6px 5px}.bo-mobile__links{grid-template-columns:1fr}.bo-mobile__divider,.bo-mobile__links .wide{grid-column:auto}}

/* ===== v17: jedna globalna oś treści =====
   Header i zawartość korzystają z DOKŁADNIE tej samej szerokości.
   Dzięki temu lewa/prawa krawędź treści pokrywa się z logo/headerem. */
:root{
  --bo-shell:1440px;
  --bo-page-gap:20px;
}

.bo-header__inner,
.bo-mobile__panel{
  width:min(var(--bo-shell), calc(100% - (var(--bo-page-gap) * 2))) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Gra: główne powierzchnie zaczynają się dokładnie pod logo. */
body > .container.game-home,
body > .wrap,
body > .game-page-head,
body > .profile-container,
body > footer.container{
  width:min(var(--bo-shell), calc(100% - (var(--bo-page-gap) * 2))) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Strona główna nie może ponownie centrować hero w węższym kontenerze. */
body > .container.game-home > .home-hero,
body > .container.game-home > section,
body > .container.game-home > .home-grid{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Forum: główny kontener po headerze ma tę samą oś co logo. */
body > .container{
  width:min(var(--bo-shell), calc(100% - (var(--bo-page-gap) * 2))) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Lobby zachowuje swój stół/JS; zmieniamy wyłącznie zewnętrzną oś layoutu. */
body > .wrap{
  padding-left:0 !important;
  padding-right:0 !important;
}

@media(max-width:900px){
  :root{--bo-page-gap:10px}
  .bo-header__inner,
  .bo-mobile__panel{
    width:calc(100% - 20px) !important;
  }
  body > .container.game-home,
  body > .wrap,
  body > .game-page-head,
  body > .profile-container,
  body > footer.container,
  body > .container{
    width:calc(100% - 20px) !important;
  }
  body > .wrap{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}


/* v19 forum: zewnętrzna treść ma tę samą oś co header */
body > .container{
  width:min(var(--bo-shell), calc(100% - (var(--bo-page-gap) * 2))) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}


/* ===== v28: dopracowane menu mobilne + licznik grających ===== */
@media(max-width:900px){
  .bo-mobile{
    background:rgba(9,16,27,.98);
    border-top:1px solid rgba(255,255,255,.065);
    border-bottom:1px solid rgba(255,255,255,.075);
    box-shadow:0 24px 48px rgba(0,0,0,.42);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .bo-mobile__panel{padding-top:12px;padding-bottom:14px;}
  .bo-mobile__links{gap:8px;}
  .bo-mobile__links a{
    position:relative;min-height:46px;padding:10px 12px;
    border:1px solid rgba(255,255,255,.065);border-radius:9px;
    background:rgba(255,255,255,.025);color:#d7e2ef;box-shadow:none;
    transition:background .15s ease,border-color .15s ease,color .15s ease;
  }
  .bo-mobile__links a:hover{color:#fff;background:rgba(56,189,248,.075);border-color:rgba(56,189,248,.16);}
  .bo-mobile__links a.active{
    color:#f5fbff;background:linear-gradient(180deg,rgba(14,165,233,.11),rgba(14,165,233,.055));
    border-color:rgba(56,189,248,.18);box-shadow:none !important;
  }
  .bo-mobile__links a.active::before,.bo-mobile__links a.active::after{content:none !important;display:none !important;}
  .bo-mobile__divider{margin:3px 2px;background:rgba(255,255,255,.06);}
  .bo-playing-badge{
    margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    min-width:36px;height:24px;padding:0 8px;border-radius:999px;
    border:1px solid rgba(52,211,153,.22);background:rgba(52,211,153,.085);color:#b7f7d9;
    font-size:11px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.01em;
  }
  .bo-playing-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.10),0 0 9px rgba(52,211,153,.35);}
  .bo-playing-badge[hidden]{display:none!important;}
}


/* ===== Bilard.online v29 — mobile nav fixes only ===== */
@media (max-width:900px){
  /* index/profile: nie pokazuj desktopowego konta/nazwy obok burgera */
  .bo-actions > .bo-auth-slot{
    display:none !important;
  }

  /* lobby ma starsze reguły #mobileMenu z !important — ta reguła świadomie je nadpisuje */
  #mobileMenu.bo-mobile.open,
  #forumNav.bo-mobile.open,
  #boMobileMenu.bo-mobile.open{
    display:block !important;
  }
}


/* ===== Bilard.online v30 — global playing counter + mobile account identity ===== */
.bo-playing-badge{
  margin-left:7px;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:31px;
  height:20px;
  padding:0 7px;
  border-radius:999px;
  border:1px solid rgba(52,211,153,.20);
  background:rgba(52,211,153,.075);
  color:#b7f7d9;
  font-size:10px;
  line-height:1;
  font-weight:850;
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
  vertical-align:middle;
}
.bo-playing-badge::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:#34d399;
  box-shadow:0 0 7px rgba(52,211,153,.42);
}
.bo-playing-badge[hidden]{display:none!important;}

.bo-nav a{
  display:inline-flex;
  align-items:center;
}
.bo-nav .bo-playing-badge{
  transform:translateY(-.5px);
}

.bo-mobile__identity[hidden]{display:none!important;}
.bo-mobile__identity{
  min-height:48px;
}
.bo-mobile__identity .bo-account{
  min-width:0;
  flex:1 1 auto;
}
.bo-mobile__identity .bo-account__text strong{
  max-width:190px;
}
.bo-mobile__identity-state{
  flex:0 0 auto;
  color:#78a0bd;
  font-size:10px;
  font-weight:750;
  white-space:nowrap;
}

@media(max-width:900px){
  .bo-mobile__links .bo-playing-badge{
    margin-left:auto;
    min-width:36px;
    height:24px;
    padding:0 8px;
    font-size:11px;
  }
  .bo-mobile__links .bo-playing-badge::before{
    width:6px;
    height:6px;
    box-shadow:0 0 0 3px rgba(52,211,153,.10),0 0 9px rgba(52,211,153,.35);
  }
}


/* ===== Bilard.online v31 — narrower global shell + desktop playing badge ===== */
:root{
  --bo-shell:1440px;
}

.bo-nav .bo-playing-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  min-width:31px !important;
  height:20px !important;
  margin-left:7px !important;
  padding:0 7px !important;
  border:1px solid rgba(52,211,153,.28) !important;
  border-radius:999px !important;
  background:rgba(52,211,153,.10) !important;
  color:#6ee7b7 !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:850 !important;
  box-shadow:inset 0 0 0 1px rgba(52,211,153,.025) !important;
}
.bo-nav .bo-playing-badge::before{
  content:"" !important;
  display:block !important;
  width:5px !important;
  height:5px !important;
  flex:0 0 5px !important;
  border-radius:50% !important;
  background:#34d399 !important;
  box-shadow:0 0 7px rgba(52,211,153,.55) !important;
}
.bo-nav .bo-playing-badge[hidden]{
  display:none !important;
}

/* ===== Bilard.online v32 — global shell ===== */
:root{
  --bo-shell:1440px;
}


/* ===== Bilard.online v42 — global system typography ===== */
html,
body,
button,
input,
select,
textarea,
option{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
}

body{
  font-weight:400;
  letter-spacing:-0.01em;
}

.bo-brand__copy strong,
.bo-nav a,
.bo-account__text strong,
.bo-mobile__links a,
button,
.btn,
.button{
  font-weight:700;
}

h1,h2,h3,h4,h5,h6,
.hero-title,
.section-title,
.card-title{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  font-weight:800;
  letter-spacing:-0.025em;
}

p,
small,
label,
input,
textarea,
select{
  letter-spacing:-0.008em;
}
