@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap');

/* ── TOKENS ── */
:root {
  --bg:        #f2f4f8;
  --bg2:       #ffffff;
  --bg3:       #e8ecf3;
  --surface:   #ffffff;
  --surface2:  #f5f7fb;
  --border:    rgba(0,0,0,.08);
  --border2:   rgba(0,0,0,.14);
  --text:      #0d1117;
  --text2:     #4b5468;
  --text3:     #8a94a6;
  --accent:    #3b6ef5;
  --accent2:   #2554e0;
  --accent-bg: rgba(59,110,245,.09);
  --green:     #16a34a;
  --green-bg:  rgba(22,163,74,.1);
  --red:       #dc2626;
  --red-bg:    rgba(220,38,38,.1);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.06),0 2px 6px rgba(0,0,0,.04);
  --shadow:    0 2px 8px rgba(0,0,0,.08),0 6px 20px rgba(0,0,0,.05);
  --shadow-lg: 0 4px 16px rgba(0,0,0,.12),0 12px 36px rgba(0,0,0,.08);
  --r:         12px;
  --r-sm:      8px;
  --r-lg:      18px;
  --r-xl:      24px;
  --nav-h:     60px;
  --font:      'Nunito',system-ui,sans-serif;
  --mono:      'JetBrains Mono',monospace;
  --ease:      cubic-bezier(.4,0,.2,1);
  --t:         .17s;
}
[data-theme="dark"] {
  --bg:        #090c12;
  --bg2:       #0f1219;
  --bg3:       #161b25;
  --surface:   #131820;
  --surface2:  #1a1f2c;
  --border:    rgba(255,255,255,.07);
  --border2:   rgba(255,255,255,.13);
  --text:      #edf0f7;
  --text2:     #8d97ae;
  --text3:     #4f5a6e;
  --accent:    #5b8af8;
  --accent2:   #4a78f0;
  --accent-bg: rgba(91,138,248,.12);
  --green:     #22c55e;
  --green-bg:  rgba(34,197,94,.12);
  --red:       #f87171;
  --red-bg:    rgba(248,113,113,.12);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.2);
  --shadow:    0 2px 8px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.28);
  --shadow-lg: 0 4px 16px rgba(0,0,0,.5),0 12px 36px rgba(0,0,0,.38);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;font-size:15px;min-height:100vh;-webkit-font-smoothing:antialiased;transition:background var(--t),color var(--t)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}

/* ── NAV ── */
.nav{position:sticky;top:0;z-index:200;height:var(--nav-h);background:var(--bg2);border-bottom:1px solid var(--border);transition:background var(--t),border-color var(--t)}
.nav-inner{max-width:1120px;margin:0 auto;height:100%;display:flex;align-items:center;gap:12px;padding:0 24px}
.nav-logo{display:flex;align-items:center;gap:9px;font-size:16.5px;font-weight:900;color:var(--text);letter-spacing:-.3px;flex-shrink:0;transition:opacity var(--t)}
.nav-logo:hover{opacity:.75}
.nav-logo-icon{width:32px;height:32px;border-radius:9px;flex-shrink:0;background:var(--accent);display:flex;align-items:center;justify-content:center}
.nav-logo-icon svg{width:19px;height:19px;fill:#fff}
.nav-logo .a{color:var(--accent)}
.nav-links{display:flex;gap:2px;margin:0 6px}
.nav-link{padding:6px 12px;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--text2);transition:all var(--t);display:flex;align-items:center;gap:6px;white-space:nowrap}
.nav-link i{font-size:12.5px}
.nav-link:hover,.nav-link.active{color:var(--accent);background:var(--accent-bg)}

/* ── SEARCH ── */
.nav-search{flex:1;max-width:360px;margin:0 auto;position:relative}
.nav-search-wrap{position:relative;display:flex;align-items:center}
.nav-search-ico{position:absolute;left:11px;color:var(--text3);pointer-events:none;font-size:13px;z-index:1;line-height:1}
/* Hide native clear button completely */
.nav-search input[type=search]::-webkit-search-cancel-button,
.nav-search input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.nav-search input[type=search]{-webkit-appearance:none;appearance:none}
.nav-search input{width:100%;height:36px;background:var(--bg3);border:1.5px solid var(--border);border-radius:10px;color:var(--text);padding:0 32px 0 33px;font-family:var(--font);font-size:13.5px;outline:none;transition:border-color var(--t),background var(--t)}
.nav-search input::placeholder{color:var(--text3)}
.nav-search input:focus{border-color:var(--accent);background:var(--surface)}
/* Custom clear btn */
.nav-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:var(--text3);border:none;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:background var(--t)}
.nav-search-clear:hover{background:var(--text2)}
.nav-search-clear svg{width:9px;height:9px;fill:#fff;display:block}
.nav-search-clear.visible{display:flex}

/* Search dropdown */
.search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r);box-shadow:var(--shadow-lg);z-index:400;overflow:hidden;display:none;max-height:320px;overflow-y:auto}
.search-dropdown.open{display:block}
.search-dd-item{display:flex;align-items:center;gap:10px;padding:9px 12px;color:var(--text);transition:background var(--t);cursor:pointer}
.search-dd-item:hover{background:var(--bg3)}
.search-dd-img{width:36px;height:36px;border-radius:9px;object-fit:cover;flex-shrink:0;border:1px solid var(--border);background:var(--bg3)}
.search-dd-ph{width:36px;height:36px;border-radius:9px;flex-shrink:0;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:14px}
.search-dd-info{flex:1;min-width:0}
.search-dd-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-dd-meta{display:flex;align-items:center;gap:6px;margin-top:2px}
.search-dd-cat{font-size:11px;color:var(--text3)}
.search-dd-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px}
.search-dd-empty{padding:20px;text-align:center;color:var(--text3);font-size:13px}
.search-dd-empty i{display:block;font-size:24px;margin-bottom:8px;color:var(--border2)}

.nav-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.nav-icon-btn{width:34px;height:34px;border-radius:9px;border:1.5px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13.5px;transition:all var(--t)}
.nav-icon-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}

/* ── LAYOUT ── */
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.page-body{padding:28px 0 64px}

/* ── HERO ── */
.site-hero{background:var(--bg2);border-bottom:1px solid var(--border);padding:22px 0 18px;margin-bottom:28px}
.site-hero h1{font-size:clamp(17px,2.2vw,24px);font-weight:900;letter-spacing:-.3px;color:var(--accent);margin-bottom:3px;display:flex;align-items:center;gap:8px}
.site-hero h1 i{font-size:.88em}
.site-hero p{color:var(--text2);font-size:13.5px}

