@font-face{font-family:'Estedad';src:url('fonts/Estedad-Variable.woff2') format('woff2-variations'),url('fonts/Estedad-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

:root{
    --bg:#12151d;--surface:#1b202b;--surface-2:#252b39;--text:#f5f6fa;--muted:#a3a9b8;--accent:#ec2855;--accent-2:#ff7a45;--line:#2a3040;
    --field:color-mix(in srgb,var(--bg) 70%,#000);--shade:rgba(0,0,0,.85);--footer-bg:color-mix(in srgb,var(--bg) 72%,#000);
    --wrap:min(1440px,calc(100% - clamp(28px,6vw,96px)));
    --r-sm:10px;--r:14px;--r-lg:20px;--ease:cubic-bezier(.2,.8,.2,1);
    --grad:linear-gradient(135deg,var(--accent),var(--accent-2));
    color-scheme:dark;
}
:root[data-theme="light"]{
    --bg:#f4f5f8;--surface:#fff;--surface-2:#eceef3;--text:#161a23;--muted:#5f6675;--line:#dfe2e8;
    --field:var(--surface);--shade:rgba(30,36,56,.28);--footer-bg:var(--surface);
    color-scheme:light;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.theme-switching *,html.theme-switching *::before,html.theme-switching *::after{transition:background-color .35s,border-color .35s,color .35s,fill .35s!important}
.ghs-body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);direction:rtl;font:400 15px/1.85 'Estedad',Tahoma,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.ghs-body *,.ghs-body *::before,.ghs-body *::after{box-sizing:border-box}
.ghs-body a{color:inherit;text-decoration:none}
.ghs-body button,.ghs-body input,.ghs-body select,.ghs-body textarea{font-family:inherit}
.ghs-body img{max-width:100%}
.ghs-body [hidden]{display:none!important}
.ghs-body :focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:3px}
.ghs-body strong,.ghs-body b{font-weight:700}
.ghs-body ::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}
.ghs-icon{flex-shrink:0;vertical-align:middle}
main{width:var(--wrap);margin-inline:auto;padding-bottom:56px}

.btn-primary{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border:0;border-radius:12px;background:var(--grad);color:#fff!important;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 12px 28px -14px color-mix(in srgb,var(--accent) 90%,transparent);transition:transform .25s var(--ease),box-shadow .25s,filter .25s;white-space:nowrap}
.btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);transform:translateX(120%);transition:transform .7s var(--ease);pointer-events:none}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 36px -14px color-mix(in srgb,var(--accent) 95%,transparent)}
.btn-primary:hover::after{transform:translateX(-120%)}
.btn-primary:active{transform:translateY(0)}
.btn-sm{min-height:44px;padding:0 18px;font-size:14px}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--ease)}
.btn-ghost:hover{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);transform:translateY(-2px)}

