/* Soft Dark: presentation only. Existing actions, visibility and realtime state stay authoritative. */
:root{color-scheme:dark;--bg:#101319;--bg2:#141820;--surface:#1b2029;--surface2:#242b37;--border:#2d3542;--border2:#394353;--accent:#20d9e8;--accent2:#9475e8;--text:#f2f4fa;--text2:#b3bdcf;--text3:#929fb5;--soft-shadow:0 12px 32px #0003}
body{background:var(--bg);font-family:Inter,'Segoe UI',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.gpf-game-grid{filter:saturate(.5);opacity:.7}
.gpf-game-background{background:var(--bg)}
.gpf-game-background::after{background:linear-gradient(180deg,#10131966 0%,#101319c9 48%,#101319 100%),radial-gradient(ellipse at 50% 30%,#101319e8,transparent 90%)}
.navbar{background:#11151df5;border-bottom-color:var(--border);box-shadow:0 4px 24px #0002}
.navbar.app-mode{border-bottom-color:var(--border)}
.logo img,.logo:hover img{filter:none}
.nav-avatar,.pc-avatar,.ci-avatar,.cp-contact-avatar,.profile-avatar-lg{border-radius:50%}
.nav-link{border-radius:12px}
.nav-link.active{color:#d9caff!important;background:#9475e820!important;border-color:#9475e84d!important;box-shadow:none!important}
.btn{border-radius:13px;text-transform:none;letter-spacing:0;font-weight:650;padding:11px 20px;min-height:42px}
.btn-sm{padding:8px 13px;font-size:.8rem}
.btn-primary{box-shadow:0 4px 12px #0002;background:var(--accent);color:#09161b}
.btn-primary:hover{box-shadow:0 7px 18px #0003;background:#56e5ef;transform:translateY(-1px)}
.btn-outline{border:1px solid #20d9e866;background:#20d9e808}
.btn-ghost{background:#ffffff04;border-color:var(--border2);color:var(--text2)}
.btn:active{transform:translateY(1px)}
.btn:disabled{cursor:not-allowed;transform:none;box-shadow:none}
.form-input,.chat-input,.ms-trigger{background:#141820;border-color:var(--border2);border-radius:13px;min-height:44px}
.form-input:focus,.chat-input:focus{box-shadow:0 0 0 3px #20d9e81a}
.form-label{letter-spacing:.25px;text-transform:none;font-size:.79rem;color:var(--text2)}
.form-input::placeholder,.chat-input::placeholder,.cp-input::placeholder{color:#909caf;opacity:1}
.sidebar{background:#151920f5;border-right-color:var(--border);padding:22px 14px}
.sidebar-section{font-size:.65rem;letter-spacing:1.2px;color:var(--text3)}
.sidebar-item{border-radius:14px;min-height:46px;margin-bottom:5px;padding:11px 14px}
.sidebar-item.active{background:#9475e820;border-color:#9475e83d;color:#d6c4ff;box-shadow:inset 3px 0 #ac8bf8}
.sidebar-item:hover{background:#ffffff06}
.app-main{background:linear-gradient(180deg,#10131980,#101319e8 460px);padding:30px 34px 110px}
.section-header{gap:18px;flex-wrap:wrap;margin-bottom:24px}
.section-title{font-size:clamp(1.3rem,2.2vw,1.85rem);letter-spacing:-.6px;text-transform:none;font-weight:750;line-height:1.25}
.section-sub{line-height:1.6;font-size:.9rem;margin-top:7px}
#app-stats-bar{border-radius:20px!important;background:#1b2029ed!important;box-shadow:var(--soft-shadow);position:relative}
.app-stat-label{letter-spacing:.7px;color:var(--text2)}
.filters-bar,.lfg-panel,.info-card,.profile-hero,.friend-card,.req-card,.party-card,.player-card,.action-card{border-radius:22px;background:linear-gradient(135deg,#202631,#191e27);border-color:var(--border);box-shadow:var(--soft-shadow)}
.filters-bar{padding:22px;gap:14px}.lfg-panel{padding:26px;gap:26px}.player-card{padding:20px}.party-card{padding:22px}
.party-two-col>div{min-width:0}
.party-card-header>div{min-width:0}.party-game,.party-mood{overflow-wrap:anywhere}
.party-footer{gap:12px;flex-wrap:wrap}.party-footer>div{flex-wrap:wrap;min-width:0}
.party-tag,.tag,.social-chip,.lfg-pill,.toggle-btn,.lfg-sel-badge{border-radius:999px;text-transform:none;letter-spacing:0}
.party-tag,.tag{padding:5px 10px;font-weight:600}
.party-meta{gap:7px}.party-game{font-size:1.05rem;letter-spacing:-.2px}.party-mood{line-height:1.6;color:var(--text2)}
.player-card::before{display:none}
.player-card:hover,.party-card:hover,.action-card:hover{border-color:#647389;box-shadow:0 16px 36px #0004}
.info-card-title{letter-spacing:.4px;text-transform:none;font-size:.85rem;color:#c5b5ed}
.profile-name{letter-spacing:-.5px}
.modal,.gpf-sheet{border-radius:24px;background:#1b2029;border-color:var(--border2);box-shadow:0 28px 100px #0008}
.modal-title{letter-spacing:-.4px;text-transform:none;color:var(--text)}
.modal-close,.cp-close,.cp-back{border-radius:12px;color:var(--text2)}
.auth-tabs,.gpf-settings-tabs{background:#141820;border-radius:16px;padding:5px;gap:5px;border:1px solid var(--border)}
.auth-tab{border-radius:11px;text-transform:none;border:0;margin:0}.auth-tab.active{background:#9475e824;color:#d6c4ff}
.gpf-settings-tabs button{border-radius:11px}.gpf-settings-tabs button[aria-selected="true"]{background:#9475e824;border-color:#9475e84d;color:#d6c4ff}
.gpf-install{border-radius:13px;border-color:var(--border2);background:#202631;color:var(--text2)}
.gpf-update{background:var(--surface);border-radius:20px}
.gpf-menu-grid button{border-radius:16px}.gpf-menu-grid button[aria-current="page"]{background:#9475e824;border-color:#9475e84d;color:#d6c4ff}
.hero-title{font-weight:780;letter-spacing:-2px;line-height:1.1;font-size:clamp(2.4rem,5.5vw,4.6rem)}
.hero-title .t2{text-shadow:none;color:var(--accent)}
.hero-eyebrow{letter-spacing:1.6px;background:#141820ab;border-color:#71829e59;color:#c6cfe0;padding:9px 18px}
.hero-sub{color:var(--text2)}.stats-row{gap:48px;margin-top:48px}.stat-num{font-weight:750}.stat-label{color:var(--text2);letter-spacing:1px}
.action-cards{margin-top:44px}.action-card{padding:28px}.ac-title{font-weight:700;letter-spacing:0}.ac-cta{text-transform:none;letter-spacing:0}.ac-glow{opacity:.35}
/* Keep both original floating launchers, badges and chat windows. */
#chat-bubble,#gchat-bubble{border:1px solid #ffffff35;box-shadow:0 8px 24px #0006,inset 0 1px 0 #ffffff40}
#chat-bubble:hover,#gchat-bubble:hover{box-shadow:0 10px 28px #0007;transform:translateY(-2px)}
#gchat-bubble{background:#9171dc}
#chat-panel,#gchat-panel{border-radius:23px;background:var(--surface);border-color:var(--border2);box-shadow:0 20px 65px #0007}
#chat-panel-list,#chat-panel-conv{border-radius:22px}
.cp-header,.chat-hdr{background:#202631;border-color:var(--border);padding:12px 16px}
.cp-input-bar,.chat-input-bar{background:#171c24;border-color:var(--border)}
.cp-input{background:#252d3a;border-color:var(--border2);border-radius:16px}
.cp-msg,.msg{border-radius:16px;line-height:1.55}.cp-msg-in,.msg-in{border-bottom-left-radius:5px}
.cp-msg-out,.msg-out{border-bottom-right-radius:5px;background:#20d9e814;border-color:#20d9e832}
.gchat-bubble-msg{border-radius:5px 16px 16px 16px}.gchat-bubble-msg.own{border-radius:16px 5px 16px 16px;background:#9475e824;border-color:#9475e847}
.cp-contact-item{padding:14px 16px}.cp-contact-item.active{background:#9475e818;border-left-color:#ad8ff5}
.sender-bubble{filter:drop-shadow(0 5px 12px #0006)}.sender-bubble-avatar{box-shadow:0 0 0 3px #242b37;border-width:2px}
.chat-layout{border-radius:22px}.toast{border-radius:15px;background:var(--surface2)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.player-card:hover,.party-card:hover,.action-card:hover{transform:translateY(-3px)}}
@media(min-width:901px) and (max-width:1200px){.app-main{padding:24px 22px 110px}.party-two-col{grid-template-columns:1fr!important}}
@media(max-width:900px){
 .app-main{padding:22px max(18px,env(safe-area-inset-right)) calc(var(--mobile-nav-h) + 100px) max(18px,env(safe-area-inset-left))}
 .gpf-mobile-nav{background:#151920fa;border-color:var(--border);box-shadow:0 -6px 24px #0003}
 .gpf-mobile-nav button[aria-current="page"],.gpf-mobile-nav button[aria-expanded="true"]{background:#9475e820;color:#d6c4ff}
 #chat-bubble,#gchat-bubble{bottom:calc(var(--mobile-nav-h) + 14px);width:48px;height:48px;z-index:1300}
 #chat-bubble{right:16px}#gchat-bubble{right:76px}
 .sender-bubble{bottom:calc(var(--mobile-nav-h) + 78px)!important}
 #chat-panel,#gchat-panel,#chat-panel-list,#chat-panel-conv{border-radius:0}
 .cp-header{padding-top:calc(8px + var(--safe-top))}
 .section-title{font-size:1.4rem}.filters-bar,.lfg-panel{padding:18px}.lfg-panel{gap:8px}
 .btn,.toggle-btn{min-height:44px}.party-card,.player-card{padding:18px}.hero-title{letter-spacing:-1.4px}
}
@media(max-width:480px){.app-main{padding-left:14px;padding-right:14px}.filters-bar{padding:14px;gap:10px}.hero-title{font-size:clamp(2rem,8.7vw,2.65rem)}.action-card{padding:24px}.stats-row{gap:24px}.modal{padding:28px 20px 22px}.modal-lg{padding:0}.party-card{padding:16px}.party-footer>.party-slots{width:100%}}
/* Google sign-in shares the existing email authentication dialog. */
.gpf-google-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:46px;border:1px solid #747775;border-radius:12px;background:#131314;color:#e3e3e3;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
.gpf-google-button:hover{background:#242527}.gpf-google-button:disabled{opacity:.55;cursor:wait}.gpf-google-mark{font-size:21px;font-weight:750;color:#e3e3e3}.gpf-google-status{font-size:.75rem;line-height:1.5;color:var(--text2);margin:9px 0;text-align:center}.gpf-auth-divider{display:flex;align-items:center;gap:12px;color:var(--text3);font-size:.75rem;margin:18px 0}.gpf-auth-divider::before,.gpf-auth-divider::after{content:'';height:1px;background:var(--border);flex:1}

/* Soft Dark concept layout: centered squad hero, quiet chrome and illustrated feed. */
:root{--bg:#0c1118;--bg2:#101721;--surface:#171f2a;--surface2:#222d3c;--border:#2c3746;--accent:#00ddea;--accent2:#a57af0}
.gpf-game-grid{opacity:.85;filter:saturate(.65);transform:rotate(-8deg) scale(1.15)}
.gpf-game-background::after{background:linear-gradient(180deg,#0c11185c 0%,#0c1118de 62%,#0c1118 100%),radial-gradient(ellipse at 50% 20%,#0c1118a8,transparent 85%)}
.navbar{background:#0b1019f2;box-shadow:none;border-bottom:1px solid #ffffff08}
.sidebar{background:#0b111aef;border-right:1px solid #ffffff08;padding:24px 14px;gap:2px}
#app-nav-bar{flex-direction:column;flex-wrap:nowrap!important;gap:7px!important;border:0!important;margin:0 0 8px!important;padding:0!important}
#app-nav-bar .nav-link{width:100%;min-height:50px;border:1px solid transparent;border-radius:14px;text-align:left;font-size:.85rem;padding:12px 14px;letter-spacing:0;background:none;color:var(--text2)}
#app-nav-bar .nav-link.active{background:linear-gradient(100deg,#a078ef30,#788bab18)!important;border-color:#8a79ad38!important;color:#f0e7ff!important;box-shadow:inset 4px 0 #ac7bf0!important}
.sidebar-section{font-size:.6rem;padding-top:15px}.sidebar-divider{opacity:.55}
.sidebar-item{font-size:.84rem;font-weight:500;min-height:46px}
.gpf-sidebar-button{font-family:inherit;width:100%;text-align:left;background:none}
.app-main{background:linear-gradient(180deg,#0c11182b,#0c1118eb 600px);padding:20px 32px 110px}
.app-main>div[id^="view-"]{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}
#app-stats-bar{order:5;position:static!important;align-self:center;width:min(100%,700px);margin:35px auto 0!important;background:#121a2499!important;box-shadow:none;border-color:#ffffff0c!important}
.app-stat-item{padding:10px 16px}.app-stat-num{font-size:1rem}.app-stat-label{font-size:.6rem}.app-stat-sep{opacity:.4}
.gpf-squad-hero{text-align:center;padding:14px 0 26px;position:relative}
.gpf-squad-hero h1{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:760;line-height:1.12;letter-spacing:-1.7px;margin:10px 0 9px;color:#f4f6fb}
.gpf-squad-hero h1 span{color:var(--accent)}
.gpf-squad-hero p{font-size:1rem;color:#b5c5dc;margin:0;line-height:1.5}
.gpf-squad-symbol{width:152px;height:94px;position:relative;margin:0 auto;filter:drop-shadow(0 12px 15px #0007)}
.gpf-person{position:absolute;bottom:0;width:62px;height:86px;--person-light:#6ce9ff;--person-main:#04a7c6;--person-dark:#045570}
.gpf-person::before{content:'';position:absolute;top:0;left:13px;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 30% 23%,var(--person-light),var(--person-main) 48%,var(--person-dark) 94%);box-shadow:inset -3px -4px 7px #0003}
.gpf-person::after{content:'';position:absolute;bottom:0;left:0;width:64px;height:44px;border-radius:32px 32px 11px 11px;background:radial-gradient(ellipse at 30% 15%,var(--person-light),var(--person-main) 45%,var(--person-dark));box-shadow:inset -7px -7px 12px #0004,inset 2px 1px 3px #fff2}
.gpf-person-left{left:0;transform:scale(.74);transform-origin:bottom center;--person-light:#c4cfdd;--person-main:#718198;--person-dark:#344354}
.gpf-person-right{right:0;transform:scale(.74);transform-origin:bottom center;--person-light:#c8b4ff;--person-main:#8960d0;--person-dark:#443375}
.gpf-person-center{left:44px;z-index:1}
.landing{max-width:1120px;margin-inline:auto;padding-top:calc(var(--nav-h) + 36px)}
.landing .gpf-squad-symbol{margin-bottom:20px}.hero-eyebrow{margin-bottom:18px;letter-spacing:1.1px;font-size:.65rem}
.hero-title{font-size:clamp(2.5rem,5.3vw,4.7rem);text-transform:none;letter-spacing:-2px}.hero-title .t2{display:inline}
.hero-sub{margin-bottom:28px}.hero-cta .btn{min-height:48px;border-radius:14px}
.stats-row{margin-top:35px}.action-cards{margin-top:34px}
.lfg-panel{background:#141c27e8;padding:24px;border-radius:20px;box-shadow:0 12px 36px #0002}
.lfg-panel .form-group{margin-bottom:18px}.lfg-panel .toggle-row{gap:6px}.lfg-panel .toggle-btn{padding:8px 11px;font-size:.79rem}
.gpf-party-layout{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
.gpf-party-layout>div:first-child{display:flex;flex-direction:column;min-width:0}
.gpf-party-layout>div:first-child>div:first-child{order:1;margin:0 0 14px!important}
.gpf-party-filters{order:0;display:flex;align-items:stretch;gap:10px;margin-bottom:28px}
#party-posts-list{order:2}
.gpf-party-filters label{display:flex;flex-direction:column;background:linear-gradient(130deg,#202a37,#161e29);border:1px solid #334152;border-radius:16px;min-width:0;padding:11px 13px;gap:3px}
.gpf-party-filters label>span{font-size:.73rem;color:#e9eef7;white-space:nowrap;font-weight:600}
.gpf-game-filter{flex:1.2}.gpf-extra-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:3;gap:10px;min-width:0}
.gpf-party-filters .form-input{border:0;box-shadow:none;background:transparent;padding:2px 0!important;font-size:.76rem!important;min-height:25px;color:#b6c8e2;border-radius:5px}
.gpf-party-filters select option{background:#17212e;color:#f4f6fb}.gpf-party-filters label:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #00ddea18}
.gpf-create-party{white-space:nowrap;padding:12px 20px;border-radius:16px;align-self:stretch;font-size:.84rem}
.gpf-feed-title{font-size:1.12rem;font-weight:700;letter-spacing:-.3px;margin:0}
.gpf-party-row{display:grid;grid-template-columns:180px minmax(0,1fr);padding:0!important;overflow:hidden;border-radius:18px;margin-bottom:12px;background:linear-gradient(120deg,#1b2532f5,#151e29f5);border-color:#354354a8;box-shadow:0 7px 22px #0002}
.gpf-party-art{position:relative;min-height:176px;background:#1a2536;overflow:hidden}
.gpf-party-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 40%}
.gpf-party-art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#17212c38)}
.gpf-party-art-fallback{display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,#00ddea26,transparent 70%),linear-gradient(145deg,#273143,#111a28)}
.gpf-party-art-fallback span{font-size:2.5rem;filter:drop-shadow(0 8px 8px #0006)}
.gpf-party-content{padding:17px 20px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.gpf-party-content .party-card-header{margin-bottom:8px;gap:10px;align-items:center}
.gpf-party-content .party-card-header>img,.gpf-party-content .party-card-header>div:first-child{border-radius:50%!important;flex-shrink:0}
.gpf-party-content .party-game{font-size:1rem;color:#f0f3fa;font-weight:700}
.gpf-party-content .party-author{font-size:.72rem;line-height:1.4}
.gpf-party-content .party-meta{margin-bottom:7px;gap:5px}.gpf-party-content .party-tag{font-size:.66rem;padding:3px 8px;line-height:1.4}
.gpf-party-content .party-mood{font-size:.8rem;margin-bottom:10px;line-height:1.5}
.gpf-party-content .party-footer{padding-top:8px;margin-top:auto;gap:10px;border-color:#ffffff0b}
.gpf-party-content .party-slots{font-size:.72rem;color:#b7c9e1!important}
.gpf-party-content .party-footer .btn{min-height:38px;padding:8px 14px;font-size:.75rem;border-radius:11px}
.gpf-party-content .party-footer>div:last-child{flex-wrap:wrap}
.gpf-party-layout>div:last-child{padding:22px;background:#131d28aa;border:1px solid #ffffff0c;border-radius:20px}
.empty-state{background:#111b27ad;border:1px dashed #334357;border-radius:20px;padding:36px 18px}
@media(min-width:1400px){.gpf-party-row{grid-template-columns:220px minmax(0,1fr)}.gpf-party-art{min-height:188px}}
@media(max-width:1150px){.gpf-party-filters{flex-wrap:wrap}.gpf-create-party{width:100%;min-height:46px}.gpf-party-row{grid-template-columns:150px minmax(0,1fr)}.app-main{padding-left:24px;padding-right:24px}}
@media(max-width:900px){
 .app-main{padding:15px 18px calc(var(--mobile-nav-h) + 90px)}
 .gpf-squad-hero{padding:10px 0 24px}.gpf-squad-hero h1{font-size:2.2rem;letter-spacing:-1px;max-width:430px;margin:10px auto}.gpf-squad-hero p{font-size:.85rem}
 .gpf-squad-symbol{transform:scale(.82);transform-origin:bottom center;height:82px;margin-top:-7px}
 .gpf-mobile-nav{background:#0b111bf7}.gpf-mobile-nav button[aria-current="page"]{color:var(--accent);background:#00ddea0b}
 .gpf-party-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}
 .gpf-extra-filters{display:contents}.gpf-party-filters label{padding:9px 12px;border-radius:14px}
 .gpf-create-party{grid-column:1/-1;min-height:46px;border-radius:13px}
 .gpf-party-row{grid-template-columns:112px minmax(0,1fr);border-radius:16px}.gpf-party-art{min-height:166px}
 .gpf-party-content{padding:13px}.gpf-party-content .party-card-header>img,.gpf-party-content .party-card-header>div:first-child{display:none!important}
 .gpf-party-content .party-game{font-size:.91rem}.gpf-party-content .party-footer{gap:8px}.gpf-party-content .party-footer .btn{min-height:44px;padding:8px 11px}
 .gpf-party-layout>div:last-child{padding:16px}.gpf-feed-title{font-size:1.05rem}
 .landing{padding-top:calc(var(--nav-h) + 28px)}.hero-title .t2{display:block}.landing .gpf-squad-symbol{margin-bottom:14px}
 .lfg-panel{padding:18px}.hero-sub{font-size:.94rem}
}
@media(max-width:480px){
 .app-main{padding-left:13px;padding-right:13px}.gpf-squad-hero h1{font-size:2rem;max-width:320px}.gpf-squad-hero h1 span{display:block}
 .gpf-party-row{grid-template-columns:86px minmax(0,1fr)}.gpf-party-content{padding:12px 10px}.gpf-party-content .party-game{font-size:.84rem}.gpf-party-content .party-author{font-size:.65rem}.gpf-party-content .party-mood{font-size:.74rem}
 .gpf-party-content .party-footer{flex-direction:column;align-items:flex-start}.gpf-party-content .party-tag{font-size:.61rem;padding:3px 6px}.gpf-party-content .party-footer>div:last-child{width:100%}
 .gpf-party-content .party-footer .btn{flex:1;font-size:.7rem}.gpf-party-art img{object-position:center center}.gpf-party-filters label>span{font-size:.7rem}
 #app-stats-bar{margin-top:25px!important}.app-stat-num{font-size:.95rem}.app-stat-label{font-size:.56rem}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.gpf-squad-symbol{transition:transform .25s}.gpf-squad-symbol:hover{transform:translateY(-4px) rotate(-3deg)}}