/* ── SECTION ── */
.section{margin-bottom:32px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.section-title{font-size:16px;font-weight:800;letter-spacing:-.2px;display:flex;align-items:center;gap:7px}
.section-title i{color:var(--accent);font-size:14px}
.section-more{font-size:13px;color:var(--accent);font-weight:700;display:flex;align-items:center;gap:4px;padding:5px 11px;border-radius:8px;transition:background var(--t);white-space:nowrap}
.section-more:hover{background:var(--accent-bg)}
.section-more i{font-size:11px;transition:transform var(--t)}
.section-more:hover i{transform:translateX(2px)}

/* ── COLLECTIONS ── */
.collections-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.collection-card{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;position:relative;display:block;transition:transform var(--t),box-shadow var(--t)}
.collection-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.collection-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.collection-card:hover img{transform:scale(1.05)}
.collection-card-bg{position:absolute;inset:0}
.collection-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.65) 100%)}
.collection-label{position:absolute;bottom:0;left:0;right:0;padding:9px 11px 12px;color:#fff;font-size:12px;font-weight:700;line-height:1.25;display:flex;align-items:flex-end;justify-content:space-between}
.collection-label i{font-size:10px;opacity:.65}

/* ── APP CARD ── */
.apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.app-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:12px 13px;display:flex;align-items:center;gap:11px;color:var(--text);box-shadow:var(--shadow-sm);transition:border-color var(--t),box-shadow var(--t),transform var(--t);will-change:transform}
.app-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}
.app-icon{width:48px;height:48px;border-radius:11px;object-fit:cover;flex-shrink:0;border:1px solid var(--border);background:var(--bg3)}
.app-icon-ph{width:48px;height:48px;border-radius:11px;flex-shrink:0;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:18px}
.app-info{flex:1;min-width:0}
.app-name{font-size:12.5px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}
.app-cat{font-size:11px;color:var(--text3);margin-bottom:4px;display:flex;align-items:center;gap:3px}
.app-cat i{font-size:9.5px}
.app-badges{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:5px;font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.badge i{font-size:8.5px}
.badge-mod{background:var(--green-bg);color:var(--green)}
.badge-update{background:var(--accent-bg);color:var(--accent)}
.badge-ver{background:var(--bg3);color:var(--text3);font-family:var(--mono);text-transform:none;font-weight:500;font-size:10px;letter-spacing:0}

/* ── BREADCRUMB ── */
.breadcrumb{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:12px;color:var(--text3);margin-bottom:16px}
.breadcrumb a{color:var(--text3);transition:color var(--t)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb i{font-size:8.5px;opacity:.45}

/* ── APP DETAIL ── */
.app-page{max-width:720px;margin:0 auto}
.app-card-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:28px 26px;box-shadow:var(--shadow);margin-bottom:14px}
.app-page-header{text-align:center;margin-bottom:22px}
.app-page-icon{width:90px;height:90px;border-radius:20px;object-fit:cover;border:1px solid var(--border);box-shadow:0 4px 18px rgba(0,0,0,.1);margin:0 auto 12px;display:block}
.app-page-icon-ph{width:90px;height:90px;border-radius:20px;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:34px;color:var(--text3);margin:0 auto 12px}
.app-page-title{font-size:clamp(18px,3vw,24px);font-weight:900;letter-spacing:-.4px;line-height:1.2;margin-bottom:7px}
.app-page-cat{font-size:13px;color:var(--text3);margin-bottom:11px;display:flex;align-items:center;justify-content:center;gap:5px}
.app-page-cat i{font-size:11.5px}
.app-page-cat a{color:var(--accent)}
.app-page-cat a:hover{text-decoration:underline}
.app-meta-row{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.android-badge{display:inline-flex;align-items:center;gap:5px;background:var(--bg3);color:var(--text2);border-radius:7px;padding:4px 10px;font-size:11.5px;font-weight:600}
.android-badge i{font-size:11px;color:var(--green)}
.rating-row{display:flex;gap:8px;justify-content:center;margin-bottom:20px}
.rating-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;border-radius:10px;border:1.5px solid var(--border);background:transparent;color:var(--text2);font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;transition:all var(--t)}
.rating-btn i{font-size:13px}
.rating-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.rating-btn.active-up{border-color:var(--green);color:var(--green);background:var(--green-bg)}
.rating-btn.active-down{border-color:var(--red);color:var(--red);background:var(--red-bg)}
.app-description{font-size:14px;line-height:1.8;color:var(--text2);margin-bottom:20px}
.screenshots-scroll{display:flex;gap:8px;overflow-x:auto;margin-bottom:22px;padding-bottom:4px;scrollbar-width:thin}
.screenshots-scroll img{height:140px;width:auto;flex-shrink:0;border-radius:9px;object-fit:cover;border:1px solid var(--border)}
.download-title{font-size:14px;font-weight:800;margin-bottom:11px;display:flex;align-items:center;gap:6px}
.download-title i{color:var(--accent)}
.download-btn{display:flex;align-items:center;justify-content:space-between;background:var(--accent);color:#fff;border-radius:12px;padding:13px 16px;font-weight:700;font-size:13px;transition:all var(--t);margin-bottom:6px;box-shadow:0 4px 14px rgba(59,110,245,.32)}
.download-btn:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(59,110,245,.42)}
.download-btn-left{display:flex;align-items:center;gap:9px}
.download-btn-left i{font-size:15px;opacity:.85}
.download-btn-name{font-family:var(--mono);font-size:11px;font-weight:400;opacity:.8}
.download-btn-size{font-size:11.5px;opacity:.75}
.mod-info{font-size:11.5px;color:var(--text3);display:flex;align-items:center;gap:5px;justify-content:center;margin-top:4px}
.mod-info i{color:var(--green);font-size:10.5px}

/* ── VPN BANNER ── */
.vpn-banner{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#0d1b3e 0%,#0f2a5c 60%,#0a1e48 100%);border:1px solid rgba(91,138,248,.2);border-radius:var(--r-lg);padding:16px 20px;margin:14px 0;transition:transform var(--t),box-shadow var(--t);box-shadow:0 4px 20px rgba(13,27,62,.45)}
.vpn-banner:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(13,27,62,.6)}
.vpn-banner-icon{width:46px;height:46px;border-radius:12px;flex-shrink:0;background:rgba(91,138,248,.18);display:flex;align-items:center;justify-content:center}
.vpn-banner-icon svg{width:24px;height:24px;fill:#5b8af8}
.vpn-banner-body{flex:1;min-width:0}
.vpn-banner-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#5b8af8;margin-bottom:2px}
.vpn-banner-title{font-size:13.5px;font-weight:800;color:#fff;line-height:1.25}
.vpn-banner-sub{font-size:11.5px;color:rgba(255,255,255,.48);margin-top:2px}
.vpn-banner-cta{background:rgba(91,138,248,.16);border:1px solid rgba(91,138,248,.32);color:#5b8af8;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:700;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:5px}
.vpn-banner-cta i{font-size:10.5px}
.vpn-inline{display:flex;align-items:center;gap:9px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px;margin:14px 0;font-size:12.5px;color:var(--text2);transition:all var(--t)}
.vpn-inline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.vpn-inline i{font-size:13px;color:var(--accent);flex-shrink:0}
.vpn-inline strong{color:var(--accent);font-weight:700}

/* ── CATS & FILTERS ── */
.cat-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.cat-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);color:var(--text2);font-family:var(--font);font-size:12.5px;font-weight:700;cursor:pointer;transition:all var(--t)}
.cat-chip i{font-size:11px}
.cat-chip:hover,.cat-chip.active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}

/* ── PAGE TITLE ── */
.page-title{font-size:clamp(20px,3.5vw,28px);font-weight:900;letter-spacing:-.4px;margin-bottom:14px;display:flex;align-items:center;gap:9px}
.page-title i{color:var(--accent);font-size:.85em}

/* ── PAGINATION ── */
.pagination{display:flex;justify-content:center;gap:5px;margin-top:26px;flex-wrap:wrap}
.page-link{width:34px;height:34px;border-radius:9px;border:1.5px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:var(--text2);transition:all var(--t)}
.page-link:hover,.page-link.active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}