.maint-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:linear-gradient(90deg,#b45309,#d97706);color:#fff;font-size:13px;font-weight:600;text-align:center}
.ghs-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid var(--line)}
.header-inner{position:relative;width:var(--wrap);margin-inline:auto;height:78px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:22px;font-weight:900;letter-spacing:-.3px;white-space:nowrap}
.brand i{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--grad);color:#fff;font-style:normal;box-shadow:0 10px 22px -10px color-mix(in srgb,var(--accent) 85%,transparent)}
.brand-logo{display:block;width:auto;height:44px;max-width:210px;object-fit:contain}
.search{display:flex;align-items:center;flex:1;max-width:440px;height:48px;background:var(--surface);border:1px solid var(--line);border-radius:13px;transition:border-color .25s,box-shadow .25s}
.search:focus-within{border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}
.ghs-body .search input[type=text]{flex:1;min-width:0;min-height:0;height:100%;padding:0 16px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text);font-size:14px;outline:0}
.search input::placeholder{color:var(--muted)}
.search button{height:100%;padding:0 16px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:color .2s}
.search button:hover{color:var(--accent)}
.main-nav{display:flex;align-items:center;gap:4px}
.nav-btn{display:inline-flex;align-items:center;gap:7px;height:46px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:var(--text);font-size:15px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.nav-btn .ghs-icon:first-child{color:var(--accent)}
.nav-btn:hover,.ghs-dropdown.open>.nav-btn{background:var(--surface)}
.header-actions{display:flex;align-items:center;gap:10px;margin-inline-start:auto}
.mobile-menu{display:none;width:46px;height:46px;flex-shrink:0;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer}

.theme-toggle{position:relative;display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .25s,transform .25s var(--ease)}
.theme-toggle:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:translateY(-2px)}
.theme-toggle span{position:absolute;inset:0;display:grid;place-items:center;transition:transform .5s var(--ease),opacity .3s}
.theme-toggle .i-sun{color:#f5a524}
.theme-toggle .i-moon{color:var(--accent);opacity:0;transform:translateY(120%) rotate(-70deg)}
[data-theme="light"] .theme-toggle .i-sun{opacity:0;transform:translateY(-120%) rotate(70deg)}
[data-theme="light"] .theme-toggle .i-moon{opacity:1;transform:none}
.nav-theme{display:none}

.ghs-dropdown{position:relative}
.ghs-dropdown::after{content:'';position:absolute;top:100%;right:0;left:0;height:14px}
.ghs-dropdown>button .ghs-icon:last-child{transition:transform .25s var(--ease)}
.ghs-dropdown.open>button .ghs-icon:last-child{transform:rotate(180deg)}
.ghs-dropdown .menu{position:absolute;top:calc(100% + 12px);right:0;z-index:60;min-width:230px;max-height:min(70vh,540px);overflow-y:auto;overscroll-behavior:contain;padding:8px;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 28px 60px -22px var(--shade);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s var(--ease),visibility .2s}
.ghs-dropdown.open .menu{opacity:1;visibility:visible;transform:none}
@media (hover:hover) and (pointer:fine){
    .ghs-dropdown:hover .menu{opacity:1;visibility:visible;transform:none}
    .ghs-dropdown:hover>button .ghs-icon:last-child{transform:rotate(180deg)}
    .ghs-dropdown:hover>.nav-btn{background:var(--surface)}
}
.ghs-dropdown .menu.menu-genres{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));min-width:360px}
.ghs-dropdown .menu.menu-end{right:auto;left:0}
.menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;color:var(--text);transition:background .15s,color .15s,padding .2s var(--ease)}
.menu a .ghs-icon{color:var(--muted);transition:color .15s}
.menu a:hover{background:var(--surface-2);color:var(--text);padding-inline-start:16px}
.menu a:hover .ghs-icon{color:var(--accent)}
.menu a.danger,.menu a.danger .ghs-icon{color:#f0506e}
.menu-genres .menu-all{grid-column:1/-1;justify-content:center;margin-top:4px;padding-top:12px;border-top:1px solid var(--line);border-radius:0 0 10px 10px;color:var(--accent);font-weight:700}
.menu-genres .menu-all .ghs-icon{color:var(--accent)}
.menu hr{margin:6px 4px;border:0;border-top:1px solid var(--line)}
.account-btn{display:flex;align-items:center;gap:10px;height:48px;padding:0 6px 0 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);font-size:14px;font-weight:700;cursor:pointer;transition:border-color .2s}
.account-btn:hover,.account-menu.open .account-btn{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}
.account-btn .avatar,.comment-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:10px;background:var(--grad);color:#fff;font-weight:800}
.account-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.ghs-field{margin-bottom:16px}
.ghs-field label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}
.ghs-body input[type=text],.ghs-body input[type=email],.ghs-body input[type=password],.ghs-body input[type=tel],.ghs-body textarea{width:100%;min-height:50px;padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--text);font-size:15px;resize:vertical;transition:border-color .2s,box-shadow .2s}
.ghs-body input:focus,.ghs-body textarea:focus{outline:0;border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent)}
.ghs-body input:disabled{opacity:.6}
.ghs-body input::placeholder,.ghs-body textarea::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}
.hint{display:flex;align-items:center;gap:6px;margin:0 0 14px;font-size:13px;color:var(--muted)}
.auth-notice{margin-bottom:16px;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:600}
.auth-notice.error{background:color-mix(in srgb,#ef4444 13%,var(--surface));color:color-mix(in srgb,#ef4444 72%,var(--text));border:1px solid color-mix(in srgb,#ef4444 35%,transparent)}
.auth-notice.success{background:color-mix(in srgb,#22c55e 13%,var(--surface));color:color-mix(in srgb,#16a34a 70%,var(--text));border:1px solid color-mix(in srgb,#22c55e 35%,transparent)}
.empty,.empty-state{text-align:center;color:var(--muted)}
.empty{padding:28px 16px}
.empty a{color:var(--accent)}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px;border:1.5px dashed var(--line);border-radius:var(--r-lg)}
.empty-state .ghs-icon{color:var(--accent);opacity:.8}
.empty-state strong{color:var(--text);font-size:17px}
.empty-state p{margin:0}
.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;color:var(--muted);font-weight:600}
.back:hover{color:var(--accent)}
.count-chip{display:inline-flex;align-items:center;padding:2px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}

.auth-page{display:flex;justify-content:center;padding:56px 0}
.auth-card{width:100%;max-width:440px;padding:38px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:0 30px 70px -40px var(--shade)}
.auth-card h1{display:flex;align-items:center;gap:10px;margin:0 0 24px;font-size:22px;font-weight:800}
.auth-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--grad);color:#fff}
.auth-card .btn-primary{width:100%}
.auth-switch{margin-top:18px;text-align:center;font-size:14px;color:var(--muted)}
.auth-switch a{color:var(--accent);font-weight:700}
.auth-card.is-wide{max-width:600px}
.auth-sub{margin:-10px 0 20px;color:var(--muted);font-size:14px;line-height:2.1}
.auth-block-btn{width:100%}
.auth-section{margin:0 0 18px;padding:18px 18px 4px;border-radius:var(--r);border:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 35%,transparent)}
.auth-section h2{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:15px;font-weight:800}
.auth-section h2 .ghs-icon{color:var(--accent)}
.section-hint{margin:-8px 0 14px}
.label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.ghs-field .label-row label{margin:0}
.label-row a{font-size:13px;font-weight:600;color:var(--accent)}
.label-row a:hover{text-decoration:underline}
.field-hint{display:flex;align-items:center;gap:6px;margin:7px 0 0;font-size:12.5px;line-height:1.9;color:var(--muted)}
.field-hint .ghs-icon{flex-shrink:0}
.field-hint.ok{color:#16a34a}
.field-hint.bad{color:#e5484d}
.form-error{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:13px;font-weight:700;color:#e5484d}
.ghs-body input:disabled{cursor:not-allowed}
.pwd-input{position:relative}
.ghs-body .pwd-input input{padding-left:50px}
.pwd-toggle{position:absolute;top:50%;left:6px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;translate:0 -50%;transition:color .2s,background .2s}
.pwd-toggle:hover{color:var(--text);background:var(--surface-2)}
.pwd-toggle.on{color:var(--accent)}
.pwd-meter{display:flex;align-items:center;gap:10px;margin-top:10px}
.pwd-bars{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.pwd-bars i{height:6px;border-radius:4px;background:var(--surface-2);transition:background .3s}
.pwd-meter.lv-1 .pwd-bars i:nth-child(1){background:#e5484d}
.pwd-meter.lv-2 .pwd-bars i:nth-child(-n+2){background:#f5a524}
.pwd-meter.lv-3 .pwd-bars i{background:#22c55e}
.pwd-label{min-width:70px;font-size:12.5px;font-weight:800;text-align:left}
.pwd-meter.lv-1 .pwd-label{color:#e5484d}
.pwd-meter.lv-2 .pwd-label{color:#d9920b}
.pwd-meter.lv-3 .pwd-label{color:#16a34a}
.pwd-rules{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;list-style:none}
.pwd-rules li{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);transition:color .2s}
.pwd-rules li::before{content:'';width:14px;height:14px;flex-shrink:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--muted) 55%,transparent);transition:background-color .2s,border-color .2s}
.pwd-rules li.ok{color:#16a34a}
.pwd-rules li.ok::before{border-color:#22c55e;background:#22c55e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/9px no-repeat}
.ghs-body input.code-input{height:62px;font-size:26px;font-weight:800;letter-spacing:.6em;text-align:center;direction:ltr;text-indent:.6em}
.auth-phone-chip{display:inline-flex;align-items:center;padding:1px 11px;border-radius:999px;background:var(--surface-2);color:var(--text);font-weight:800}
.resend{display:flex;align-items:center;justify-content:center;min-height:42px;margin-top:14px;font-size:13.5px;color:var(--muted)}
.resend-timer{display:inline-flex;align-items:center;gap:6px}
.resend-timer b{display:inline-block;min-width:44px;color:var(--text);font-variant-numeric:tabular-nums;direction:ltr;text-align:center}
.resend-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);border-radius:11px;background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;transition:background .2s}
.resend-btn:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}
.link-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.link-btn:hover{text-decoration:underline}
.inline-code{margin:0 0 16px;padding:16px;border-radius:12px;border:1px dashed color-mix(in srgb,var(--accent) 40%,var(--line))}
.inline-code .auth-sub{margin:0 0 12px}
.auth-card .code-submit{width:100%}
.auth-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 22px;padding:4px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.auth-tab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;height:42px;padding:0 10px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;transition:color .25s}
.auth-tab:hover{color:var(--text)}
.auth-tab.is-active{color:#fff}
.auth-tab-glider{position:absolute;top:4px;bottom:4px;inset-inline-start:4px;width:calc(50% - 6px);border-radius:11px;background:var(--grad);box-shadow:0 10px 24px -12px var(--accent);transition:translate .35s cubic-bezier(.3,1.3,.5,1)}
.auth-tabs.second-active .auth-tab-glider{translate:calc(-100% - 4px) 0}
.auth-pane{animation:paneIn .3s ease}
@keyframes paneIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.auth-sub-form{margin:0 0 18px}
.spam-hint{margin:-12px 0 18px;padding:9px 12px;border-radius:10px;background:color-mix(in srgb,#f5a524 10%,transparent);color:color-mix(in srgb,#d9920b 85%,var(--text))}
.inline-code .spam-hint{margin:-4px 0 12px}
.label-opt{font-weight:500;font-size:12px;color:var(--muted)}
.contact-add{display:flex;gap:8px}
.contact-add input{flex:1;min-width:0}
.contact-add .btn-ghost{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.contact-change{margin-top:10px}
.contact-change summary{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.contact-change summary::-webkit-details-marker{display:none}
.contact-change[open] summary{margin-bottom:10px}
.recover-links{display:flex;flex-wrap:wrap;gap:0 18px}
.ghs-field .inline-code{margin:0}
@media (max-width:480px){.contact-add{flex-direction:column}.contact-add .btn-ghost{justify-content:center}.auth-tab{font-size:13px;gap:5px}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.history-card small{display:flex;align-items:center;gap:5px}

.tilt{transition:transform .45s var(--ease),box-shadow .45s var(--ease);transform-style:preserve-3d;will-change:transform}
.tilt.is-tilting{transition:transform .1s linear,box-shadow .3s}
.tilt::after{content:'';position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.24),transparent 55%);opacity:0;transition:opacity .35s}
.tilt.is-tilting::after{opacity:1}
.tilt.is-tilting{box-shadow:0 28px 50px -22px var(--shade)}

.hero{margin-top:30px}
.hero-slide{display:none;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:30px}
.hero-slide.active{display:grid;animation:ghsFade .55s var(--ease)}
.hero-media{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:var(--r-lg);background:var(--surface-2);box-shadow:0 34px 70px -34px var(--shade)}
.hero-media>a,.hero-media img{display:block;width:100%;height:100%}
.hero-media img{object-fit:cover;transition:opacity .3s}
.hero-media img.swapping{opacity:.35}
.hero-nav{position:absolute;top:50%;z-index:4;display:grid;place-items:center;width:48px;height:54px;margin-top:-27px;border:0;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 12px 26px -10px rgba(0,0,0,.65);transition:transform .25s var(--ease),filter .25s}
.hero-nav:hover{filter:brightness(1.12);transform:scale(1.08)}
.hero-nav.prev{right:18px}
.hero-nav.next{left:18px}
.hero-info{display:flex;flex-direction:column;gap:16px;min-width:0;padding:4px 0}
.hero-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:13px;font-weight:700}
.hero-title{margin:0;font-size:clamp(22px,2.3vw,34px);font-weight:900;line-height:1.45}
.hero-title a:hover{color:var(--accent)}
.hero-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-thumbs button{position:relative;padding:0;aspect-ratio:16/9;overflow:hidden;border:2px solid transparent;border-radius:12px;background:var(--surface-2);cursor:pointer;transition:border-color .25s,transform .45s var(--ease)}
.hero-thumbs button.active{border-color:var(--accent)}
.hero-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.hero-info p{margin:0;color:var(--muted);font-size:14px;line-height:2.1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.hero-cta{align-self:flex-start;margin-top:auto;min-height:52px;padding:0 28px;font-size:16px}
.hero-dots{display:flex;justify-content:center;gap:7px;margin-top:16px}
.hero-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--muted);opacity:.35;cursor:pointer;transition:width .3s var(--ease),opacity .3s,background .3s}
.hero-dots .on{width:24px;border-radius:6px;background:var(--accent);opacity:1}

.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 6px}
.quick a{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s}
.quick a:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.quick-icon{display:grid;place-items:center;width:50px;height:50px;flex-shrink:0;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);transition:transform .3s var(--ease)}
.quick a:hover .quick-icon{transform:rotate(-8deg) scale(1.08)}
.quick span{display:flex;flex-direction:column;font-size:16px;font-weight:700;line-height:1.6}
.quick small{font-size:13px;font-weight:400;color:var(--muted)}

.ghs-section,.listing{margin:48px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.section-head h2,.page-title{display:flex;align-items:center;gap:10px;margin:0;font-size:clamp(20px,1.7vw,26px);font-weight:800;line-height:1.4}
.page-title{font-size:clamp(22px,2vw,30px);font-weight:900}
.section-head h2 .ghs-icon,.page-title .ghs-icon{color:var(--accent)}
.more-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 15px;border-radius:11px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,transform .25s var(--ease)}
.more-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:translateX(-4px)}

@property --fade-start{syntax:'<length>';inherits:true;initial-value:0px}
@property --fade-end{syntax:'<length>';inherits:true;initial-value:0px}
.rail-wrap{position:relative;--fade-start:0px;--fade-end:0px;--edge-top:40%;transition:--fade-start .4s var(--ease),--fade-end .4s var(--ease)}
.rail-wrap:has(.genre-rail){--edge-top:50%}
.rail-wrap.can-prev{--fade-start:90px}
.rail-wrap.can-next{--fade-end:90px}
.ghs-rail,.genre-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 5 * 20px) / 6);gap:20px;margin:-14px -6px 0;padding:14px 6px 16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:6px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to left,transparent 0,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent 100%);mask-image:linear-gradient(to left,transparent 0,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent 100%)}
.ghs-rail::-webkit-scrollbar,.genre-rail::-webkit-scrollbar{display:none}
.rail-wrap::before,.rail-wrap::after{content:'';position:absolute;top:0;bottom:16px;z-index:2;width:70px;pointer-events:none;opacity:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity .4s var(--ease)}
.rail-wrap::before{right:-6px;-webkit-mask-image:linear-gradient(to left,#000,transparent);mask-image:linear-gradient(to left,#000,transparent)}
.rail-wrap::after{left:-6px;-webkit-mask-image:linear-gradient(to right,#000,transparent);mask-image:linear-gradient(to right,#000,transparent)}
.rail-wrap.can-prev::before,.rail-wrap.can-next::after{opacity:1}
.rail-edge{position:absolute;top:var(--edge-top);z-index:4;display:grid;place-items:center;width:46px;height:46px;margin-top:-23px;padding:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);color:var(--text);cursor:pointer;box-shadow:0 14px 30px -12px var(--shade),inset 0 1px 0 color-mix(in srgb,#fff 12%,transparent);transition:opacity .3s,visibility .3s,transform .35s var(--ease),background .25s,color .25s,border-color .25s}
.rail-edge.prev{right:4px}
.rail-edge.next{left:4px}
.rail-edge:hover{background:var(--accent);border-color:transparent;color:#fff;transform:scale(1.08)}
.rail-edge:active{transform:scale(.96)}
.rail-edge[hidden]{display:grid!important;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.7)}
.ghs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:30px 22px}

.ghs-card{display:block;min-width:0;scroll-snap-align:start}
.ghs-card-thumb{position:relative;overflow:hidden;aspect-ratio:1;border-radius:var(--r);background:var(--surface-2);box-shadow:0 16px 32px -22px var(--shade)}
.ghs-card-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .35s}
.ghs-card:hover .ghs-card-thumb img{transform:scale(1.07);filter:brightness(1.08)}
.platform-badge{position:absolute;right:10px;bottom:10px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(10,12,18,.8);color:#fff;backdrop-filter:blur(6px)}
.ghs-card strong{margin-top:12px;font-size:15px;font-weight:700;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .25s}
.ghs-card:hover strong{color:var(--accent)}
.ghs-card small{display:block;overflow:hidden;font-size:13px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis}

.genre-card{position:relative;display:block;overflow:hidden;aspect-ratio:1;border-radius:var(--r-lg);background:var(--surface-2);scroll-snap-align:start}
.genre-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.genre-card.is-logo img{object-fit:contain;padding:26%;opacity:.45}
.genre-card::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,10,16,.88),transparent 58%)}
.genre-name{position:absolute;top:16px;right:18px;left:18px;z-index:2;color:#fff;font-size:clamp(16px,1.3vw,20px);font-weight:800;line-height:1.5;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.genre-count{position:absolute;right:14px;bottom:12px;z-index:2;padding:2px 11px;border-radius:999px;background:rgba(10,12,18,.62);backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:600;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s var(--ease)}
.genre-card:hover img{transform:scale(1.09)}
.genre-card:hover .genre-count{opacity:1;transform:none}
@media (hover:none){.genre-count{opacity:1;transform:none}}

.wide-promo{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:260px;margin:56px 0;padding:40px clamp(24px,4vw,56px);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.promo-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 20%,var(--surface)),var(--surface) 45%,color-mix(in srgb,var(--accent-2) 18%,var(--surface)));background-size:220% 220%;animation:promoShift 12s ease-in-out infinite alternate}
.promo-orb{position:absolute;border-radius:50%;filter:blur(55px);opacity:.5}
.promo-orb.p1{width:320px;height:320px;left:-70px;bottom:-150px;background:var(--accent);animation:orbDrift 14s ease-in-out infinite alternate}
.promo-orb.p2{width:250px;height:250px;left:34%;top:-130px;background:var(--accent-2);animation:orbDrift 18s ease-in-out infinite alternate-reverse}
.promo-lines{position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 26px,color-mix(in srgb,var(--text) 6%,transparent) 26px 27px);animation:promoLines 6s linear infinite;-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%);mask-image:linear-gradient(90deg,#000,transparent 70%)}
.promo-content{position:relative;max-width:540px}
.promo-eyebrow{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:13px;font-weight:700}
.wide-promo h2{margin:12px 0 8px;font-size:clamp(22px,2.2vw,32px);font-weight:900;line-height:1.45}
.wide-promo p{margin:0 0 22px;color:var(--muted)}
.promo-art{position:relative;flex-shrink:0;width:270px;height:200px}
.promo-tile{position:absolute;display:grid;place-items:center;border-radius:24px;background:color-mix(in srgb,var(--surface) 60%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--text) 12%,transparent);box-shadow:0 24px 44px -24px var(--shade);color:var(--accent);animation:tileFloat 6s ease-in-out infinite}
.promo-tile.t1{width:118px;height:118px;right:18px;top:14px;rotate:-8deg}
.promo-tile.t2{width:90px;height:90px;left:34px;top:0;rotate:10deg;color:var(--accent-2);animation-delay:-2s}
.promo-tile.t3{width:76px;height:76px;left:96px;bottom:0;rotate:-5deg;color:var(--text);animation-delay:-4s}

