/* ChatVerse v4: arcade, local accounts, responsive polish */
.cv-launch {cursor:pointer;font:900 11px Inter,system-ui,sans-serif}
.cv-launch:hover,.cv-launch:focus-visible {background:rgba(142,98,248,.25);border-color:#b99aff;color:white}
.shortcut-symbol {width:19px;font-size:17px;text-align:center;flex-shrink:0}
.games-shortcut {color:#ded4ff}
.games-shortcut:hover {background:rgba(148,104,249,.21);color:white}
.server-games{background:linear-gradient(145deg,#48316e,#234c73);font-size:24px}
.banner-links{flex-wrap:wrap}
.banner-links button[data-view="games"] {background:rgba(9,14,37,.33);border-color:rgba(248,220,255,.48)}
.app-shell.games-active .members-panel {display:none!important}
@media(min-width:1351px) {
 .app-shell.games-active .app-grid{grid-template-columns:78px 274px minmax(0,1fr)}
}
@media(min-width:1051px) and (max-width:1350px){
 .app-shell.games-active .app-grid{grid-template-columns:67px 226px minmax(0,1fr)}
}
.games-view {background:#0d1426;min-width:0}
.games-header-icon {font-size:21px;line-height:1}
.games-scroll {min-height:0;flex:1;overflow-y:auto;padding:24px clamp(16px,3vw,36px) 40px;scrollbar-color:#6654a3 transparent}
.games-hero {
 position:relative;overflow:hidden;isolation:isolate;
 padding:clamp(22px,3vw,40px);border:1px solid rgba(199,159,255,.35);border-radius:19px;
 background:radial-gradient(circle at 86% 34%,rgba(85,205,243,.35),transparent 34%),linear-gradient(118deg,#4b2b92,#322e82 58%,#1a5075);
 box-shadow:0 13px 35px rgba(31,18,74,.25);
}
.games-hero::after{content:"🎮";position:absolute;font-size:clamp(100px,17vw,205px);right:4%;top:-20px;opacity:.25;transform:rotate(-16deg);z-index:-1;pointer-events:none}
.games-eyebrow {color:#d0c9ff;font-size:10px;font-weight:800;letter-spacing:1.2px}
.games-hero h2 {font-size:clamp(24px,3.2vw,42px);letter-spacing:-1.2px;line-height:1.14;margin:10px 0}
.games-hero p {max-width:520px;margin:0 0 19px;color:#e5e2ff;font-size:13px;line-height:1.55}
.game-hero-action,.game-play{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:11px 18px;background:linear-gradient(135deg,#a773ff,#8a53ed);color:white;font-weight:800;box-shadow:0 7px 18px rgba(30,10,88,.21)}
.game-hero-action{background:white;color:#4c2a8f}
.game-play:hover,.game-hero-action:hover {filter:brightness(1.12)}
.games-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:27px 0 16px}
.games-tools h2{font-size:20px;letter-spacing:-.4px;margin:0}
.games-tools h2 span{display:inline-grid;place-items:center;min-width:24px;height:24px;font-size:11px;color:#cfc2ff;border-radius:8px;background:#35275f;margin-left:5px}
.games-tools button{border:1px solid rgba(180,148,255,.36);color:#e5d9ff;background:#30224e;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:750}
.game-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.game-card{min-width:0;overflow:hidden;border-radius:15px;border:1px solid rgba(172,159,230,.19);background:linear-gradient(145deg,#1d2240,#171e35);box-shadow:0 8px 23px rgba(0,0,0,.14)}
.game-card-art{position:relative;display:flex;align-items:center;justify-content:center;height:clamp(115px,13vw,165px);overflow:hidden;background:radial-gradient(circle at 50% 28%,#6b4bc3,#342b70 70%,#262048)}
.game-card.game-cyan .game-card-art {background:radial-gradient(circle at 50% 23%,#328bb9,#25406f 65%,#232849)}
.game-card.game-orange .game-card-art {background:radial-gradient(circle at 50% 23%,#cf7a81,#783e81 65%,#41254e)}
.game-card-emoji {font-size:clamp(50px,6vw,80px);filter:drop-shadow(0 10px 16px rgba(0,0,0,.15))}
.game-type-tag {position:absolute;left:12px;bottom:10px;padding:5px 8px;font-size:9px;font-weight:800;color:#fff;background:rgba(9,10,24,.35);border:1px solid rgba(255,255,255,.15);border-radius:7px}
.game-card-body {padding:16px}
.game-card-body h3{margin:0 0 7px;font-size:16px}
.game-card-body p{margin:0;color:#9ba9c9;font-size:12px;line-height:1.52;min-height:37px}
.game-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.game-play{font-size:11px;min-height:36px;padding:8px 14px}
.game-delete,.game-reset{border:1px solid rgba(180,148,255,.32);background:#24243f;color:#d7cbfc;border-radius:9px;padding:8px 13px;font-weight:750}
.game-create,.game-stage{margin-top:25px;border:1px solid rgba(160,144,237,.33);background:linear-gradient(125deg,#211e40,#15223b);border-radius:15px;padding:clamp(17px,3vw,30px)}
.game-create-head,.game-stage-head{display:flex;align-items:center;justify-content:space-between;gap:13px}
.game-create-head h2,.game-stage-head h2{margin:0;font-size:21px}
.game-create-head button{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:8px;padding:8px 13px}
.game-create>p,.game-result{color:#b4c0db;font-size:13px;line-height:1.55}
#game-create-form {max-width:520px;display:grid;gap:8px}
#game-create-form label {color:#bec9e4;font-size:12px;font-weight:750;margin-top:7px}
#game-create-form input,#game-create-form select,.guess-form input{width:100%;min-height:43px;min-width:0;border-radius:9px;border:1px solid rgba(177,167,249,.27);background:#141c32;color:white;padding:10px 12px;font-size:14px}
#game-create-form input:focus,#game-create-form select:focus,.guess-form input:focus {outline:2px solid #b18dff}
.game-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.game-actions button{min-height:43px}
.game-stage-head .secondary-button{font-size:12px;padding:8px 13px}
.game-stage-body{padding-top:18px}
#game-stage-body {margin-top:18px}
#game-stage-body .game-result{font-size:15px;color:#e9dfff}
.tic-board {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,310px);margin:17px 0}
.tic-square {aspect-ratio:1;border-radius:10px;background:linear-gradient(145deg,#413875,#292d58);border:1px solid rgba(189,165,255,.3);color:#fff;font-size:clamp(32px,6vw,54px);font-weight:900}
.tic-square:disabled {opacity:1}
.tic-square:not(:disabled):hover {background:#6247a1}
.guess-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px;max-width:490px;margin-bottom:17px}
.guess-form label{flex-basis:100%;font-size:12px;color:#c2cbea}
.guess-form input{flex:1;max-width:240px}
.guess-form button{min-height:43px}
.reaction-button {display:block;width:min(100%,400px);min-height:170px;border:1px solid #a590fb;border-radius:15px;background:#5c3f98;color:#fff;font-weight:850;font-size:21px;margin:10px 0}
.reaction-button.reaction-go{background:#15865d;border-color:#42e6af}
.games-disclaimer{font-size:11px;color:#8295b8;line-height:1.6;margin-top:22px}
.form-feedback{margin-top:12px;padding:9px 10px;border-radius:9px;background:rgba(243,97,126,.1);border:1px solid rgba(251,110,143,.3);color:#ffc0ca;font-size:12px}
.register-card {max-height:calc(100dvh - 36px);overflow-y:auto}
.modal-card input{font-size:16px}
.about-grid{display:grid;grid-template-columns:minmax(90px,35%) 1fr;gap:10px;padding:16px 0;font-size:12px}
.about-grid span{color:#9eabcd}
.about-grid strong{color:#edf1ff;font-weight:700}
.local-account-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(152,137,222,.17);border-radius:10px;color:#afbddb;font-size:11px}
.local-account-status button{padding:7px 10px;font-size:11px}
.mobile-nav-emoji{font-size:20px;line-height:1.1}
.mobile-bottom-nav button {min-width:0}
@media(max-width:1100px){.game-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .games-scroll{padding:18px 13px 50px}
 .games-hero{padding:23px}
 .games-hero h2{font-size:28px}
 .games-tools{margin:23px 0 13px}
 .game-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .game-card-body h3{font-size:15px}
 .game-card-body{padding:12px}
 .game-card-art{height:120px}
 .game-create,.game-stage{padding:19px}
 .game-stage-head{align-items:start}
}
@media(max-width:560px){
 .mobile-bottom-nav{flex-basis:65px;flex-shrink:0;padding-bottom:env(safe-area-inset-bottom,0px)}
 .mobile-bottom-nav button{width:25%;font-size:10px;gap:4px;padding:5px 0}
 .mobile-bottom-nav button svg{width:20px;height:20px}
 .global-header {padding:0 11px}
 .header-actions{gap:7px}
 .header-center {display:flex}
 .header-profile{flex-shrink:0}
 .app-grid{min-height:0}
 .games-view{min-height:0}
 .games-scroll{padding:14px 12px 32px}
 .games-hero{padding:22px 17px}
 .games-hero h2{font-size:25px}
 .games-hero p{font-size:12px}
 .games-hero::after {font-size:100px;right:-8%;opacity:.16}
 .game-cards{grid-template-columns:1fr;gap:12px}
 .game-card{display:grid;grid-template-columns:108px minmax(0,1fr)}
 .game-card-art{height:100%;min-height:137px}
 .game-card-emoji{font-size:44px}
 .game-type-tag{font-size:8px;left:5px;bottom:5px}
 .game-card-body{padding:12px 11px}
 .game-card-body h3{font-size:14px}
 .game-card-body p{font-size:11px;min-height:0}
 .game-card-actions{margin-top:12px}
 .games-tools h2{font-size:18px}
 .games-tools button{font-size:11px}
 .games-header-icon{font-size:19px}
 .games-view .panel-title>span:not(.games-header-icon){display:none}
 .games-view .panel-header .small-button{font-size:10px;padding:9px 10px}
 .game-stage-head h2,.game-create-head h2{font-size:18px}
 .game-stage-head .secondary-button{font-size:10px}
 .tic-board{max-width:280px}
 .modal-overlay{padding:9px}
 .register-card{max-height:calc(100dvh - 18px)}
 .modal-card{width:min(100%,440px);max-height:calc(100dvh - 18px);overflow:auto}
 .friends-layout{grid-template-columns:minmax(104px,31%) minmax(0,1fr)}
 .friends-list{min-width:0}
 .friend-contact b{overflow:hidden;text-overflow:ellipsis}
 .dm-messages{min-width:0}
 .composer input,.dm-compose input{font-size:16px}
}
@media(max-width:350px){
 .brand-words small{display:none}
 .brand-words strong{font-size:18px}
 .games-hero h2{font-size:22px}
 .games-view .panel-header .small-button{padding:8px;font-size:10px}
 .game-card{grid-template-columns:94px minmax(0,1fr)}
}

/* Telefon: boczne menu naprawdę znika poza ekranem, a formularze pozostają dostępne. */
@media(max-width:560px){
  .app-shell:not(.sidebar-open) .channel-sidebar{
    transform:translateX(calc(-100% - 76px))!important;
    visibility:hidden;pointer-events:none;
  }
  .app-shell.sidebar-open .channel-sidebar{
    transform:translateX(0)!important;
    visibility:visible;pointer-events:auto;
  }
  .mobile-bottom-nav button {min-width:0;flex:1}
  .games-scroll,.game-stage,.game-create {min-width:0}
}