/* ── SECTION CARD ── */
.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow-sm);margin-bottom:14px}

/* ── COMMENTS ── */
.comment-form textarea,.comment-form input[type=text]{width:100%;border:1.5px solid var(--border);border-radius:9px;background:var(--bg3);color:var(--text);padding:9px 12px;font-family:var(--font);font-size:13.5px;outline:none;transition:border-color var(--t),background var(--t);margin-bottom:8px}
.comment-form textarea{min-height:80px;resize:vertical}
.comment-form textarea:focus,.comment-form input[type=text]:focus{border-color:var(--accent);background:var(--surface)}
.comment-form textarea::placeholder,.comment-form input::placeholder{color:var(--text3)}
.btn-primary{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:9px 20px;font-family:var(--font);font-size:13.5px;font-weight:700;cursor:pointer;transition:all var(--t)}
.btn-primary i{font-size:11.5px}
.btn-primary:hover{background:var(--accent2);transform:translateY(-1px)}
.comment-item{display:flex;gap:11px;padding:12px 0;border-top:1px solid var(--border)}
.comment-item:first-child{border-top:none}
.comment-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--accent-bg);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--accent)}
.comment-body{flex:1;min-width:0}
.comment-meta{display:flex;align-items:center;gap:7px;margin-bottom:3px}
.comment-author{font-size:12.5px;font-weight:700}
.comment-date{font-size:11px;color:var(--text3);display:flex;align-items:center;gap:3px}
.comment-date i{font-size:9.5px}
.comment-text{font-size:13px;color:var(--text2);line-height:1.6}

/* ── NO RESULTS ── */
.no-results{text-align:center;padding:56px 20px;color:var(--text3)}
.no-results-icon{width:68px;height:68px;border-radius:18px;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--text3);margin:0 auto 14px}
.no-results p{font-size:14.5px}