.showcase{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,48px);margin:44px 0;padding:clamp(22px,2.6vw,38px) clamp(24px,4vw,56px);border-radius:24px;background:var(--surface);border:1px solid var(--line)}
.showcase-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%),var(--surface)}
.sc-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.22;animation:orbDrift 18s ease-in-out infinite alternate}
.sc-orb-1{width:380px;height:380px;top:-160px;right:-90px;background:var(--accent)}
.sc-orb-2{width:320px;height:320px;bottom:-170px;left:20%;background:var(--accent-2);animation-duration:22s;animation-delay:-6s}
.sc-orb-3{width:240px;height:240px;top:25%;left:-80px;background:#6d5dfc;animation-duration:26s;animation-direction:alternate-reverse}
.sc-grid{position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px);background-size:46px 46px;animation:gridPan 12s linear infinite;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 70% 50%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 80% 80% at 70% 50%,#000 10%,transparent 75%)}
.sc-watermark{position:absolute;right:30%;top:50%;width:min(420px,40%);aspect-ratio:1;object-fit:contain;opacity:.04;translate:50% -50%;rotate:-12deg;animation:tileFloat 10s ease-in-out infinite}
.showcase-content{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.showcase-brand{display:flex;align-items:center;gap:12px}
.showcase-logo{display:block;width:auto;height:clamp(34px,3vw,46px);max-width:220px;object-fit:contain}
.showcase-mark{display:grid;place-items:center;width:54px;height:54px;padding:9px;border-radius:16px;background:color-mix(in srgb,var(--surface-2) 70%,transparent);border:1px solid var(--line);animation:markPulse 3s ease-in-out infinite}
.showcase-mark img{display:block;width:100%;height:100%;object-fit:contain}
.showcase-brand strong{font-size:20px;font-weight:900}
.showcase h2{margin:0;font-size:clamp(24px,2.5vw,38px);font-weight:900;line-height:1.35;color:var(--text)}
.showcase-content p{margin:0;color:var(--muted);font-size:clamp(14px,1vw,16px);line-height:2.1;text-align:justify}

.sc-stage{display:flex;justify-content:center;min-width:0;padding:10px 0}
.sc-cluster{position:relative;width:min(400px,100%);aspect-ratio:540/440}
.sc-card{--tx:0%;--ty:0%;--r:0deg;--s:1;position:absolute;display:block;width:34%;aspect-ratio:1;overflow:hidden;border-radius:18px;background:var(--surface-2);border:4px solid transparent;box-shadow:0 22px 40px -18px rgba(0,0,0,.75);transform:translate(var(--tx),var(--ty)) rotate(var(--r)) scale(var(--s));transition:transform .65s cubic-bezier(.2,.9,.25,1.12),border-color .45s,box-shadow .45s,filter .3s;will-change:transform}
.sc-card img{display:block;width:100%;height:100%;object-fit:cover}
.sc-card-1{left:1%;top:5%;--r:-4deg;z-index:1}
.sc-card-2{left:31%;top:0;width:38%;--r:-5deg;z-index:3}
.sc-card-3{left:65%;top:4%;--r:4deg;z-index:2}
.sc-card-4{left:1%;top:50%;--r:-3deg;z-index:1}
.sc-card-5{left:31%;top:47%;width:38%;--r:3deg;z-index:3}
.sc-card-6{left:65%;top:51%;--r:5deg;z-index:2}
.sc-cluster:hover .sc-card,.sc-cluster.is-open .sc-card,.sc-cluster:focus-within .sc-card{border-color:#fff;box-shadow:0 30px 50px -20px rgba(0,0,0,.85)}
.sc-cluster:hover .sc-card-1,.sc-cluster.is-open .sc-card-1,.sc-cluster:focus-within .sc-card-1{--tx:-11%;--ty:-4%;--r:13deg;--s:1.06}
.sc-cluster:hover .sc-card-2,.sc-cluster.is-open .sc-card-2,.sc-cluster:focus-within .sc-card-2{--tx:0%;--ty:-6%;--r:-12deg;--s:1.06}
.sc-cluster:hover .sc-card-3,.sc-cluster.is-open .sc-card-3,.sc-cluster:focus-within .sc-card-3{--tx:11%;--ty:-4%;--r:13deg;--s:1.06}
.sc-cluster:hover .sc-card-4,.sc-cluster.is-open .sc-card-4,.sc-cluster:focus-within .sc-card-4{--tx:-11%;--ty:4%;--r:-13deg;--s:1.06}
.sc-cluster:hover .sc-card-5,.sc-cluster.is-open .sc-card-5,.sc-cluster:focus-within .sc-card-5{--tx:0%;--ty:6%;--r:-12deg;--s:1.06}
.sc-cluster:hover .sc-card-6,.sc-cluster.is-open .sc-card-6,.sc-cluster:focus-within .sc-card-6{--tx:11%;--ty:4%;--r:12deg;--s:1.06}
.sc-cluster .sc-card:hover{z-index:5;filter:brightness(1.08)}
.sc-cta{position:absolute;left:50%;top:50%;z-index:10;display:inline-flex;align-items:center;justify-content:center;height:clamp(42px,3.4vw,52px);padding:0 clamp(16px,1.8vw,26px);border-radius:13px;background:var(--accent);color:#fff!important;font-size:clamp(14px,1.15vw,18px);font-weight:800;white-space:nowrap;transform:translate(-50%,-50%);box-shadow:0 18px 40px -12px color-mix(in srgb,var(--accent) 80%,transparent);transition:transform .5s cubic-bezier(.2,.9,.25,1.35),filter .3s;animation:ctaPulse 2.6s ease-in-out infinite}
.sc-cluster:hover .sc-cta,.sc-cluster.is-open .sc-cta{transform:translate(-50%,-50%) scale(1.08)}
.sc-cta:hover{filter:brightness(1.1)}

.listing-head{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding:18px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.listing-head img{width:110px;height:110px;flex-shrink:0;border-radius:var(--r);object-fit:cover;background:var(--surface-2)}
.listing-head img.is-logo{object-fit:contain;padding:20px}
.listing-head h1{margin:0;font-size:clamp(22px,2.2vw,32px);font-weight:900}
.listing-head p{margin:2px 0 0;color:var(--muted)}
.listing-all{margin-inline-start:auto}
.genres-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;margin-bottom:30px;padding:26px clamp(20px,3vw,36px);border-radius:var(--r-lg);border:1px solid var(--line);background:radial-gradient(90% 160% at 100% 0%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 60%),radial-gradient(70% 140% at 0% 100%,color-mix(in srgb,var(--accent-2) 14%,transparent),transparent 60%),var(--surface)}
.genres-hero h1{margin:0;font-size:clamp(24px,2.6vw,36px);font-weight:900;line-height:1.4}
.genres-hero p{margin:2px 0 0;color:var(--muted)}
.genre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px}
.genre-tile::before{background:linear-gradient(0deg,rgba(8,10,16,.9),transparent 62%)}
.genre-tile .genre-name{top:auto;bottom:16px}
.genre-tile .genre-count{top:14px;right:auto;bottom:auto;left:14px;opacity:1;transform:none}
.ghs-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:40px}
.ghs-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:700;transition:border-color .25s,transform .25s var(--ease)}
.ghs-pagination a.page-numbers:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:translateY(-2px)}
.ghs-pagination .page-numbers.current{background:var(--grad);border-color:transparent;color:#fff}
.ghs-pagination .page-numbers.dots{min-width:24px;padding:0;border:0;background:none;color:var(--muted)}

.game-page{padding:26px 0 8px}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;font-size:13px;color:var(--muted)}
.breadcrumb a{transition:color .2s}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .ghs-icon{rotate:90deg;opacity:.55}
.breadcrumb span{max-width:280px;overflow:hidden;color:var(--text);font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.game-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:38px;align-items:start}
.game-side{position:sticky;top:98px;display:flex;flex-direction:column;gap:14px}
.game-cover{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-lg);background:var(--surface-2);box-shadow:0 34px 70px -34px var(--shade)}
.download-box{display:flex;flex-direction:column;gap:10px}
.download-box .btn-primary{width:100%}
.dl-btn{min-height:58px;font-size:17px}
.download-box .hint{justify-content:center;margin:0;text-align:center}
.download-box.size-sm .dl-btn{min-height:46px;font-size:14px;padding:0 18px}
.download-box.size-lg .dl-btn{min-height:66px;font-size:19px}
.download-box.layout-row{flex-direction:row;flex-wrap:wrap}
.download-box.layout-row .dl-btn{width:auto;flex:1 1 calc(33.33% - 7px)}
.download-box.layout-row .hint{flex-basis:100%}
.age-badge{display:inline-flex;flex-shrink:0}
.age-badge img{display:block;width:30px;height:30px;border-radius:8px}
.fav-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;border:1px solid color-mix(in srgb,var(--text) 30%,transparent);border-radius:12px;background:transparent;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .25s,color .25s,background .25s,transform .25s var(--ease)}
.fav-btn:hover,.fav-btn.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.fav-btn:hover{transform:translateY(-2px)}
.fav-btn .on-label,.fav-btn.on .off-label{display:none}
.fav-btn.on .on-label{display:inline}
.fav-btn.on .ghs-icon{fill:currentColor}
.file-pass{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin:0 0 12px;padding:10px 12px;border-radius:var(--r);border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--text);font:inherit;text-align:right;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.file-pass:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
.file-pass:active{transform:scale(.98)}
.file-pass:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.file-pass-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}
.file-pass-label .ghs-icon{color:var(--accent)}
.file-pass code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,Menlo,monospace;font-size:14px;font-weight:700;text-align:left;user-select:all}
.file-pass-state{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:9px;background:var(--surface-2);color:var(--text);font-size:12.5px;font-weight:700;white-space:nowrap;transition:background .2s,color .2s}
.file-pass.copied{border-style:solid;border-color:#22c55e;background:color-mix(in srgb,#22c55e 9%,var(--surface))}
.file-pass.copied .file-pass-state{background:#22c55e;color:#fff}
@media (max-width:480px){.file-pass{grid-template-columns:minmax(0,1fr) auto}.file-pass-label{grid-column:1/-1}}
.info-table{margin:2px 0 0;padding:4px 18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.info-table>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.info-table>div:last-child{border-bottom:0}
.info-table dt{color:var(--muted)}
.info-table dd{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;margin:0;font-weight:700;text-align:left}
.info-table dd a:hover{color:var(--accent)}
.game-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px}
.game-title-row h1{margin:0;font-size:clamp(26px,2.8vw,40px);font-weight:900;line-height:1.35}
.rating-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:14px}
.rating-pill b{font-weight:800}
.rating-pill small{color:var(--muted)}
.genre-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.genre-tags a{padding:6px 15px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:600;transition:border-color .25s,color .25s,transform .25s var(--ease)}
.genre-tags a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.gallery-viewer{margin-bottom:36px}
.gv-stage{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:var(--r-lg);background:#07080c;box-shadow:0 30px 60px -34px var(--shade)}
.gv-media,.gv-media img,.gv-media video{display:block;width:100%;height:100%}
.gv-media img{object-fit:cover;animation:ghsFade .4s var(--ease)}
.gv-media video{object-fit:contain;background:#000}
.gv-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:46px;height:52px;margin-top:-26px;border:0;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer;opacity:.92;transition:transform .25s var(--ease),opacity .25s}
.gv-arrow:hover{opacity:1;transform:scale(1.08)}
.gv-arrow.prev{right:16px}
.gv-arrow.next{left:16px}
.gv-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * 12px) / 5);gap:12px;overflow-x:auto;padding:14px 2px 8px;scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent}
.gv-thumb{position:relative;padding:0;aspect-ratio:16/9;overflow:hidden;border:2px solid transparent;border-radius:11px;background:var(--surface-2);cursor:pointer;opacity:.6;transition:opacity .25s,border-color .25s,transform .45s var(--ease)}
.gv-thumb.active,.gv-thumb:hover{opacity:1;border-color:var(--accent)}
.gv-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.gv-video{display:grid;place-items:center;width:100%;height:100%;background:#0b0d13;color:#fff}
.game-section{margin-bottom:36px}
.game-section h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:22px;font-weight:800}
.game-section h2 .ghs-icon{color:var(--accent)}
.game-text{font-size:15px;line-height:2.25;color:color-mix(in srgb,var(--text) 86%,var(--bg))}
.game-text p{margin:0 0 12px}
.guide-box{padding:22px 26px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.game-section pre{margin:0;padding:24px 28px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;font-family:inherit;font-size:14px;line-height:2.15;color:var(--text);text-align:start;direction:auto}

.comments-block{margin-top:12px}
.comments-block .section-head{flex-wrap:wrap}
.comments-block .section-head h2{flex-wrap:wrap}
.comment-form{margin-bottom:22px;padding:22px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.comment-form-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.comment-form textarea{margin:14px 0}
.star-input{display:flex;gap:2px;direction:ltr}
.star-input button{padding:3px;border:0;background:none;color:color-mix(in srgb,var(--muted) 45%,transparent);cursor:pointer;transition:transform .2s var(--ease),color .2s}
.star-input button:hover{transform:scale(1.2)}
.star-input button.on{color:#ffb020}
.star-input button.on .ghs-icon{fill:currentColor}
.login-prompt{display:flex;align-items:center;gap:10px;margin-bottom:22px;padding:16px 20px;border-radius:var(--r);background:var(--surface);border:1px dashed var(--line);color:var(--muted)}
.login-prompt a{color:var(--accent);font-weight:700}
.comment-list{display:flex;flex-direction:column;gap:14px}
.comment-item{padding:18px 20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);transition:border-color .25s,transform .3s var(--ease)}
.comment-item:hover{border-color:color-mix(in srgb,var(--text) 18%,transparent);transform:translateY(-2px)}
.comment-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.comment-meta{display:flex;flex-direction:column;line-height:1.5;min-width:0}
.comment-meta strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comment-head time{margin-inline-start:auto;color:var(--muted);font-size:12px;white-space:nowrap}
.stars{display:inline-flex;gap:1px}
.stars span{color:color-mix(in srgb,var(--muted) 40%,transparent)}
.stars span.on{color:#ffb020}
.stars span.on .ghs-icon{fill:currentColor}
.comment-item p{margin:0 0 12px;line-height:2;color:color-mix(in srgb,var(--text) 86%,var(--bg));word-break:break-word}
.comment-votes{display:flex;gap:8px}
.vote-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:13px;cursor:pointer;transition:color .2s,border-color .2s,transform .2s var(--ease)}
.vote-btn:hover{color:var(--text);transform:translateY(-2px)}
.vote-btn.active{color:var(--accent);border-color:var(--accent)}

.support-page{padding:34px 0}
.support-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start}
.panel{padding:24px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.panel h3{margin:0 0 16px;font-size:18px;font-weight:800}
.panel .btn-primary{width:100%}
.panel .empty{padding:14px 0}
.ticket-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:10px;padding:13px 15px;border-radius:12px;border:1px solid var(--line);transition:border-color .25s,transform .25s var(--ease)}
.ticket-row:hover{border-color:var(--accent);transform:translateX(-3px)}
.ticket-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.ticket-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticket-cat{display:inline-flex;align-self:flex-start;padding:1px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:600}
.ticket-types{margin:0 0 18px;padding:0;border:0;min-width:0}
.ticket-types legend{margin-bottom:10px;padding:0;font-size:14px;font-weight:600}
.ticket-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ticket-type{position:relative;display:flex;align-items:center;gap:11px;min-width:0;padding:12px 13px;border-radius:14px;border:1.5px solid var(--line);background:var(--field);cursor:pointer;transition:border-color .2s,background .2s,transform .2s var(--ease),box-shadow .2s}
.ticket-type:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);transform:translateY(-2px)}
.ticket-type input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.ticket-type-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--surface-2);color:var(--muted);transition:background .2s,color .2s,transform .3s var(--ease)}
.ticket-type-text{display:flex;flex-direction:column;min-width:0;line-height:1.55}
.ticket-type-text strong{font-size:14px}
.ticket-type-text small{overflow:hidden;color:var(--muted);font-size:11.5px;white-space:nowrap;text-overflow:ellipsis}
.ticket-type-check{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;opacity:0;transform:scale(.4);transition:opacity .2s,transform .3s var(--ease)}
.ticket-type:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--field));box-shadow:0 10px 24px -16px color-mix(in srgb,var(--accent) 90%,transparent)}
.ticket-type:has(input:checked) .ticket-type-icon{background:var(--grad);color:#fff;transform:rotate(-6deg)}
.ticket-type:has(input:checked) .ticket-type-check{opacity:1;transform:none}
.ticket-type:has(input:focus-visible){outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}
.ticket-row time{color:var(--muted);font-size:12px}
.ticket-status{padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.s-open{background:color-mix(in srgb,#f59e0b 16%,transparent);color:color-mix(in srgb,#d97706 80%,var(--text))}
.s-answered{background:color-mix(in srgb,#22c55e 16%,transparent);color:color-mix(in srgb,#16a34a 75%,var(--text))}
.s-closed{background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted)}
.ticket-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.ticket-head h2{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;font-size:20px;font-weight:800}
.ticket-thread{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.msg{max-width:78%;padding:13px 17px;border-radius:16px;background:var(--surface-2);word-break:break-word}
.msg.mine{align-self:flex-start;border-top-right-radius:5px}
.msg.staff{align-self:flex-end;border-top-left-radius:5px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.msg-meta{display:flex;gap:10px;margin-bottom:6px;font-size:12px;color:var(--muted)}
.msg-meta b{color:var(--text)}
.msg p{margin:0;line-height:1.95}
.ticket-reply textarea{margin-bottom:12px}
.ticket-reply .btn-primary{width:auto}
.support-fab{position:fixed;left:0;bottom:120px;z-index:45;display:flex;align-items:center;gap:10px;padding:14px 18px 14px 16px;border-radius:0 40px 40px 0;background:var(--accent);color:#fff;box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 35%,transparent);transition:padding .3s var(--ease)}
.support-fab span{max-width:0;overflow:hidden;white-space:nowrap;font-weight:700;transition:max-width .35s var(--ease)}
.support-fab:hover span{max-width:150px}

.page-shell{max-width:1000px;margin:44px auto}
.page-head{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.page-icon{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border-radius:16px;background:var(--grad);color:#fff;box-shadow:0 14px 30px -14px color-mix(in srgb,var(--accent) 90%,transparent)}
.page-head h1{margin:0;font-size:clamp(24px,2.6vw,36px);font-weight:900;line-height:1.4}
.page-card{padding:clamp(22px,3vw,38px);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.page-card.empty{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted)}
.page-card.empty .ghs-icon{color:var(--accent)}
.page-card.not-found{gap:12px;text-align:center;margin-bottom:34px}
.page-card.not-found h1{margin:4px 0 0;font-size:clamp(20px,3vw,26px);color:var(--text)}
.page-card.not-found p{max-width:480px;margin:0 0 6px;line-height:2}
.terms-body{font-size:15px;line-height:2.35;color:color-mix(in srgb,var(--text) 88%,var(--bg))}
.terms-body p{margin:0 0 16px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);transition:border-color .25s}
.faq-item:hover,.faq-item[open]{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;list-style:none;cursor:pointer;font-size:15px;font-weight:700}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .ghs-icon{color:var(--muted);transition:transform .3s var(--ease),color .3s}
.faq-item[open] summary .ghs-icon{transform:rotate(180deg);color:var(--accent)}
.faq-answer{padding:0 22px 18px;color:var(--muted);line-height:2.15}
.faq-answer p{margin:0 0 10px}
.contact-intro{margin-bottom:18px;line-height:2.25}
.contact-intro p{margin:0 0 10px}
.contact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}
.contact-item{display:flex;align-items:center;gap:14px;padding:18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s}
.contact-item:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.contact-icon{display:grid;place-items:center;width:50px;height:50px;flex-shrink:0;border-radius:14px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);transition:transform .3s var(--ease),background .3s,color .3s}
.contact-icon .ghs-icon{display:block}
.contact-item:hover .contact-icon{transform:rotate(-8deg) scale(1.06);background:var(--accent);color:#fff}
.contact-body{flex:1;min-width:0}
.contact-label{display:block;font-size:13px;color:var(--muted);line-height:1.6}
.contact-item strong{display:block;font-size:16px;font-weight:700;line-height:1.7;word-break:break-word}
.contact-item strong a:hover{color:var(--accent)}

.ghs-maintenance{display:grid;place-items:center;padding:24px;background:radial-gradient(90% 70% at 50% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),var(--bg)}
.maint-card{width:100%;max-width:580px;padding:clamp(28px,5vw,56px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:0 40px 90px -40px var(--shade);text-align:center}
.maint-card .brand{justify-content:center;margin-bottom:28px}
.maint-icon{display:grid;place-items:center;width:90px;height:90px;margin:0 auto 22px;border-radius:26px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);animation:ghsFloat 3s ease-in-out infinite}
.maint-card h1{margin:0 0 12px;font-size:clamp(22px,3vw,32px);font-weight:900}
.maint-card p{margin:0;color:var(--muted);line-height:2.15}

.ghs-ad-slot{display:flex;justify-content:center;margin:26px 0}
.ghs-ad-slot>a{display:block;overflow:hidden;border-radius:var(--r);line-height:0;transition:transform .3s var(--ease)}
.ghs-ad-slot>a:hover{transform:translateY(-3px)}
.ghs-ad-slot>a img{display:block;max-width:100%;height:auto}
.ghs-ad-home_top,.ghs-ad-home_between{width:100%}
.ghs-ad-home_top>a,.ghs-ad-home_between>a,.ghs-ad-home_top>.ghs-ad-code,.ghs-ad-home_between>.ghs-ad-code{width:100%}
.ghs-ad-home_top>a img{width:100%;aspect-ratio:1200/120;object-fit:cover}
.ghs-ad-home_between>a img{width:100%;aspect-ratio:1200/160;object-fit:cover}
.ghs-ad-footer_top{width:var(--wrap);margin:36px auto 0}
.ghs-ad-footer_top>a,.ghs-ad-footer_top>.ghs-ad-code{width:100%}
.ghs-ad-footer_top>a img{width:100%;aspect-ratio:1200/120;object-fit:cover}
.ghs-ad-game_sidebar{margin:0}
.ghs-ad-game_sidebar>a,.ghs-ad-game_sidebar>.ghs-ad-code{width:100%}
.ghs-ad-game_sidebar>a img{width:100%;aspect-ratio:1;object-fit:cover}

.ghs-footer{margin-top:64px;border-top:1px solid var(--line);background:var(--footer-bg)}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;width:var(--wrap);margin-inline:auto;padding:38px 0 30px}
.footer-brand{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;flex:0 1 auto;min-width:min(100%,340px)}
.footer-brand p{flex:1 1 200px;margin:0;color:var(--muted);font-size:14px;line-height:1.9}
.footer-nav{display:flex;flex-wrap:wrap;flex:0 1 auto;gap:10px 24px}
.footer-nav a{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:600;transition:color .2s}
.footer-nav a .ghs-icon{color:var(--muted);transition:color .2s}
.footer-nav a:hover,.footer-nav a:hover .ghs-icon{color:var(--accent)}
.footer-social{flex-basis:100%;display:flex;flex-wrap:wrap;gap:10px;margin-top:-4px}
.footer-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--surface);border:1px solid var(--line);color:var(--muted);transition:color .2s,border-color .2s,transform .2s var(--ease)}
.footer-social a:hover{color:var(--brand-fg,#fff);background:var(--brand,var(--accent));border-color:var(--brand,var(--accent));transform:translateY(-2px)}
.social-telegram{--brand:#229ed9}
.social-instagram{--brand:#e1306c}
.social-whatsapp{--brand:#25d366}
.social-twitter{--brand:#111318;--brand-fg:#fff}
:root:not([data-theme="light"]) .social-twitter{--brand:#f2f3f6;--brand-fg:#0b0c10}
.social-youtube{--brand:#ff0033}
.social-discord{--brand:#5865f2}
.social-eitaa{--brand:#ef7f1a}
.social-bale{--brand:#16a48c}
.social-rubika{--brand:#7b3fe4}
.social-soroush{--brand:#1f8ceb}
.social-igap{--brand:#1aa3c8}
.social-aparat{--brand:#ea1d5d}
.social-website,.social-email{--brand:var(--accent)}
.social-item .contact-icon{color:var(--brand,var(--accent));background:color-mix(in srgb,var(--brand,var(--accent)) 13%,transparent)}
.social-item:hover .contact-icon{background:var(--brand,var(--accent));color:var(--brand-fg,#fff)}
.copyright{flex-basis:100%;margin:0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.copyright strong{color:var(--text)}

@keyframes ghsFade{from{opacity:0}to{opacity:1}}
@keyframes ghsFloat{50%{transform:translateY(-8px)}}
@keyframes rise{from{opacity:0;translate:0 18px}}
@keyframes tileFloat{50%{translate:0 -14px}}
@keyframes orbDrift{to{transform:translate(70px,-40px) scale(1.18)}}
@keyframes promoShift{to{background-position:100% 100%}}
@keyframes promoLines{to{background-position:-54px 0}}
@keyframes gridPan{to{background-position:46px 46px}}
@keyframes markPulse{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--accent) 0%,transparent)}}

.ghs-perf .ghs-header{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ghs-perf .rail-wrap::before,.ghs-perf .rail-wrap::after,.ghs-perf .platform-badge,.ghs-perf .genre-count,.ghs-perf .promo-tile{backdrop-filter:none;-webkit-backdrop-filter:none}
.ghs-perf .platform-badge{background:rgba(10,12,18,.86)}
.ghs-perf .genre-count{background:rgba(10,12,18,.78)}
.ghs-perf .promo-tile{background:color-mix(in srgb,var(--surface) 88%,transparent)}
.ghs-perf .promo-bg{background:var(--surface);animation:none}
.ghs-perf .promo-bg::before{content:'';position:absolute;top:0;left:0;z-index:-1;width:220%;height:220%;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 20%,var(--surface)),var(--surface) 45%,color-mix(in srgb,var(--accent-2) 18%,var(--surface)));animation:perfShift 12s ease-in-out infinite alternate}
.ghs-perf .promo-orb,.ghs-perf .sc-orb{filter:none;scale:1.4}
.ghs-perf .promo-orb.p1,.ghs-perf .sc-orb-1{background:radial-gradient(closest-side,var(--accent) 25%,transparent)}
.ghs-perf .promo-orb.p2,.ghs-perf .sc-orb-2{background:radial-gradient(closest-side,var(--accent-2) 25%,transparent)}
.ghs-perf .sc-orb-3{background:radial-gradient(closest-side,#6d5dfc 25%,transparent)}
.ghs-perf .promo-lines,.ghs-perf .sc-grid{overflow:hidden;background:none;animation:none}
.ghs-perf .promo-lines::before{content:'';position:absolute;top:0;bottom:0;left:0;right:-54px;background:repeating-linear-gradient(115deg,transparent 0 26px,color-mix(in srgb,var(--text) 6%,transparent) 26px 27px);animation:perfLines 6s linear infinite}
.ghs-perf .sc-grid::before{content:'';position:absolute;top:-46px;left:-46px;right:0;bottom:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px);background-size:46px 46px;animation:perfGrid 12s linear infinite}
.ghs-perf .is-idle,.ghs-perf .is-idle *,.ghs-perf .is-idle *::before{animation-play-state:paused!important}
@keyframes perfShift{to{transform:translate(-54.5455%,-54.5455%)}}
@keyframes perfLines{to{transform:translateX(-54px)}}
@keyframes perfGrid{to{transform:translate(46px,46px)}}
@keyframes ctaPulse{0%,100%{box-shadow:0 18px 40px -12px color-mix(in srgb,var(--accent) 80%,transparent),0 0 0 0 color-mix(in srgb,var(--accent) 50%,transparent)}50%{box-shadow:0 18px 40px -12px color-mix(in srgb,var(--accent) 80%,transparent),0 0 0 14px color-mix(in srgb,var(--accent) 0%,transparent)}}
@media (prefers-reduced-motion:reduce){.ghs-body *,.ghs-body *::before,.ghs-body *::after{animation:none!important;transition:none!important}}

@media (max-width:1280px){
    .ghs-rail,.genre-rail{grid-auto-columns:calc((100% - 4 * 20px) / 5)}
    .game-layout{grid-template-columns:320px minmax(0,1fr);gap:30px}
    .promo-art{width:220px}
}

@media (max-width:1024px){
    .header-inner{height:70px;gap:12px}
    .mobile-menu{display:grid}
    .main-nav{position:absolute;top:100%;right:0;left:0;z-index:55;flex-direction:column;align-items:stretch;gap:6px;max-height:calc(100vh - 90px);overflow-y:auto;padding:14px;border-radius:0 0 var(--r-lg) var(--r-lg);background:var(--bg);border:1px solid var(--line);border-top:0;box-shadow:0 34px 60px -30px var(--shade);display:none}
    .ghs-header.nav-open .main-nav{display:flex}
    .main-nav .ghs-dropdown{width:100%}
    .main-nav .ghs-dropdown::after{display:none}
    .main-nav .nav-btn{width:100%;justify-content:flex-start;background:var(--surface)}
    .main-nav .nav-btn .ghs-icon:last-child{margin-inline-start:auto}
    .main-nav .ghs-dropdown .menu{position:static;display:none;min-width:0;max-height:none;margin-top:6px;opacity:1;visibility:visible;transform:none;box-shadow:none;background:color-mix(in srgb,var(--surface) 60%,var(--bg))}
    .main-nav .ghs-dropdown.open .menu{display:flex}
    .main-nav .ghs-dropdown .menu.menu-genres{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
    .main-nav .ghs-dropdown.open .menu.menu-genres{display:grid}
    .search{max-width:none}
    .ghs-rail,.genre-rail{grid-auto-columns:calc((100% - 3 * 16px) / 4);gap:16px}
    .hero-slide{grid-template-columns:1fr;gap:20px}
    .hero-thumbs{grid-template-columns:repeat(4,1fr)}
    .showcase{grid-template-columns:1fr;gap:20px}
    .sc-cluster{width:min(380px,100%)}
    .sc-watermark{right:50%;top:70%;width:min(360px,60%)}
    .game-layout{grid-template-columns:1fr}
    .game-side{position:static;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
    .game-side .game-cover{width:100%;max-width:320px;margin-inline:auto}
    .game-side .file-pass{margin:0}
    .game-side.has-ad{grid-template-columns:repeat(2,minmax(0,1fr))}
    .game-side.has-ad>*{grid-column:1/-1}
    .game-side.has-ad .game-cover{grid-column:1;grid-row:1;max-width:none;margin:0}
    .game-side.has-ad .ghs-ad-slot{grid-column:2;grid-row:1;width:100%;margin:0}
    .game-side .ghs-ad-slot>a,.game-side .ghs-ad-slot>a img{display:block;width:100%;height:auto}
    .game-layout{display:flex!important;flex-direction:column;align-items:stretch;gap:0}
    .game-layout>*,.game-main>*{min-width:0;max-width:100%}
    .game-main{display:contents!important}
    .game-main>*{order:6}
    .game-main>.game-title-row{order:1}
    .game-main>.genre-tags{order:2}
    .game-main>.gallery-viewer{order:3}
    .game-main>.game-desc{order:4}
    .game-layout>.game-side{order:5;margin-bottom:36px}
    .support-grid{grid-template-columns:1fr}
    .footer-inner{flex-direction:column;align-items:stretch}
}
@media (max-width:1024px) and (hover:hover) and (pointer:fine){
    .main-nav .ghs-dropdown:hover .menu{display:none}
    .main-nav .ghs-dropdown.open .menu{display:flex}
    .main-nav .ghs-dropdown.open .menu.menu-genres{display:grid}
}

@media (max-width:768px){
    .ghs-body{font-size:14px}
    .header-inner{flex-wrap:wrap;height:auto;padding:12px 0;row-gap:12px}
    .brand{font-size:19px}
    .brand i{width:36px;height:36px}
    .brand-logo{height:38px;max-width:160px}
    .search{order:10;flex:1 1 100%;height:46px}
    .main-nav{top:100%}
    .account-name{display:none}
    .account-btn{padding:0 5px 0 10px}
    .theme-toggle{width:44px;height:44px}
    .header-actions .theme-toggle{display:none}
    .nav-theme{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:5px 14px 5px 6px;border-radius:12px;background:var(--surface);font-weight:700}
    .nav-theme>span{display:inline-flex;align-items:center;gap:8px}
    .nav-theme>span .ghs-icon{color:var(--accent)}
    .btn-ghost{padding:0 14px}
    .btn-sm{padding:0 14px}
    .ghs-section,.listing{margin:34px 0}
    .section-head{flex-wrap:wrap}
    .rail-edge{width:40px;height:40px;margin-top:-20px}
    .rail-wrap.can-prev{--fade-start:56px}
    .rail-wrap.can-next{--fade-end:56px}
    .more-btn{height:36px}
    .ghs-rail,.genre-rail{grid-auto-columns:calc((100% - 2 * 14px) / 2.6);gap:14px}
    .ghs-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px 14px}
    .genre-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
    .genres-hero{padding:20px}
    .quick{grid-template-columns:1fr;gap:10px}
    .hero{margin-top:20px}
    .hero-thumbs{display:none}
    .hero-info p{-webkit-line-clamp:3}
    .hero-cta{align-self:stretch}
    .hero-nav,.gv-arrow{width:40px;height:44px;margin-top:-22px}
    .wide-promo{flex-direction:column;align-items:flex-start;min-height:0;margin:40px 0;padding:30px 22px}
    .promo-art{display:none}
    .showcase{margin:32px 0;padding:22px 16px;border-radius:20px}
    .showcase-content{gap:10px}
    .showcase-content p{line-height:2}
    .sc-card{border-radius:12px;border-width:3px}
    .sc-cluster{width:min(330px,88%)}
    .game-page{padding-top:18px}
    .gv-thumbs{grid-auto-columns:calc((100% - 2 * 10px) / 3);gap:10px}
    .game-section pre,.guide-box{padding:18px 20px}
    .ticket-row{grid-template-columns:1fr auto}
    .ticket-row time{grid-column:1/-1}
    .msg{max-width:92%}
    .auth-page{padding:30px 0}
    .auth-card{padding:28px 22px}
    .support-fab{bottom:22px;padding:12px 14px}
    .page-shell{margin:28px auto}
    .listing-head{flex-wrap:wrap;padding:14px;gap:14px}
    .listing-head img{width:80px;height:80px}
    .listing-all{margin-inline-start:0;flex:1 1 100%;justify-content:center}
    .footer-inner{padding:30px 0 24px}
}

@media (max-width:480px){
    .header-actions{gap:6px}
    .header-actions .btn-sm{display:none}
    .theme-toggle,.mobile-menu{width:42px;height:42px}
    .btn-ghost{min-height:42px;padding:0 12px;font-size:13px}
    .ghs-rail,.genre-rail{grid-auto-columns:calc((100% - 14px) / 2.15)}
    .ghs-grid,.genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .section-head h2{font-size:19px}
    .rail-edge{display:none!important}
    .more-btn{padding:0 11px;font-size:12px}
    .page-head{gap:12px}
    .page-icon{width:48px;height:48px}
    .genres-hero{flex-direction:column;align-items:flex-start;gap:12px}
    .genre-name{top:12px;right:12px;left:12px;font-size:15px}
    .genre-tile .genre-name{bottom:12px}
    .contact-list{grid-template-columns:1fr}
    .ticket-type-grid{grid-template-columns:1fr}
    .comment-form-top{flex-direction:column;align-items:flex-start}
    .download-box.layout-row{flex-direction:column}
    .download-box.layout-row .dl-btn{flex:1 1 auto;width:100%}
    .comment-head{flex-wrap:wrap}
    .ghs-pagination .page-numbers{min-width:40px;height:40px;padding:0 9px}
}

.ghs-block{margin:44px 0}
.ghs-block-text h2{margin:0 0 10px;font-size:clamp(20px,1.8vw,26px);font-weight:800;line-height:1.5}
.ghs-block-text p{margin:0 0 10px;color:var(--muted)}
.ghs-block-text.align-center{text-align:center}
.ghs-block-text.align-left{text-align:left}
.ghs-block-image img{display:block;width:100%;height:auto;border-radius:var(--r-lg)}
.ghs-block-button{display:flex;justify-content:flex-start}
.ghs-block-button.align-center{justify-content:center}
.ghs-block-button.align-left{justify-content:flex-end}
.ghs-block-html{overflow-x:auto}
.ghs-spacer-sm{height:16px}
.ghs-spacer-md{height:40px}
.ghs-spacer-lg{height:80px}

.premium-badge{position:absolute;left:10px;top:10px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:rgba(10,12,18,.84);color:#ffd35a;font-size:11px;font-weight:800;letter-spacing:.3px}
.premium-box{display:grid;gap:10px;width:100%;padding:16px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.premium-box p{margin:0;color:var(--muted);font-size:14px;line-height:1.9}
.premium-box .hint a{color:var(--accent);font-weight:700}
.premium-tag{display:inline-flex;align-items:center;justify-self:start;gap:6px;padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:13px;font-weight:800}
.pay-form{margin:0}
.pay-form button{width:100%}
.report-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;transition:color .2s}
.report-btn:hover{color:var(--text)}
.report-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.6)}
.report-card{display:grid;gap:10px;width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow:auto;padding:20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.report-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.report-head strong{display:inline-flex;align-items:center;gap:8px;font-size:16px}
.report-close{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:var(--surface-2);color:var(--text);cursor:pointer}
.report-label{font-size:14px;font-weight:700}
.report-label small{color:var(--muted);font-weight:400}
.report-card select{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--text);font:inherit}
.report-reasons{display:grid;gap:6px}
.report-reasons label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-size:14px;cursor:pointer;transition:border-color .2s,background .2s}
.report-reasons label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.report-reasons input{margin:0;accent-color:var(--accent)}
.report-card textarea{min-height:80px}
.report-result{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,transparent);font-size:14px}
.report-result.error{background:rgba(220,70,70,.12);color:#e27272}
.rank-badge{display:inline-flex;align-items:center;gap:4px;margin-inline-start:8px;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:700;line-height:1.8;vertical-align:middle;white-space:nowrap}
.rank-badge.lv-2{color:#6fb3a1}
.rank-badge.lv-3{color:#7aa2d6}
.rank-badge.lv-4{color:#c9a15a}
.rank-badge.lv-5,.rank-badge.lv-6{color:#d77a7a}
.user-notices{display:grid;gap:8px;margin-top:18px}
.user-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--r);background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));font-size:14px}
.user-notice>svg{color:var(--accent)}
.user-notice span{flex:1}
.user-notice button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
.acc-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:20px}
.acc-card{display:flex;gap:12px;padding:14px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}
.acc-card-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}
.acc-card-body{display:grid;flex:1;gap:4px;min-width:0}
.acc-card-body small{color:var(--muted);font-size:12px}
.acc-card-body strong{font-size:16px}
.acc-card-body a{color:var(--accent);font-weight:700}
.acc-progress{height:6px;overflow:hidden;border-radius:6px;background:var(--line)}
.acc-progress i{display:block;height:100%;border-radius:6px;background:var(--grad)}
.page-lead{margin:-4px 0 20px;color:var(--muted)}
.lb-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.lb-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.lb-row.is-me{border-color:var(--accent)}
.lb-rank{width:32px;flex-shrink:0;color:var(--muted);font-size:18px;font-weight:900;text-align:center}
.lb-row.top-1 .lb-rank{color:#e0b64f}
.lb-row.top-2 .lb-rank{color:#b9bfc9}
.lb-row.top-3 .lb-rank{color:#c98a55}
.lb-name{display:flex;flex:1;flex-wrap:wrap;align-items:center;min-width:0}
.lb-points{color:var(--muted);font-size:13px;white-space:nowrap}
.lb-points b{color:var(--text);font-size:16px}
.plans-page{padding:36px 0 20px}
.plans-head{display:grid;justify-items:center;gap:8px;max-width:680px;margin:0 auto 26px;text-align:center}
.plans-head .page-title{margin:0}
.plans-page>.auth-notice{max-width:1040px;margin:0 auto 18px}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;max-width:1040px;margin:0 auto}
.plan-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.plan-card.is-pick{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.plan-pick{position:absolute;top:-12px;right:20px;padding:2px 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:800}
.plan-card h2{margin:0;font-size:20px}
.plan-price{display:flex;align-items:baseline;gap:6px}
.plan-price b{font-size:34px;font-weight:900;line-height:1.3}
.plan-price span,.plan-days{color:var(--muted);font-size:13px}
.plan-perks{display:grid;gap:6px;margin:6px 0 10px;padding:0;list-style:none;font-size:14px}
.plan-perks li{display:flex;align-items:center;gap:8px}
.plan-perks svg{color:var(--accent)}
.plan-card .pay-form,.plan-card>.btn-primary{margin-top:auto}
.plan-card .btn-primary{width:100%}
.ghs-ad-code{display:flex;justify-content:center;max-width:100%;overflow:hidden}

.support-fab.is-right{right:0;left:auto;padding:14px 16px 14px 18px;border-radius:40px 0 0 40px}
.support-fab.is-icon{left:24px;bottom:24px;padding:16px;border-radius:50%}
.support-fab.is-icon.is-right{right:24px;left:auto}
.support-fab.is-icon span,.support-fab.is-icon:hover span{display:none}
.support-head-btn{height:44px}
.support-head-btn span{white-space:nowrap}
.download-box.is-waiting .dl-btn{opacity:.45;filter:grayscale(.4);pointer-events:none}
.dl-wait{justify-content:center;margin:0;color:var(--accent);font-weight:700}
.plans-banner,.lb-banner{display:block;width:100%;max-height:320px;margin-bottom:18px;border-radius:var(--r-lg);object-fit:cover}
.plans-content,.lb-content{max-width:1040px;margin:26px auto 0;line-height:2}
.checkout-card{display:grid;gap:14px;max-width:520px;margin:0 auto}
.checkout-sum{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--r);background:var(--surface-2)}
.checkout-sum b{font-size:18px;white-space:nowrap}
.checkout-card .report-reasons label{font-weight:700}
.card-pay{display:grid;gap:16px;max-width:620px;margin:0 auto}
.card-amount{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:16px;border:1px dashed color-mix(in srgb,var(--accent) 50%,var(--line));border-radius:var(--r);background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--text);font:inherit;cursor:pointer;text-align:right}
.card-amount>span:first-child{color:var(--muted);font-size:13px}
.card-amount b{font-size:22px}
.card-note{margin:0;color:var(--muted);font-size:14px;line-height:1.9}
.bank-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.bank-card{display:grid;gap:8px;padding:18px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 35%,#15171c),#15171c);color:#fff;box-shadow:0 16px 36px -22px rgba(0,0,0,.7)}
.bank-name{font-size:13px;opacity:.8}
.bank-number{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;border:0;background:none;color:#fff;font:inherit;font-size:19px;font-weight:800;letter-spacing:1px;cursor:pointer}
.bank-number .file-pass-state{font-size:12px;font-weight:600;letter-spacing:0;opacity:.85}
.bank-holder{font-size:14px;opacity:.9}
.card-form{display:grid;gap:4px}
.card-form select{width:100%;min-height:50px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--text);font:inherit}
.card-form input[type=file],.ticket-reply input[type=file],.support-grid input[type=file]{width:100%;padding:10px;border:1px dashed var(--line);border-radius:12px;background:var(--field);color:var(--muted);font:inherit}
.lb-me{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:16px;padding:14px 16px;border-radius:var(--r);border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.lb-me>div{display:grid;gap:2px}
.lb-me small{color:var(--muted);font-size:12px}
.lb-me strong{font-size:17px}
.lb-me strong small{font-size:12px}
.lb-rewards{margin-top:30px}
.lb-rewards h2{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:20px}
.lb-reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.lb-reward{display:grid;gap:4px;padding:16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.lb-reward small{color:var(--muted);font-size:12px}
.lb-reward p{margin:6px 0 0;color:var(--accent);font-weight:700;font-size:14px}
.ticket-fields{display:grid;gap:8px;margin:0 0 14px;padding:12px 14px;border-radius:var(--r);background:var(--surface-2)}
.ticket-fields div{display:flex;gap:10px;font-size:14px}
.ticket-fields dt{min-width:110px;color:var(--muted)}
.ticket-fields dd{margin:0}
.msg-file{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--accent);font-size:13px;font-weight:700}
.lb-me .btn-ghost{margin-inline-start:auto;min-height:40px;font-size:13px}
.lb-season{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:14px;padding:14px 16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.lb-season>div{display:grid;gap:2px}
.lb-season small{color:var(--muted);font-size:12px}
.lb-season strong{font-size:16px}
.lb-season p{flex-basis:100%;margin:0;color:var(--muted);font-size:13px;line-height:1.9}
.lb-tabs{display:inline-flex;gap:4px;margin-bottom:16px;padding:4px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.lb-tabs a{padding:7px 16px;border-radius:9px;color:var(--muted);font-size:14px;font-weight:700}
.lb-tabs a.is-active{background:var(--grad);color:#fff}
.lb-gap{padding:2px 0;color:var(--muted);text-align:center;font-weight:900;letter-spacing:4px}
.lb-winner strong{font-size:17px}
.lb-winner.top-1{border-color:#e0b64f}
.lb-winner.top-2{border-color:#b9bfc9}
.lb-winner.top-3{border-color:#c98a55}
.badge-ico{display:inline-grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:9px;color:var(--bc,var(--accent));background:color-mix(in srgb,var(--bc,var(--accent)) 16%,transparent);border:1px solid color-mix(in srgb,var(--bc,var(--accent)) 38%,transparent)}
.badge-strip{display:inline-flex;gap:4px;margin-inline-start:8px}
.badge-strip .badge-ico{width:22px;height:22px;border-radius:7px}
.badge-grid,.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.badge-card{display:flex;gap:14px;padding:16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);opacity:.78;transition:opacity .25s,border-color .25s}
.badge-card .badge-ico{width:54px;height:54px;border-radius:16px;filter:grayscale(1)}
.badge-card.is-done{opacity:1;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.badge-card.is-done .badge-ico{filter:none;box-shadow:0 10px 24px -14px var(--bc,var(--accent))}
.badge-body{display:grid;flex:1;gap:5px;min-width:0;align-content:start}
.badge-body strong{font-size:16px}
.badge-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.badge-body small{color:var(--muted);font-size:12px}
.badge-got{display:inline-flex;align-items:center;gap:4px;color:#22c55e!important;font-weight:700}
.badge-reward{justify-self:start;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:12px;font-weight:700}
.shop-card{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);transition:border-color .25s,transform .25s var(--ease)}
.shop-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));transform:translateY(-3px)}
.shop-card.is-off{opacity:.72}
.shop-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}
.shop-card h2{margin:0;font-size:18px}
.shop-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.shop-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:auto}
.shop-meta small{color:var(--muted);font-size:12px}
.shop-cost{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}
.shop-cost b{color:var(--text);font-size:18px}
.shop-card form .btn-primary,.shop-card>.btn-ghost{width:100%}
.shop-card>.btn-ghost[disabled]{cursor:not-allowed;opacity:.8}
.shop-history{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.shop-history li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.shop-history small{color:var(--muted);font-size:12px}
.shop-status{margin-inline-start:auto;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,#22c55e 14%,transparent);color:#22c55e;font-size:12px;font-weight:700}
.shop-status.is-pending{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706}
.shop-page .auth-notice a,.badges-page .auth-notice a{color:var(--accent);font-weight:800}
.shop-page>.auth-notice:not(.error):not(.success),.badges-page>.auth-notice{background:var(--surface);border:1px solid var(--line)}
