
:root{
  --bg:#04070a;--bg2:#071017;--panel:#0a151c;--panel2:#0d1c24;
  --text:#effcff;--muted:#93a8b0;--cyan:#8df2ff;--cyan2:#30d5e9;
  --line:rgba(141,242,255,.14);--line2:rgba(141,242,255,.26);--max:1220px;
  --shadow:0 18px 50px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:
radial-gradient(circle at 20% 0,rgba(48,213,233,.09),transparent 32rem),
linear-gradient(180deg,#04070a,#05090d 45%,#04070a);color:var(--text);
font:16px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}
.wrap{max-width:var(--max);margin:auto}.header{position:sticky;top:0;z-index:60;background:rgba(4,7,10,.84);
backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{height:78px;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center}
.brand img{width:50px;height:50px;object-fit:contain}.brand b{display:block;letter-spacing:.08em}.brand small{display:block;color:var(--muted)}
.links{display:flex;gap:17px;align-items:center}.links a:not(.btn):hover{color:var(--cyan)}.hamb{display:none;background:transparent;color:#fff;
border:1px solid var(--line);padding:8px 11px;border-radius:9px}.hero{min-height:88vh;display:grid;place-items:center;padding:72px 22px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background-image:
linear-gradient(rgba(141,242,255,.038) 1px,transparent 1px),
linear-gradient(90deg,rgba(141,242,255,.038) 1px,transparent 1px);background-size:44px 44px;
mask-image:linear-gradient(black,transparent 90%)}
.hero-grid{width:100%;max-width:var(--max);display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center;position:relative}
.eyebrow{color:var(--cyan2);font-size:.74rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.hero h1{font-size:clamp(3.1rem,7vw,6.9rem);line-height:.9;letter-spacing:-.067em;margin:12px 0 24px}.hero h1 span{color:var(--cyan)}
.lead{color:#bdccd1;font-size:1.14rem;max-width:740px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 20px;border-radius:10px;border:1px solid var(--line);
font-weight:850;transition:.2s;background:transparent;color:var(--text)}.btn:hover{transform:translateY(-2px);border-color:var(--line2)}
.btn.primary{background:linear-gradient(135deg,var(--cyan),var(--cyan2));color:#031014;border:0;box-shadow:0 0 30px rgba(48,213,233,.18)}
.btn.small{min-height:40px;padding:0 14px;font-size:.9rem}.crest{min-height:540px;display:grid;place-items:center;position:relative}.crest:before{content:"";
position:absolute;width:390px;height:390px;background:rgba(48,213,233,.17);filter:blur(92px);border-radius:50%}.crest img{position:relative;width:min(100%,630px);
filter:drop-shadow(0 25px 50px #000)}.stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:620px;margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}
.stats b{display:block;color:var(--cyan);font-size:1.5rem}.stats span{color:var(--muted);font-size:.8rem}.ticker{border-block:1px solid var(--line);background:rgba(141,242,255,.024)}
.ticker-track{max-width:var(--max);margin:auto;padding:13px 22px;display:flex;justify-content:space-between;gap:24px;color:#b9cbd1;font-size:.82rem;letter-spacing:.06em}
.ticker strong{color:var(--cyan)}.section{padding:96px 22px}.alt{background:rgba(255,255,255,.017);border-block:1px solid var(--line)}.heading{margin-bottom:34px}
.heading h2,.subhero h1{font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.05;margin:7px 0 12px}.heading>p:last-child{max-width:760px;color:var(--muted)}
.grid2{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card,.panel,.quote,.cta,.statcard{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.013));
padding:27px;box-shadow:var(--shadow)}.card p,.panel p,.quote p,.statcard p{color:var(--muted)}.quote{display:flex;flex-direction:column;justify-content:center}.quote strong{font-size:1.5rem;line-height:1.35}
.gamegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.game{min-height:265px;transition:.2s}.game:hover{transform:translateY(-4px);border-color:var(--line2)}
.ico{font-size:2.2rem}.tag{font-size:.7rem;color:var(--cyan2)!important;font-weight:900;letter-spacing:.15em}.game h3{font-size:1.35rem;margin:5px 0}.game a,.textlink{color:var(--cyan);font-weight:800}
.timeline{position:relative}.timeline:before{content:"";position:absolute;left:78px;top:0;bottom:0;width:1px;background:var(--line)}.event{display:grid;grid-template-columns:105px 1fr;gap:22px;padding:20px 0;position:relative}
.event:before{content:"";position:absolute;left:72px;top:33px;width:12px;height:12px;border:2px solid var(--cyan2);background:var(--bg);border-radius:50%}.event.live:before{background:var(--cyan);box-shadow:0 0 20px rgba(48,213,233,.5)}
.year{font-size:.78rem;font-weight:900;color:var(--cyan2)}.event p{margin:0;color:var(--muted)}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.value span{font-size:2rem}.value h3{margin:8px 0}
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.news time{color:var(--cyan2);font-size:.75rem;font-weight:900}.news h3{margin:7px 0}.join{display:grid;grid-template-columns:210px 1fr;gap:34px;align-items:center}
.join img{width:210px;filter:drop-shadow(0 18px 35px #000)}.subhero{text-align:center;padding:82px 22px 58px;border-bottom:1px solid var(--line)}.subhero img{width:150px;margin:0 auto 20px}.subhero .lead{margin-inline:auto}
.content{max-width:920px;margin:auto}.content h2{margin-top:42px}.content p,.content li{color:#bac9cf}.content .panel{margin:22px 0}.division-list{display:grid;gap:16px}.division-row{display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center}
.teamgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.role{color:var(--cyan2);font-size:.75rem;font-weight:900;letter-spacing:.12em}.faq{display:grid;gap:12px}.faq details{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.02);padding:16px 18px}.faq summary{cursor:pointer;font-weight:800}.faq p{color:var(--muted)}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.badge{border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:#bcd0d6;font-size:.8rem}.hero-mini{display:grid;grid-template-columns:1fr 420px;gap:32px;align-items:center}
.hero-mini .symbol{font-size:8rem;text-align:center;filter:drop-shadow(0 0 28px rgba(48,213,233,.15))}.checklist{display:grid;gap:10px;margin:18px 0}.check{display:flex;gap:10px;align-items:flex-start}.check span{color:var(--cyan)}
.form{display:grid;gap:14px}.form label{display:grid;gap:6px;font-weight:800}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:10px;background:#071017;color:#fff;padding:12px 13px;outline:none}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--cyan2)}.form textarea{min-height:120px;resize:vertical}
.notice{padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(48,213,233,.04);color:#bcd0d6}.output{white-space:pre-wrap;background:#020507;border:1px solid var(--line);padding:18px;border-radius:12px;color:#d8edf2;min-height:140px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-card{aspect-ratio:16/10;display:grid;place-items:center;border:1px dashed var(--line2);border-radius:16px;background:linear-gradient(135deg,#08131a,#0c1b23);color:var(--muted);text-align:center;padding:18px}
.eventcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.eventcard .date{display:inline-block;color:var(--cyan2);font-size:.76rem;font-weight:900;letter-spacing:.12em}.footer{padding:30px 22px;border-top:1px solid var(--line);background:#020406}.footer .wrap{display:grid;grid-template-columns:1fr auto;gap:24px;color:var(--muted)}
.footer b{color:white}.footer a{color:var(--cyan)}.domain{font-weight:900;color:var(--cyan)!important}.legal{font-size:.86rem;text-align:right}
@media(max-width:980px){.links{display:none;position:absolute;top:78px;left:14px;right:14px;flex-direction:column;align-items:flex-start;padding:18px;background:#071016;border:1px solid var(--line);border-radius:14px}.links.open{display:flex}.hamb{display:block}.hero-grid,.grid2,.join,.hero-mini{grid-template-columns:1fr}.crest{min-height:auto}.crest img{width:min(78vw,520px)}.gamegrid,.newsgrid,.teamgrid,.grid3,.gallery,.eventcards{grid-template-columns:1fr 1fr}.values{grid-template-columns:1fr 1fr}.ticker-track{flex-wrap:wrap;justify-content:center}}
@media(max-width:640px){.brand div{display:none}.gamegrid,.newsgrid,.teamgrid,.grid3,.gallery,.eventcards,.values{grid-template-columns:1fr}.stats{grid-template-columns:1fr;gap:10px}.timeline:before{left:9px}.event{grid-template-columns:1fr;padding-left:32px;gap:2px}.event:before{left:3px}.division-row{grid-template-columns:48px 1fr}.division-row .btn{grid-column:1/-1}.footer .wrap{grid-template-columns:1fr}.legal{text-align:left}.hero-mini .symbol{font-size:5.5rem}}


/* QPS Member Hub */
.portal-shell{max-width:1180px;margin:0 auto;padding:48px 22px 90px}
.portal-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:24px}
.portal-user{display:flex;align-items:center;gap:12px}.portal-user img{width:48px;height:48px;border-radius:50%;border:1px solid var(--line)}
.portal-grid{display:grid;grid-template-columns:260px 1fr;gap:20px}
.portal-nav{align-self:start;position:sticky;top:100px}.portal-nav a{display:block;padding:10px 12px;border-radius:9px;color:#b9cbd1}
.portal-nav a:hover,.portal-nav a.active{background:rgba(141,242,255,.06);color:var(--cyan)}
.portal-main{min-width:0}.portal-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.013));padding:24px;margin-bottom:18px}
.portal-card h2,.portal-card h3{margin-top:0}.status-ok{color:#7df5bd}.status-warn{color:#ffd37a}.status-bad{color:#ff8c8c}
.meta{color:var(--muted);font-size:.88rem}.avatar-lg{width:96px;height:96px;border-radius:50%;border:2px solid var(--line2)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}
.form-grid label{display:grid;gap:6px;font-weight:750}.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid var(--line);border-radius:10px;background:#071017;color:#fff;padding:12px 13px}
.form-grid textarea{min-height:120px;resize:vertical}.gallery-admin{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery-item{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#071017}.gallery-item img{width:100%;aspect-ratio:16/10;object-fit:cover}
.gallery-item .info{padding:13px}.gallery-item.pending{outline:1px solid #ffd37a}.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:.75rem;color:#bcd0d6}
.alert{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(141,242,255,.04);margin-bottom:16px}.alert.error{border-color:rgba(255,100,100,.4)}
@media(max-width:850px){.portal-grid{grid-template-columns:1fr}.portal-nav{position:static}.portal-nav .panel{display:flex;gap:6px;flex-wrap:wrap}.portal-nav a{display:inline-block}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.gallery-admin{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gallery-admin{grid-template-columns:1fr}.portal-top{align-items:flex-start;flex-direction:column}}


/* QPS Gallery V6 */
.gallery-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.gallery-filter{border:1px solid var(--line);background:#071017;color:#d8edf2;border-radius:999px;padding:8px 13px;cursor:pointer;font-weight:800}
.gallery-filter:hover,.gallery-filter.active{border-color:var(--cyan2);color:#031014;background:linear-gradient(135deg,var(--cyan),var(--cyan2))}
.qps-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.qps-shot{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#071017;transition:.2s;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.qps-shot:hover{transform:translateY(-4px);border-color:var(--line2)}
.qps-shot .image-wrap{position:relative;aspect-ratio:16/10;overflow:hidden;background:#05080b;cursor:zoom-in}
.qps-shot img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.qps-shot:hover img{transform:scale(1.025)}
.qps-shot .overlay{position:absolute;inset:auto 0 0 0;padding:26px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.qps-shot .category{display:inline-block;padding:4px 9px;border:1px solid rgba(141,242,255,.28);border-radius:999px;background:rgba(4,7,10,.72);font-size:.72rem;color:var(--cyan);font-weight:900;letter-spacing:.08em}
.qps-shot .info{padding:15px}
.qps-shot .info h3{margin:0 0 6px}.qps-shot .info p{margin:0 0 8px;color:var(--muted)}
.qps-shot .meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#80949c;font-size:.78rem}
.gallery-empty{grid-column:1/-1}
.history-banner{margin:0 0 24px;padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(50,214,234,.06),rgba(255,255,255,.015))}
.history-banner h3{margin:0 0 7px}.history-banner p{color:var(--muted);margin:0}
.gallery-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:24px}
.gallery-lightbox.open{display:flex}
.lightbox-inner{position:relative;width:min(1120px,96vw);max-height:94vh;display:grid;grid-template-columns:minmax(0,1fr) 300px;background:#061017;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.lightbox-media{display:grid;place-items:center;background:#020406;min-height:360px}.lightbox-media img{max-width:100%;max-height:88vh;object-fit:contain}
.lightbox-info{padding:22px;overflow:auto}.lightbox-info h2{margin:8px 0}.lightbox-info p{color:var(--muted)}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:2;border:1px solid var(--line);background:rgba(4,7,10,.8);color:white;border-radius:999px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer}
.lightbox-close{top:12px;right:12px}.lightbox-prev{left:12px;top:50%;transform:translateY(-50%)}.lightbox-next{right:324px;top:50%;transform:translateY(-50%)}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{border-color:var(--cyan);color:var(--cyan)}
.gallery-count{color:var(--muted);font-size:.9rem;margin-left:auto;align-self:center}
@media(max-width:900px){.qps-gallery-grid{grid-template-columns:1fr 1fr}.lightbox-inner{grid-template-columns:1fr}.lightbox-info{max-height:32vh}.lightbox-next{right:12px}}
@media(max-width:600px){.qps-gallery-grid{grid-template-columns:1fr}.gallery-count{width:100%;margin-left:0}.gallery-lightbox{padding:8px}.lightbox-inner{width:100%;max-height:98vh}.lightbox-media{min-height:260px}}


/* V7 Homepage Gallery Teaser */
.home-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.home-gallery-card{position:relative;aspect-ratio:16/10;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#071017;transition:.2s}
.home-gallery-card:hover{transform:translateY(-4px);border-color:var(--line2)}
.home-gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.home-gallery-card:hover img{transform:scale(1.03)}
.home-gallery-overlay{position:absolute;inset:auto 0 0 0;padding:42px 15px 14px;background:linear-gradient(transparent,rgba(0,0,0,.88));display:grid;gap:2px}
.home-gallery-overlay span{color:var(--cyan);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.home-gallery-overlay strong{font-size:1.02rem}.home-gallery-overlay small{color:#aabdc5}
.home-gallery-empty{grid-column:1/-1}

/* V7 Donation Panel */
.donation-section{padding-top:80px;padding-bottom:80px}
.donation-panel{display:grid;grid-template-columns:1fr 280px;gap:34px;align-items:center;border:1px solid var(--line);border-radius:22px;background:
radial-gradient(circle at 85% 20%,rgba(50,214,234,.13),transparent 18rem),
linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.013));padding:34px;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.donation-panel h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:7px 0 12px}
.donation-panel>div>p:not(.eyebrow):not(.meta){color:var(--muted);max-width:720px}
.donation-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 14px}
.donation-numbers div{border:1px solid var(--line);border-radius:12px;background:#071017;padding:13px 14px}
.donation-numbers strong{display:block;color:var(--cyan);font-size:1.3rem}.donation-numbers span{color:var(--muted);font-size:.78rem}
.donation-progress{height:15px;border-radius:999px;background:#071017;border:1px solid var(--line);overflow:hidden}
.donation-progress>div{height:100%;background:linear-gradient(90deg,var(--cyan2),var(--cyan));box-shadow:0 0 18px rgba(50,214,234,.35);border-radius:999px}
.donation-icon{display:grid;place-items:center;text-align:center;gap:12px;color:var(--muted)}
.donation-heart{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--cyan2));color:#031014;font-size:3rem;font-weight:950;letter-spacing:.06em;box-shadow:0 0 55px rgba(50,214,234,.2)}
@media(max-width:900px){.home-gallery-grid{grid-template-columns:1fr 1fr}.donation-panel{grid-template-columns:1fr}.donation-icon{display:none}}
@media(max-width:600px){.home-gallery-grid{grid-template-columns:1fr}.donation-numbers{grid-template-columns:1fr}}

.danger-btn{border-color:rgba(255,92,92,.35)!important;color:#ff9b9b!important}
.danger-btn:hover{background:rgba(255,70,70,.09)!important;border-color:#ff6f6f!important;color:#ffd1d1!important}
.gallery-item.approved{outline:1px solid rgba(80,220,150,.18)}
.gallery-item.rejected{outline:1px solid rgba(255,92,92,.18);opacity:.9}


/* V7.5 Donation Panel Logo */
.donation-logo-wrap{
  width:210px;
  height:210px;
  display:grid;
  place-items:center;
  border-radius:26px;
  background:radial-gradient(circle,rgba(50,214,234,.13),rgba(4,7,10,.35) 62%,transparent 72%);
  filter:drop-shadow(0 0 24px rgba(50,214,234,.18));
}
.donation-logo-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
}

/* QPS Gameserver Module */
.qps-server-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.qps-server-card{display:grid;gap:12px}.qps-server-head{display:flex;align-items:center;gap:12px}.qps-server-head h2,.qps-server-head h3{margin:.15rem 0}
.qps-dot{width:12px;height:12px;border-radius:50%;display:inline-block;background:#7a8791;box-shadow:0 0 12px rgba(122,135,145,.35)}
.qps-dot.online{background:#39d98a;box-shadow:0 0 14px rgba(57,217,138,.55)}.qps-dot.offline{background:#ff5d6c;box-shadow:0 0 14px rgba(255,93,108,.45)}.qps-dot.maintenance{background:#f4c95d;box-shadow:0 0 14px rgba(244,201,93,.45)}
.qps-server-address code,.qps-server-card code{display:inline-block;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.18)}
.qps-server-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.qps-server-meta b{color:var(--text)}
@media(max-width:760px){.qps-server-grid{grid-template-columns:1fr}}

/* QPS Browsergames V1 */
.qps-browsergame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.qps-browsergame-card{overflow:hidden;padding:0}.qps-browsergame-hero{height:220px;background:radial-gradient(circle at 50% 45%,rgba(50,214,234,.14),transparent 45%),rgba(3,12,18,.75);display:grid;place-items:center;border-bottom:1px solid var(--line)}
.qps-browsergame-hero img{width:100%;height:100%;object-fit:cover}.qps-browsergame-placeholder{font-size:4.5rem;filter:drop-shadow(0 0 18px rgba(50,214,234,.25))}
.qps-browsergame-content{padding:22px}.qps-browsergame-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem;font-weight:800}
.qps-browsergame-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.qps-browsergame-home-card{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;text-decoration:none;color:inherit}
.qps-browsergame-home-icon{font-size:2rem}.qps-browsergame-home-card h3{margin:.15rem 0}.qps-browsergame-home-card>b{color:var(--accent)}
.qps-browsergame-home-status{display:flex;align-items:center;gap:7px;font-size:.75rem;color:var(--muted)}
.qps-browsergame-home-status .qps-dot{width:8px;height:8px}
@media(max-width:760px){.qps-browsergame-grid,.qps-browsergame-home-grid{grid-template-columns:1fr}.qps-browsergame-home-card{grid-template-columns:46px 1fr}.qps-browsergame-home-card>b{grid-column:2}}