/* ── FOOTER ── */
.footer{background:var(--bg2);border-top:1px solid var(--border);padding:20px 0}
.footer-inner{max-width:1120px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.footer-logo{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;color:var(--text2)}
.footer-logo svg{width:20px;height:20px;fill:var(--accent)}
.footer-copy{font-size:11.5px;color:var(--text3);margin-top:2px}
.footer-links{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.footer-links a{font-size:12px;color:var(--text3);transition:color var(--t);display:flex;align-items:center;gap:4px}
.footer-links a i{font-size:10px}
.footer-links a:hover{color:var(--accent)}

/* ── SEARCH PAGE ── */
.search-header{font-size:16px;font-weight:800;margin-bottom:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.search-header span{color:var(--accent)}
.search-count{font-size:13px;font-weight:400;color:var(--text3)}

/* ── RESPONSIVE ── */
@media(max-width:960px){.collections-grid{grid-template-columns:repeat(3,1fr)}.apps-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.nav-links{display:none}.collections-grid{grid-template-columns:repeat(2,1fr)}.apps-grid{grid-template-columns:1fr}.app-card-detail{padding:18px 14px}.vpn-banner{flex-wrap:wrap}.vpn-banner-cta{width:100%;justify-content:center}.footer-inner{flex-direction:column;align-items:flex-start}.nav-inner{padding:0 14px}.container{padding:0 14px}}
@media(max-width:380px){.collections-grid{grid-template-columns:repeat(2,1fr)}.apps-grid{grid-template-columns:1fr}}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.anim-fadeup{animation:fadeUp .28s var(--ease) both}
.apps-grid .app-card{animation:fadeUp .28s var(--ease) both}
.apps-grid .app-card:nth-child(1){animation-delay:.02s}
.apps-grid .app-card:nth-child(2){animation-delay:.04s}
.apps-grid .app-card:nth-child(3){animation-delay:.06s}
.apps-grid .app-card:nth-child(4){animation-delay:.08s}
.apps-grid .app-card:nth-child(5){animation-delay:.1s}
.apps-grid .app-card:nth-child(6){animation-delay:.12s}
.apps-grid .app-card:nth-child(7){animation-delay:.14s}
.apps-grid .app-card:nth-child(8){animation-delay:.16s}
.apps-grid .app-card:nth-child(9){animation-delay:.18s}

/* ── APP LAYOUT (3-column) ── */
.app-layout{display:grid;grid-template-columns:220px 1fr 220px;gap:20px;align-items:start}
.app-main{min-width:0}
.sidebar-left,.sidebar-right{position:sticky;top:calc(var(--nav-h) + 14px)}

/* ── SIDEBAR WIDGET ── */
.sidebar-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.widget-title{font-size:13px;font-weight:800;padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:7px;color:var(--text)}
.widget-title i{color:var(--accent);font-size:12px}
.widget-item{display:flex;align-items:center;gap:9px;padding:9px 12px;color:var(--text);transition:background var(--t);border-bottom:1px solid var(--border)}
.widget-item:last-child{border-bottom:none}
.widget-item:hover{background:var(--bg3)}
.widget-item img{width:34px;height:34px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}
.widget-item-ph{width:34px;height:34px;border-radius:8px;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:13px;flex-shrink:0}
.widget-item-info{flex:1;min-width:0}
.widget-item-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.widget-item-dl{font-size:10.5px;color:var(--text3);display:flex;align-items:center;gap:4px;margin-top:2px}
.widget-item-dl i{font-size:9.5px}

/* ── APP HERO CARD ── */
.app-hero-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:22px;display:flex;align-items:flex-start;gap:18px;box-shadow:var(--shadow);margin-bottom:12px}
.app-hero-left{flex-shrink:0}
.app-hero-icon-wrap{position:relative;display:inline-block}
.app-hero-icon{width:110px;height:110px;border-radius:22px;object-fit:cover;border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,.12);display:block}
.app-hero-icon-ph{width:110px;height:110px;border-radius:22px;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--text3)}
.app-hero-badge{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);padding:3px 10px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.8px;white-space:nowrap}
.update-badge{background:var(--accent);color:#fff}
.mod-badge{background:var(--green);color:#fff}
.hit-badge{background:#e8500a;color:#fff}
.mod-tag{background:var(--green-bg);color:var(--green);padding:2px 8px;border-radius:5px;font-size:13px;font-weight:700;vertical-align:middle;margin-left:6px}
.app-hero-body{flex:1;min-width:0}
.app-hero-title{font-size:clamp(18px,2.5vw,24px);font-weight:900;letter-spacing:-.4px;line-height:1.2;margin-bottom:6px}
.app-hero-dev{font-size:12px;color:var(--text3);margin-bottom:5px;display:flex;align-items:center;gap:5px}
.app-hero-dev i{font-size:11px}
.app-hero-cat{font-size:13px;margin-bottom:10px}
.app-hero-cat a{color:var(--accent);display:inline-flex;align-items:center;gap:5px;font-weight:700}
.app-hero-cat a:hover{text-decoration:underline}
.app-hero-cat i{font-size:11px}
.app-hero-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.meta-pill{display:inline-flex;align-items:center;gap:4px;background:var(--bg3);color:var(--text2);border-radius:6px;padding:3px 9px;font-size:11.5px;font-weight:600}
.meta-pill i{font-size:10px}
.meta-pill.green i{color:var(--green)}
.app-hero-stars{display:flex;align-items:center;gap:4px}
.star-full{color:#f59e0b;font-size:14px}
.star-half{color:#f59e0b;font-size:14px}
.star-empty{color:var(--border2);font-size:14px}
.stars-val{font-size:13px;font-weight:800;color:var(--text);margin-left:3px}
.stars-count{font-size:11.5px;color:var(--text3)}
.app-hero-right{flex-shrink:0;display:flex;flex-direction:column;gap:8px;min-width:150px;align-items:stretch}
.hero-dl-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--accent);color:#fff;border-radius:12px;padding:13px 16px;font-weight:700;font-size:13.5px;transition:all var(--t);box-shadow:0 4px 14px rgba(59,110,245,.32);text-align:center}
.hero-dl-btn i{font-size:18px;margin-bottom:2px}
.hero-dl-btn small{font-size:10.5px;opacity:.75;font-weight:400}
.hero-dl-btn:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(59,110,245,.42)}
.hero-gp-btn{display:flex;align-items:center;justify-content:center;gap:7px;border:1.5px solid var(--border);border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:700;color:var(--text2);transition:all var(--t)}
.hero-gp-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.hero-gp-btn i{font-size:13px;color:#34a853}
.hero-rating-row{display:flex;align-items:center;gap:6px;justify-content:center}
.hero-vote-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border-radius:9px;border:1.5px solid var(--border);background:transparent;color:var(--text2);font-family:var(--font);font-size:12.5px;font-weight:700;cursor:pointer;transition:all var(--t);flex:1;justify-content:center}
.hero-vote-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.hero-vote-btn.up.active{border-color:var(--green);color:var(--green);background:var(--green-bg)}
.hero-vote-btn.down.active{border-color:var(--red);color:var(--red);background:var(--red-bg)}
.hero-vote-btn i{font-size:13px}
.hero-rating-score{background:var(--bg3);border-radius:8px;padding:6px 8px;text-align:center;flex-shrink:0}
.hero-rating-score span{font-size:15px;font-weight:900;color:var(--accent)}
.hero-rating-score small{font-size:10px;color:var(--text3);display:block}

/* ── HOMEPAGE APP CARD (extended) ── */
.app-card-rating{font-size:11px;color:var(--text3);display:flex;align-items:center;gap:3px;margin-top:3px}
.app-card-rating .star-s{color:#f59e0b;font-size:10px}
.app-card-rating .star-e{color:var(--border2);font-size:10px}

/* ── FAQ ── */
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;font-size:14px;font-weight:700;transition:background var(--t)}
.faq-q:hover{background:var(--bg3)}
.faq-q i.arrow{transition:transform var(--t);color:var(--text3);font-size:11px;flex-shrink:0}
.faq-item.open .faq-q i.arrow{transform:rotate(180deg);color:var(--accent)}
.faq-a{font-size:13.5px;color:var(--text2);line-height:1.75;padding:0 16px;max-height:0;overflow:hidden;transition:max-height .3s var(--ease),padding .3s}
.faq-item.open .faq-a{max-height:300px;padding:12px 16px 16px}

/* ── RESPONSIVE SIDEBAR ── */
@media(max-width:1200px){.app-layout{grid-template-columns:190px 1fr 190px}}
@media(max-width:1000px){.app-layout{grid-template-columns:1fr}.sidebar-left,.sidebar-right{display:none}}
@media(max-width:680px){.app-hero-card{flex-direction:column;align-items:center;text-align:center}.app-hero-right{width:100%}.app-hero-body{width:100%}.app-hero-meta{justify-content:center}.app-hero-stars{justify-content:center}}

/* ── MODAL ── */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.modal-box{background:var(--surface);border:1px solid var(--border2);border-radius:var(--r-xl);padding:28px 24px;width:100%;max-width:380px;box-shadow:var(--shadow-lg);animation:fadeUp .2s var(--ease)}
.modal-icon{width:56px;height:56px;border-radius:16px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:22px}
.modal-icon.orange{background:var(--orange-bg);color:var(--orange)}
.modal-icon.green{background:var(--green-bg);color:var(--green)}
.modal-title{font-size:16px;font-weight:800;text-align:center;margin-bottom:8px}
.modal-text{font-size:13.5px;color:var(--text2);text-align:center;line-height:1.6;margin-bottom:20px}
.modal-actions{display:flex;gap:8px;justify-content:center}
.modal-btn{padding:9px 22px;border-radius:9px;font-size:13.5px;font-weight:700;border:1.5px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;font-family:var(--font);transition:all var(--t);display:inline-flex;align-items:center;gap:6px}
.modal-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.modal-btn:hover{opacity:.85}

/* ── SIDEBAR WIDGETS ── */
.app-page-layout{display:grid;grid-template-columns:1fr 220px;gap:20px;align-items:start}
.app-page-sidebar{display:flex;flex-direction:column;gap:14px}
.sidebar-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.widget-head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800}
.widget-head i{color:var(--accent);font-size:12px}
.widget-item{display:flex;align-items:center;gap:9px;padding:9px 12px;border-bottom:1px solid var(--border);transition:background var(--t)}
.widget-item:last-child{border-bottom:none}
.widget-item:hover{background:var(--bg3)}
.widget-icon{width:34px;height:34px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}
.widget-icon-ph{width:34px;height:34px;border-radius:8px;flex-shrink:0;background:var(--bg3);display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:14px}
.widget-info{flex:1;min-width:0}
.widget-name{font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.widget-dl{font-size:10.5px;color:var(--text3);display:flex;align-items:center;gap:3px;margin-top:1px}
.widget-dl i{font-size:9px}
.widget-num{font-size:12px;font-weight:800;color:var(--accent);flex-shrink:0}

/* ── RATING DISPLAY ── */
.rating-display{display:flex;align-items:center;gap:6px;justify-content:center;margin-bottom:4px}
.rating-stars{display:flex;gap:2px}
.rating-star{font-size:14px;color:var(--border2)}
.rating-star.filled{color:#f59e0b}
.rating-star.half{color:#f59e0b;opacity:.5}
.rating-num{font-size:20px;font-weight:900;letter-spacing:-.5px}
.rating-max{font-size:12px;color:var(--text3);margin-top:2px}
.rating-votes{font-size:11.5px;color:var(--text3);margin-top:1px}

/* APP CARD RATING */
.app-card-rating{display:flex;align-items:center;gap:4px;margin-top:3px}
.app-card-rating i{font-size:10px;color:#f59e0b}
.app-card-rating span{font-size:11px;font-weight:700;color:var(--text2)}
.app-card-dl{font-size:10.5px;color:var(--text3);margin-top:2px;display:flex;align-items:center;gap:3px}
.app-card-dl i{font-size:9.5px}

/* ── FAQ ── */
.faq-list{display:flex;flex-direction:column;gap:8px}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.faq-q{padding:14px 16px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:background var(--t);user-select:none}
.faq-q:hover{background:var(--bg3)}
.faq-q i.chevron{flex-shrink:0;transition:transform .2s var(--ease);color:var(--text3);font-size:12px}
.faq-item.open .faq-q i.chevron{transform:rotate(90deg)}
.faq-a{padding:0 16px;max-height:0;overflow:hidden;transition:max-height .3s var(--ease),padding .3s var(--ease)}
.faq-item.open .faq-a{max-height:300px;padding:0 16px 14px}
.faq-a p{font-size:13.5px;color:var(--text2);line-height:1.7}

/* ── DOWNLOAD BLOCK FIXED ── */
.download-file-row{display:flex;align-items:center;justify-content:space-between;background:var(--accent);color:#fff;border-radius:12px;padding:13px 16px;margin-bottom:6px;box-shadow:0 4px 14px rgba(59,110,245,.32);text-decoration:none;transition:all var(--t)}
.download-file-row:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(59,110,245,.42)}
.download-file-left{display:flex;align-items:center;gap:9px}
.download-file-left i{font-size:15px;opacity:.85}
.download-file-name{font-family:var(--mono);font-size:11px;opacity:.85}
.download-file-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}
.download-file-size{font-size:11.5px;opacity:.75;display:flex;align-items:center;gap:4px}
.download-file-size i{font-size:10px}
.download-badge{font-size:10.5px;background:rgba(255,255,255,.2);padding:3px 8px;border-radius:5px;font-weight:700}

/* ── DEVELOPER ROW ── */
.app-dev-row{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text3);justify-content:center;margin-bottom:6px}
.app-dev-row i{font-size:11px}
.app-dev-row a{color:var(--accent)}

/* ── CATEGORY PAGE WIDE ── */
.page-header{background:var(--bg2);border-bottom:1px solid var(--border);padding:22px 0;margin-bottom:24px}

/* ── RESPONSIVE sidebar ── */
@media(max-width:860px){.app-page-layout{grid-template-columns:1fr}.app-page-sidebar{display:none}}

/* ── APP CARD v2 (horizontal, screenshot-6 style) ── */
.app-icon-wrap{position:relative;flex-shrink:0;width:52px;height:52px}
.app-icon-wrap .app-icon{width:52px;height:52px;border-radius:12px}
.app-icon-badge{position:absolute;top:-4px;left:-4px;font-size:8.5px;font-weight:900;text-transform:uppercase;padding:2px 5px;border-radius:4px;letter-spacing:.4px;line-height:1.2}
.app-icon-badge.mod{background:#16a34a;color:#fff}
.app-icon-badge.hit{background:var(--accent);color:#fff}
.app-dl-btn{width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-left:auto;transition:all var(--t)}
.app-card:hover .app-dl-btn{background:var(--accent2);transform:scale(1.05)}

/* Stars */
.app-stars-row{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:14px}
.app-stars-row .fa-star,.app-stars-row .fa-star-half-stroke{font-size:14px}
.stars-rating{font-size:13.5px;font-weight:800;color:var(--text);margin-left:4px}
.stars-votes{font-size:11.5px;color:var(--text3)}

/* App layout with sidebars */
.app-layout{display:grid;grid-template-columns:200px 1fr 200px;gap:20px;align-items:start}
.app-main{min-width:0}
.app-sidebar{position:sticky;top:calc(var(--nav-h) + 16px)}

/* Widget */
.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.widget-title{padding:12px 14px;font-size:13px;font-weight:800;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);color:var(--text)}
.widget-title i{color:var(--accent);font-size:12px}
.widget-item{display:flex;align-items:center;gap:9px;padding:9px 12px;border-bottom:1px solid var(--border);transition:background var(--t);cursor:pointer;color:var(--text)}
.widget-item:last-child{border-bottom:none}
.widget-item:hover{background:var(--bg3)}
.widget-icon{width:32px;height:32px;border-radius:7px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}
.widget-icon-ph{width:32px;height:32px;border-radius:7px;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text3);flex-shrink:0}
.widget-info{flex:1;min-width:0}
.widget-name{font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.widget-dl{font-size:10.5px;color:var(--text3);margin-top:1px;display:flex;align-items:center;gap:3px}
.widget-dl i{font-size:9.5px}

/* Rating on main page app card */
.app-card-rating{display:flex;align-items:center;gap:3px;margin-top:3px}
.app-card-rating .fa-star{font-size:9px;color:#f59e0b}
.app-card-rating span{font-size:10px;color:var(--text3);margin-left:2px}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:28px 24px;max-width:360px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}
.modal-icon{font-size:40px;color:var(--accent);margin-bottom:12px}
.modal-title{font-size:17px;font-weight:800;margin-bottom:8px}
.modal-text{font-size:13.5px;color:var(--text2);margin-bottom:20px;line-height:1.6}

/* Upload zones */
.upload-zone{border:2px dashed var(--border2);border-radius:var(--r);padding:18px 16px;text-align:center;cursor:pointer;transition:all var(--t);display:flex;flex-direction:column;align-items:center;gap:5px}
.upload-zone:hover,.upload-zone.drag{border-color:var(--accent);background:var(--accent-bg)}
.upload-zone.loading{opacity:.6;pointer-events:none}
.upload-zone i{font-size:22px;color:var(--text3)}
.upload-zone:hover i,.upload-zone.drag i{color:var(--accent)}
.upload-zone span{font-size:13px;color:var(--text2);font-weight:600}
.upload-hint{font-size:11px;color:var(--text3);font-weight:400}
.upload-preview{margin-top:10px;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);max-width:140px}
.upload-preview img{width:100%;display:block}

/* Footer add FAQ link */
.footer-links a[href="/faq"] i{color:var(--orange)}

/* Breadcrumb - proper chevron spacing */
.breadcrumb i.fa-chevron-right{font-size:8px;opacity:.4;flex-shrink:0}

/* ── RESPONSIVE sidebar ── */
@media(max-width:1060px){.app-layout{grid-template-columns:1fr}.app-sidebar{display:none}}

/* ────────────────────────────────────────────────
   EXTENDED STYLES — Hero, Cards, Badges, Sidebar
   ──────────────────────────────────────────────── */

/* Breadcrumb fix */
.breadcrumb .fa-house{font-size:12px}
.breadcrumb i.fa-chevron-right{font-size:8px;opacity:.4;flex-shrink:0}

/* ── APP CARD (new structure) ── */
.app-card{display:block;padding:11px 12px}
.app-card-top{display:flex;align-items:center;gap:10px}
.app-icon-ph{width:52px;height:52px;border-radius:12px;font-size:20px}
.app-icon-badge{position:absolute;bottom:-4px;right:-4px;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;border:2px solid var(--bg2)}
.app-icon-badge.mod{background:var(--green);color:#fff}
.app-icon-badge.upd{background:var(--accent);color:#fff;display:flex;align-items:center;gap:2px}
.app-card-desc{font-size:11.5px;color:var(--text3);line-height:1.5;margin:6px 0 5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.app-card-footer{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:3px}
.badge-dl{background:var(--bg3);color:var(--text3)}
.badge-android{background:var(--green-bg);color:var(--green)}
.badge-size{background:var(--bg3);color:var(--text3)}

/* App card rating */
.app-card-rating{display:flex;align-items:center;gap:2px;margin-top:3px}
.app-card-rating i{font-size:10px;color:#f59e0b}
.app-card-rating .fa-regular{color:var(--border2)}
.app-card-rating span{font-size:10.5px;color:var(--text3);margin-left:3px;font-weight:600}

/* ── APP HERO CARD ── */
.app-hero-info{flex:1;min-width:0}
.app-hero-cats{font-size:13px;margin-bottom:8px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.app-hero-cats a{color:var(--accent);font-weight:700}
.app-hero-cats a:hover{text-decoration:underline}
.app-hero-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.hero-badge{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);padding:2px 10px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.6px;white-space:nowrap;border:2px solid var(--surface)}
.hero-badge-mod{background:var(--green);color:#fff}
.hero-badge-upd{background:var(--accent);color:#fff;display:inline-flex;align-items:center;gap:3px}

/* Hero stars / votes area */
.app-hero-stars{text-align:center;background:var(--bg3);border-radius:10px;padding:8px 12px}
.hero-stars-row{display:flex;align-items:center;justify-content:center;gap:3px;margin-bottom:3px}
.hero-stars-row i{font-size:14px;color:#f59e0b}
.hero-stars-row .fa-regular{color:var(--border2)}
.hero-stars-rating{font-size:16px;font-weight:900;color:var(--text);letter-spacing:-.5px}
.hero-stars-votes{font-size:11px;color:var(--text3);margin-top:1px}

/* Vote buttons */
.app-hero-votes{display:flex;gap:6px}
.vote-btn{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;padding:8px 10px;border-radius:9px;border:1.5px solid var(--border);background:transparent;color:var(--text2);font-family:var(--font);font-size:12.5px;font-weight:700;cursor:pointer;transition:all var(--t)}
.vote-btn i{font-size:13px}
.vote-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.vote-btn.vote-up.active{border-color:var(--green);color:var(--green);background:var(--green-bg)}
.vote-btn.vote-dn.active{border-color:var(--red);color:var(--red);background:var(--red-bg)}

/* Hero download button */
.hero-dl-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border-radius:11px;padding:11px 16px;font-weight:800;font-size:13.5px;transition:all var(--t);box-shadow:0 4px 14px rgba(59,110,245,.32);text-align:center}
.hero-dl-btn i{font-size:16px}
.hero-dl-btn:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(59,110,245,.42)}
.hero-gp-btn{display:flex;align-items:center;justify-content:center;gap:7px;border:1.5px solid var(--border);border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:700;color:var(--text2);transition:all var(--t)}
.hero-gp-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.hero-gp-btn i{font-size:13px}

/* ── SIDEBAR ── */
.app-sidebar{position:sticky;top:calc(var(--nav-h) + 14px)}
.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.widget-title{font-size:13px;font-weight:800;padding:11px 13px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px;color:var(--text)}
.widget-title i{color:var(--accent);font-size:12px}
.widget-item{display:flex;align-items:center;gap:9px;padding:9px 12px;color:var(--text);transition:background var(--t);border-bottom:1px solid var(--border)}
.widget-item:last-child{border-bottom:none}
.widget-item:hover{background:var(--bg3)}
.widget-icon{width:34px;height:34px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid var(--border);background:var(--bg3)}
.widget-icon-ph{width:34px;height:34px;border-radius:8px;flex-shrink:0;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:14px}
.widget-info{flex:1;min-width:0}
.widget-name{font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.widget-dl{font-size:10.5px;color:var(--text3);display:flex;align-items:center;gap:3px;margin-top:2px}
.widget-dl i{font-size:9px}

/* ── MODAL OVERLAY (vote) ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.modal-overlay .modal-box{background:var(--surface);border:1px solid var(--border2);border-radius:var(--r-xl);padding:28px 24px;width:100%;max-width:360px;box-shadow:var(--shadow-lg);text-align:center;animation:fadeUp .2s var(--ease)}
.modal-overlay .modal-icon{width:52px;height:52px;border-radius:14px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--green-bg);color:var(--green)}
.modal-overlay .modal-title{font-size:16px;font-weight:800;margin-bottom:8px}
.modal-overlay .modal-text{font-size:13px;color:var(--text2);line-height:1.6;margin-bottom:18px}

/* ── DOWNLOAD FILE ROW (single clean button) ── */
.download-file-row{display:flex;align-items:center;justify-content:space-between;background:var(--accent);color:#fff;border-radius:12px;padding:14px 16px;margin-bottom:6px;box-shadow:0 4px 14px rgba(59,110,245,.32);text-decoration:none;transition:all var(--t)}
.download-file-row:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(59,110,245,.42)}
.download-file-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.download-file-left i{font-size:18px;opacity:.85;flex-shrink:0}
.download-file-left>div{min-width:0}
.download-file-left>div>div:first-child{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.download-file-name{font-size:11px;opacity:.75;font-family:var(--mono)}
.download-file-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:10px}
.download-file-size{font-size:11.5px;opacity:.8;display:flex;align-items:center;gap:4px}
.download-file-size i{font-size:10px}
.download-badge{font-size:11px;background:rgba(255,255,255,.2);padding:5px 12px;border-radius:7px;font-weight:800;letter-spacing:.5px}

/* ── APP DETAIL ── */
.app-card-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:24px 22px;box-shadow:var(--shadow);margin-bottom:12px}

/* ── RESPONSIVE UPDATES ── */
@media(max-width:1060px){.app-layout{grid-template-columns:1fr}.app-sidebar{display:none}}
@media(max-width:680px){.app-hero-card{flex-direction:column;align-items:center;text-align:center}.app-hero-right{width:100%;min-width:0}.app-hero-meta{justify-content:center}.app-hero-cats{justify-content:center}}

/* ── MOD FEATURES BOX ── */
.mod-features-box{background:linear-gradient(135deg,rgba(34,197,94,.08) 0%,rgba(22,163,74,.05) 100%);border:1.5px solid rgba(34,197,94,.25);border-radius:var(--r);padding:16px 18px;margin-bottom:20px}
.mod-features-title{font-size:13.5px;font-weight:800;color:var(--green);display:flex;align-items:center;gap:7px;margin-bottom:8px}
.mod-features-title i{font-size:13px}
.mod-features-text{font-size:13px;color:var(--text2);line-height:1.7}

/* ── FAQ ON APP PAGE ── */
.app-faq{margin:22px 0}
.app-faq-title{font-size:14px;font-weight:800;display:flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--text)}
.app-faq-title i{color:var(--accent);font-size:13px}
.app-faq-item{border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;margin-bottom:7px}
.app-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:transparent;border:none;cursor:pointer;font-family:var(--font);font-size:13.5px;font-weight:700;color:var(--text);text-align:left;transition:background var(--t)}
.app-faq-q:hover{background:var(--bg3)}
.app-faq-arr{font-size:11px;color:var(--text3);flex-shrink:0;transition:transform .25s}
.app-faq-item.open .app-faq-arr{transform:rotate(180deg);color:var(--accent)}
.app-faq-a{font-size:13px;color:var(--text2);line-height:1.75;height:0;overflow:hidden;padding:0 15px;transition:height .28s cubic-bezier(.4,0,.2,1),padding .28s}
.app-faq-item.open .app-faq-a{padding:4px 15px 14px}

/* ── SCREENSHOT GRID (3-col) ── */
.screenshots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}
.screenshot-item{border-radius:var(--r-sm);overflow:hidden;aspect-ratio:16/9;display:block;background:var(--bg3);border:1px solid var(--border);transition:transform var(--t),box-shadow var(--t)}
.screenshot-item:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.screenshot-item img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:600px){.screenshots-grid{grid-template-columns:repeat(2,1fr)}}

/* ── GOOGLE PLAY ROW ── */
.gplay-row{display:flex;align-items:center;gap:10px;padding:13px 16px;background:var(--bg3);border:1px solid var(--border);border-radius:12px;margin-top:8px;color:var(--text2);font-size:13px;font-weight:700;transition:all var(--t)}
.gplay-row:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.gplay-row i{font-size:16px;color:#01875f;flex-shrink:0}
.gplay-row .gplay-label{font-weight:400;color:var(--text3);font-size:12px}

/* ── MOD FEATURES BOX (redesign) ── */
.mod-features-box{background:linear-gradient(135deg,rgba(34,197,94,.07) 0%,rgba(22,163,74,.04) 100%);border:1.5px solid rgba(34,197,94,.22);border-radius:var(--r);padding:18px 20px;margin-bottom:22px}
.mod-features-title{font-size:14px;font-weight:800;color:var(--green);display:flex;align-items:center;gap:8px;margin-bottom:14px}
.mod-features-title svg{flex-shrink:0;color:var(--green)}
.mod-features-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
.mod-features-list li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text2);line-height:1.6}
.mod-feat-icon{width:26px;height:26px;border-radius:7px;background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.mod-feat-icon i{font-size:12px;color:var(--green)}

/* ── INSTALL GUIDE ── */
.install-guide{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:18px}
.install-guide-title{font-size:14px;font-weight:800;padding:14px 18px;display:flex;align-items:center;gap:9px;color:var(--text);border-bottom:1px solid var(--border)}
.install-guide-title i{color:var(--accent);font-size:15px;flex-shrink:0}
.install-guide-body{padding:16px 18px}
.install-guide-subtitle{font-size:13px;font-weight:800;display:flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--text2)}
.install-guide-subtitle i{color:var(--accent);font-size:12px}
.install-steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.install-steps li{font-size:13.5px;color:var(--text2);line-height:1.6;padding-left:4px}
.install-steps li strong{color:var(--text);font-weight:700}
.install-done{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:8px;font-size:13px;font-weight:700;color:var(--green)}
.install-done i{font-size:14px;flex-shrink:0}

/* ── ADMIN MOD PRESETS ── */
.mod-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.mod-preset-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:7px;border:1.5px solid var(--border);background:var(--surface);color:var(--text2);font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font);transition:all .15s}
.mod-preset-btn i{font-size:11px;color:var(--green)}
.mod-preset-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-bg)}

/* ── HOMEPAGE HERO ── */
.home-intro{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:32px 0 28px}
.home-intro-title{font-size:clamp(22px,3.5vw,36px);font-weight:900;letter-spacing:-.5px;line-height:1.15;margin-bottom:10px}
.home-intro-title i{color:var(--accent);margin-right:6px}
.home-intro-sub{font-size:14.5px;color:var(--text2);line-height:1.6;max-width:460px;margin-bottom:16px}
.home-intro-stats{display:flex;gap:18px;flex-wrap:wrap}
.home-intro-stats span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text3)}
.home-intro-stats i{color:var(--accent);font-size:12px}
.home-intro-links{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.home-cat-card{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:var(--r-lg);border:1.5px solid var(--border);background:var(--surface2);color:var(--text);font-weight:800;font-size:14px;transition:all var(--t);min-width:180px}
.home-cat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.home-cat-card.game{border-color:rgba(91,138,248,.3);background:rgba(91,138,248,.06)}
.home-cat-card.game:hover{border-color:var(--accent);background:var(--accent-bg)}
.home-cat-card.app{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.06)}
.home-cat-card.app:hover{border-color:var(--green);background:var(--green-bg);color:var(--green)}
.home-cat-card i:first-child{font-size:18px}
.home-cat-card i:first-child{color:var(--accent)}
.home-cat-card.app i:first-child{color:var(--green)}
.home-cat-card span{flex:1}
.home-cat-card .arr{font-size:11px;color:var(--text3);transition:transform var(--t)}
.home-cat-card:hover .arr{transform:translateX(3px)}
@media(max-width:680px){.home-intro{grid-template-columns:1fr;gap:20px;padding:20px 0}.home-intro-links{flex-direction:row}.home-cat-card{min-width:0;flex:1}}

/* ── DOWNLOAD BLOCK REDESIGN ── */
.download-file-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:var(--accent);border-radius:var(--r);cursor:pointer;transition:filter var(--t);margin-bottom:8px}
.download-file-row:hover{filter:brightness(1.08)}
.download-file-left{display:flex;align-items:center;gap:13px;min-width:0}
.download-file-icon{width:38px;height:38px;border-radius:9px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.download-file-icon i{font-size:18px;color:#fff}
.download-file-details{min-width:0}
.download-file-name-main{font-size:13.5px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.download-file-sub{font-size:12px;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:2px}
.download-file-sub .dot{opacity:.5}
.download-btn-pill{display:flex;align-items:center;gap:7px;padding:9px 20px;background:rgba(255,255,255,.2);border-radius:50px;color:#fff;font-size:13px;font-weight:800;flex-shrink:0;white-space:nowrap;border:1.5px solid rgba(255,255,255,.3)}

/* ── DOWNLOAD MODAL ── */
.dl-modal-overlay{z-index:1100}
.dl-modal-box{background:var(--surface);border-radius:var(--r-lg);padding:0;overflow:hidden;max-width:440px;width:100%;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.dl-modal-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:none;background:var(--bg3);color:var(--text3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;z-index:1}
.dl-modal-close:hover{background:var(--border);color:var(--text)}
.dl-modal-app{display:flex;align-items:center;gap:12px;padding:18px 18px 14px}
.dl-modal-icon{width:52px;height:52px;border-radius:13px;flex-shrink:0}
.dl-modal-app-name{font-size:15px;font-weight:800;color:var(--text)}
.dl-modal-app-meta{font-size:12px;color:var(--text3);margin-top:2px}
.dl-modal-ad{background:var(--bg3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);min-height:120px;display:flex;align-items:center;justify-content:center}
.dl-modal-ad-inner{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text3);font-size:12px}
.dl-modal-ad-inner i{font-size:28px;opacity:.3}
.dl-modal-footer{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.dl-modal-countdown{font-size:12.5px;color:var(--text3)}
.dl-modal-countdown strong{color:var(--accent);font-weight:800}
.dl-start-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:var(--accent);color:#fff;border-radius:50px;font-size:13.5px;font-weight:800;transition:filter var(--t)}
.dl-start-btn:hover{filter:brightness(1.1)}
.dl-start-btn i{font-size:13px}

/* ── APP COLLECTIONS ROW ── */
.app-collections-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:16px}
.app-collections-label{font-size:12px;font-weight:700;color:var(--text3);display:flex;align-items:center;gap:5px;flex-shrink:0}
.app-collections-label i{font-size:11px}
.app-collections-list{display:flex;flex-wrap:wrap;gap:6px}
.app-col-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--bg3);border:1.5px solid var(--border);border-radius:50px;font-size:12.5px;font-weight:700;color:var(--text2);transition:all var(--t)}
.app-col-tag:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.app-col-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

/* ── APP PAGE: COLLECTION CARDS ── */
.app-collections-section{margin:20px 0}
.app-collections-head{font-size:13px;font-weight:800;color:var(--text3);display:flex;align-items:center;gap:6px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}
.app-collections-head i{font-size:11px}
.app-collections-cards{display:flex;flex-direction:column;gap:8px}
.app-col-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--r);transition:all var(--t);color:var(--text)}
.app-col-card:hover{border-color:var(--accent);background:var(--accent-bg);transform:translateX(3px)}
.app-col-card-bg{width:48px;height:48px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.app-col-card-bg img{width:100%;height:100%;object-fit:cover;display:block}
.app-col-card-bg i{font-size:20px;color:rgba(255,255,255,.85)}
.app-col-card-info{flex:1;min-width:0}
.app-col-card-name{font-size:13.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-col-card-meta{font-size:12px;color:var(--text3);margin-top:2px}
.app-col-card-arr{font-size:11px;color:var(--text3);flex-shrink:0;transition:transform var(--t)}
.app-col-card:hover .app-col-card-arr{transform:translateX(3px);color:var(--accent)}

/* ── SCREENSHOT CAROUSEL ── */
.ss-carousel-wrap{position:relative;margin:18px 0;border-radius:var(--r);overflow:hidden}
.ss-carousel{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:0 2px}
.ss-carousel::-webkit-scrollbar{display:none}
.ss-slide{flex:0 0 calc(33.333% - 6px);scroll-snap-align:start;position:relative;border-radius:10px;overflow:hidden;aspect-ratio:16/9;background:var(--bg3);cursor:pointer;border:1.5px solid var(--border);transition:border-color var(--t)}
.ss-slide:hover{border-color:var(--accent)}
.ss-slide img{width:100%;height:100%;object-fit:cover;display:block}
.ss-zoom{position:absolute;inset:0;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s}
.ss-slide:hover .ss-zoom{background:rgba(0,0,0,.35);opacity:1}
.ss-zoom i{font-size:22px;color:#fff;drop-shadow:0 2px 8px rgba(0,0,0,.5)}
.ss-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.55);border:1.5px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;z-index:2;transition:all .15s;backdrop-filter:blur(4px)}
.ss-arrow:hover{background:var(--accent);border-color:var(--accent)}
.ss-prev{left:8px}.ss-next{right:8px}
.ss-dots{display:flex;justify-content:center;gap:5px;padding:8px 0 2px}
.ss-dot{width:6px;height:6px;border-radius:50%;background:var(--border);cursor:pointer;transition:all .2s}
.ss-dot.active{width:16px;border-radius:3px;background:var(--accent)}
@media(max-width:600px){.ss-slide{flex:0 0 calc(80% - 6px)}}

/* ── LIGHTBOX ── */
.lb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.lb-img-wrap{max-width:90vw;max-height:85vh;display:flex;align-items:center;justify-content:center}
.lb-img-wrap img{max-width:100%;max-height:85vh;border-radius:10px;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.7)}
.lb-close{position:fixed;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;z-index:2001;transition:all .15s}
.lb-close:hover{background:var(--red)}
.lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;z-index:2001;transition:all .15s}
.lb-nav:hover{background:var(--accent);border-color:var(--accent)}
.lb-nav-prev{left:16px}.lb-nav-next{right:16px}
.lb-counter{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:rgba(255,255,255,.8);font-size:13px;font-weight:700;padding:5px 14px;border-radius:50px;backdrop-filter:blur(4px)}

/* Hero card two-row layout for screenshots */
.app-hero-card{flex-direction:column!important;padding:20px 20px 0!important}
.app-hero-main{display:flex;align-items:center;gap:18px;width:100%;padding-bottom:18px}

/* ── HERO SCREENSHOTS STRIP ── */
.app-hero-screenshots{width:calc(100% + 40px);margin:0 -20px;border-top:1px solid var(--border);background:var(--bg2)}
.app-hero-screenshots .ss-carousel-wrap{border-radius:0;margin:0}
.app-hero-screenshots .ss-carousel{padding:12px 14px;gap:10px}
.app-hero-screenshots .ss-slide{flex:0 0 calc(33.333% - 8px);border-radius:8px;border-color:transparent;aspect-ratio:16/9}
.app-hero-screenshots .ss-dots{padding:4px 0 10px}
.app-hero-screenshots .ss-arrow{top:calc(50% - 12px)}
@media(max-width:600px){.app-hero-screenshots .ss-slide{flex:0 0 78%}}