*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{min-width:320px;scrollbar-width:thin;scrollbar-color:#333 #111}
    body{font-family:'K2D',sans-serif;font-size:16px;line-height:1.5;color:#eee;background:#0d0d0d;min-height:100vh;overflow-x:hidden}
    a{text-decoration:none;color:inherit}ul{list-style:none}img{display:block;max-width:100%}button{cursor:pointer;font-family:inherit;border:none;background:none}
    :root{--red:#F22E4B;--red-d:#c41f3a;--header-h:58px;--sb-w:220px;--bg:#0d0d0d;--bg2:#141414;--bg3:#1c1c1c;--border:#252525;--text:#ccc;--text-dim:#666}

    /* ── HEADER ── */
    .site-header{position:sticky;top:0;z-index:300;height:var(--header-h);background:#111;border-bottom:1px solid #222;display:flex;align-items:center;overflow:visible}
    .header-inner{width:100%;padding:0 16px;display:flex;align-items:center;gap:6px}
    .sb-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:#bbb;transition:background .15s,color .15s;flex-shrink:0}
    .sb-toggle:hover{background:#1e1e1e;color:#fff}.sb-toggle.active{color:var(--red)}
    .logo-link{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;margin:0 20px 0 8px}
    .logo-mark{width:34px;height:34px;background:var(--red);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .logo-text{display:flex;flex-direction:column;line-height:1}
    .logo-text-top{font-size:18px;font-weight:700;color:#fff;letter-spacing:-0.02em}
    .logo-text-top span{color:var(--red)}
    .logo-text-bot{font-size:8px;font-weight:400;letter-spacing:0.25em;color:#999;margin-top:2px}
    .main-nav{display:flex;align-items:center;gap:1px;flex:1}
    .main-nav a{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:500;color:#b0b0b0;padding:5px 8px;border-radius:6px;white-space:nowrap;transition:background .15s,color .15s}
    .main-nav a svg{flex-shrink:0;opacity:.7}.main-nav a:hover{background:#1e1e1e;color:#fff}.main-nav a:hover svg{opacity:1}
    .nav-active{background:var(--red)!important;color:#fff!important}.nav-active:hover{background:var(--red-d)!important}
    .nav-red{color:var(--red)!important}.nav-red:hover{background:#1a0008!important}
    .nav-discount{border:1px solid rgba(180,0,30,.4);animation:pulse-border 2s ease-in-out infinite}
    @keyframes pulse-border{0%,100%{border-color:rgba(180,0,30,.3)}50%{border-color:rgba(180,0,30,.85)}}
    .header-icons{display:flex;align-items:center;gap:2px;margin-left:4px;flex-shrink:0}
    .hicon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:#999;transition:background .15s,color .15s;position:relative}
    .hicon:hover{background:#1e1e1e;color:#fff}.hicon.active{color:var(--red)}
    .history-dot{display:none;position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--red);border:1.5px solid var(--bg);box-shadow:0 0 6px rgba(180,0,30,.7)}
    #history-btn.has-history .history-dot{display:block}#history-btn.has-history{color:#eee}
    .mobile-history-btn.has-history .history-dot{display:block}.mobile-history-btn.has-history{color:#eee}
    .header-search{flex:1;max-width:300px;position:relative;display:flex;align-items:center}
    .header-search form{width:100%;display:flex;align-items:center;background:#181818;border:1px solid #282828;border-radius:7px;overflow:hidden;transition:border-color .15s}
    .header-search form:focus-within{border-color:var(--red)}
    .header-search-icon{display:flex;align-items:center;padding:0 0 0 11px;color:#555;flex-shrink:0;pointer-events:none}
    .header-search input{flex:1;padding:7px 8px;background:transparent;border:none;color:#eee;font-size:13px;font-family:'K2D',sans-serif;outline:none;min-width:0}
    .header-search input::placeholder{color:#555}
    .header-search-submit{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#242424;border-left:1px solid #303030;color:#888;flex-shrink:0;transition:color .15s,background .15s}
    .header-search-submit:hover{color:#fff;background:var(--red)}
    @media(max-width:900px){.header-search{display:none;pointer-events:none}}
    .search-drop{display:none;position:fixed;top:var(--header-h);left:0;right:0;background:#161616;border-bottom:1px solid var(--border);padding:10px 16px;z-index:400}
    .search-drop.open{display:block}
    .search-drop form{display:flex;gap:8px;max-width:500px;margin:0 auto}
    .search-drop input{flex:1;padding:8px 14px;background:#1e1e1e;border:1px solid var(--border);border-radius:6px;color:#fff;font-size:13px;font-family:'K2D',sans-serif;outline:none}
    .search-drop input:focus{border-color:var(--red)}
    .search-drop button[type=submit]{padding:8px 18px;background:var(--red);color:#fff;border-radius:6px;font-size:13px;font-weight:600}

    /* ── HISTORY DROP ── */
    .history-drop{display:none;position:fixed;top:var(--header-h);right:0;width:320px;background:#161616;border:1px solid var(--border);border-top:none;border-radius:0 0 0 10px;z-index:400;box-shadow:-4px 8px 24px rgba(0,0,0,.5)}
    .history-drop.open{display:block}
    .history-drop-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:#888;letter-spacing:.06em;text-transform:uppercase}
    .history-clear-btn{font-size:10px;color:#888;transition:color .15s;font-family:'K2D',sans-serif}.history-clear-btn:hover{color:var(--red)}
    .history-drop-list{max-height:420px;overflow-y:auto;padding:6px}
    .history-drop-list::-webkit-scrollbar{width:4px}.history-drop-list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:2px}
    .history-drop-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;text-decoration:none;transition:background .15s}.history-drop-item:hover{background:#1e1e1e}
    .history-drop-thumb{width:44px;height:58px;object-fit:cover;border-radius:4px;flex-shrink:0;background:#1a1a1a}
    .history-drop-info{flex:1;min-width:0}
    .history-drop-model{font-size:10px;color:var(--red);font-weight:600;letter-spacing:.04em}
    .history-drop-title{font-size:11.5px;color:#eee;line-height:1.35;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .history-drop-empty{padding:20px;text-align:center;font-size:12px;color:#888}
    .history-drop-foot{padding:6px 8px 8px;border-top:1px solid var(--border)}
    .history-close-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px;border-radius:6px;font-size:12px;font-weight:500;color:#999;font-family:'K2D',sans-serif;background:#1a1a1a;transition:background .15s,color .15s}.history-close-btn:hover{background:#222;color:#fff}

    /* ── MOBILE ── */
    .hamburger{display:none;flex-direction:column;gap:5px;padding:6px;flex-shrink:0}
    .hamburger span{display:block;width:20px;height:2px;background:#888;border-radius:1px;transition:transform .2s,opacity .2s,background .2s}
    .hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
    .hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
    .hamburger.active span{background:var(--red)}
    .mobile-nav{display:none;position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:#111;z-index:290;flex-direction:column;overflow-y:auto;padding:8px 0}
    .mobile-nav.open{display:flex}
    .mobile-nav-link{display:flex;align-items:center;gap:12px;padding:13px 18px;font-size:14px;color:#888;border-bottom:1px solid var(--border);transition:color .15s,background .15s}
    .mobile-nav-link svg{flex-shrink:0;opacity:.6}.mobile-nav-link:hover{color:#fff;background:#181818}
    .mob-section{border-top:1px solid var(--border)}
    .mob-section-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 18px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#999;background:none;border:none;font-family:'K2D',sans-serif;cursor:pointer;transition:color .15s;user-select:none}
    .mob-section-head span{display:flex;align-items:center;gap:8px}.mob-section-head:hover{color:#bbb}
    .mob-section-arrow{transition:transform .2s}.mob-section.open .mob-section-arrow{transform:rotate(180deg)}
    .mob-section-body{display:none}.mob-section.open .mob-section-body{display:block}
    .mobile-nav-hist-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;text-decoration:none;transition:background .15s}.mobile-nav-hist-item:hover{background:#1a1a1a}
    .mobile-nav-hist-thumb{width:38px;height:50px;object-fit:cover;border-radius:4px;flex-shrink:0;background:#1a1a1a}
    .mobile-nav-hist-info{flex:1;min-width:0}
    .mobile-nav-hist-model{font-size:10px;color:var(--red);font-weight:600}
    .mobile-nav-hist-title{font-size:12px;color:#bbb;line-height:1.3;margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
    .mobile-nav-hist-empty{padding:12px 18px;font-size:13px;color:#888}
    .mobile-search-btn{display:none;flex-shrink:0}
    .mobile-history-btn{display:none;flex-shrink:0;position:relative}
    .mobile-sb-btn{display:none;flex-shrink:0}
    .btn-icon-default{display:block}.btn-icon-close{display:none}
    .hicon.active .btn-icon-default{display:none}.hicon.active .btn-icon-close{display:block;color:var(--red)}
    .mobile-history-btn.active .history-dot{display:none!important}
    @media(max-width:900px){
      .main-nav{display:none}.header-icons{display:none}.sb-toggle{display:none}
      .logo-text-bot{display:none}.logo-link{margin:0 4px;flex:1}
      .mobile-search-btn{display:flex}.mobile-history-btn{display:flex}
      .mobile-sb-btn{display:flex}.hamburger{display:flex}
    }
    @media(max-width:400px){.logo-text{display:none}.logo-link{margin:0 2px}}

    /* ── LAYOUT ── */
    .page-body{display:flex;align-items:flex-start;min-height:calc(100vh - var(--header-h))}
    .sidebar{width:var(--sb-w);flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);min-height:calc(100vh - var(--header-h));position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#2a2a2a transparent}
    .sidebar.right{border-right:none;border-left:1px solid var(--border)}
    .sidebar.closed{display:none!important}
    .sidebar-inner{padding:14px;width:var(--sb-w)}
    .sb-section{margin-bottom:22px}
    .sb-title{font-size:9px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-dim);padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:10px}
    .sb-nav{display:flex;flex-direction:column;gap:1px}
    .sb-nav a{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:6px;font-size:13px;color:#bbb;transition:background .12s,color .12s}
    .sb-nav a:hover{background:var(--bg3);color:#fff}.sb-nav a.active{background:#1a0008;color:var(--red)}
    .sb-nav .icon{width:15px;height:15px;flex-shrink:0;opacity:.5}.sb-nav a:hover .icon{opacity:.9}.sb-nav a.active .icon{opacity:1;stroke:var(--red)}
    .sb-nav .count{margin-left:auto;font-size:10px;color:#888;font-weight:600}
    .sb-models{display:flex;flex-direction:column}
    .sb-model{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #1a1a1a;transition:color .12s}.sb-model:hover{color:#fff}
    .sb-model-rank{font-size:10px;color:#888;font-weight:700;width:16px;flex-shrink:0;text-align:right}
    .sb-model-name{font-size:12px;color:#bbb;flex:1}.sb-model:hover .sb-model-name{color:#fff}
    .sb-model-cnt{font-size:10px;color:#888}
    .sb-tags{display:flex;flex-wrap:wrap;gap:4px}
    .sb-tags a{font-size:11px;padding:3px 8px;background:#1a1a1a;border:1px solid var(--border);border-radius:3px;color:#888;transition:all .12s}
    .sb-tags a:hover{border-color:var(--red);color:var(--red);background:#160007}
    .sb-history{display:flex;flex-direction:column;gap:1px}
    .sb-empty{font-size:11px;color:#888;padding:4px 0}
    .sb-hist-item{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:5px;font-size:11px;color:#888;transition:background .12s,color .12s;text-decoration:none}
    .sb-hist-item:hover{background:#1a1a1a;color:#eee}
    .sb-hist-thumb{width:28px;height:28px;object-fit:cover;border-radius:3px;flex-shrink:0;background:#222}
    .sb-hist-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .sb-friends{display:flex;flex-direction:column;gap:1px}
    .sb-friends li a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:12px;color:#999;transition:background .12s,color .12s}
    .sb-friends li a:hover{background:var(--bg3);color:#fff}
    .sb-friends li a svg{flex-shrink:0;opacity:.45}.sb-friends li a:hover svg{opacity:1}
    @media(max-width:900px){
      .sidebar{display:none!important}
      .sidebar.right{display:flex!important;position:fixed;top:var(--header-h);right:0;bottom:0;width:260px;height:auto;min-height:unset;z-index:280;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;border-left:1px solid var(--border);box-shadow:-8px 0 24px rgba(0,0,0,.5)}
      .sidebar.right.mob-open{transform:translateX(0)}
      .sb-right-overlay{display:none;position:fixed;inset:0;top:var(--header-h);z-index:279;background:rgba(0,0,0,.5)}
      .sb-right-overlay.open{display:block}
    }
    .main-content{flex:1;min-width:0}

    /* ── BREADCRUMB ── */
    .breadcrumb{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:11.5px;color:#555;border-bottom:1px solid var(--border);flex-wrap:wrap}
    .breadcrumb a{color:#999;transition:color .15s}.breadcrumb a:hover{color:var(--red)}
    .breadcrumb-sep{color:#444}.breadcrumb-cur{color:#bbb}

    /* ── TOOLBAR ── */
    .intro{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
    .intro-left{display:flex;flex-direction:column;flex-shrink:0}
    .intro-title{font-size:20px;font-weight:700;color:#fff;letter-spacing:-0.02em}
    .intro-sub{font-size:12px;color:#999;margin-top:2px}
    .intro-spacer{flex:1}
    .sort-drop-wrap{position:relative;flex-shrink:0}
    .sort-drop-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:500;color:#bbb;background:#181818;border:1px solid #252525;transition:background .12s,color .12s,border-color .12s;white-space:nowrap;font-family:'K2D',sans-serif;cursor:pointer}
    .sort-drop-btn:hover{background:#222;color:#eee;border-color:#333}
    .sort-drop-btn.open{color:var(--red);border-color:var(--red);background:#1a0008}
    .sort-drop-menu{display:none;position:absolute;top:calc(100%+6px);right:0;background:#161616;border:1px solid var(--border);border-radius:8px;overflow:hidden;z-index:300;min-width:150px;box-shadow:0 8px 24px rgba(0,0,0,.5)}
    .sort-drop-menu.open{display:block}
    .sort-opt{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;font-size:13px;font-weight:500;color:#999;transition:background .12s,color .12s;text-align:left;font-family:'K2D',sans-serif;white-space:nowrap;cursor:pointer}
    .sort-opt:hover{background:#1e1e1e;color:#fff}.sort-opt.active{color:var(--red);background:#1a0008}
    .sort-opt svg{flex-shrink:0;opacity:.6}.sort-opt.active svg{opacity:1}
    @media(max-width:900px){.intro{padding:8px 10px;gap:6px}.intro-title{font-size:17px}}

    /* ── ALPHABET FILTER ── */
    .alpha-bar{padding:8px 14px;border-bottom:1px solid var(--border);display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;scrollbar-width:none;background:#0f0f0f}
    .alpha-bar::-webkit-scrollbar{display:none}
    .alpha-btn{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 4px;border-radius:4px;font-size:12px;font-weight:600;color:#555;background:none;border:none;transition:background .12s,color .12s;flex-shrink:0;text-decoration:none}
    .alpha-btn:hover{background:#1a1a1a;color:#ddd}
    .alpha-btn.active{background:var(--red);color:#fff}
    .alpha-btn.empty{color:#2a2a2a;cursor:default;pointer-events:none}
    .alpha-btn.all{min-width:36px;letter-spacing:.03em}

    /* ── MODELS GRID ── */
    .models-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px;padding:0;background:#0a0a0a}
    .model-card{display:block;position:relative;overflow:hidden;background:#161616;cursor:pointer}
    .model-card-img{display:block;width:100%;position:relative;aspect-ratio:229/345;overflow:hidden}
    .model-card-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;filter:brightness(1)}
    .model-card:hover .model-card-img img{transform:scale(1.05)}

    /* Оверлей — внутри model-card-img, прижат к низу */
    .model-card-info{
      position:absolute;
      bottom:0;left:0;right:0;
      background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.2) 70%,transparent 100%);
      padding:0 10px 8px;
      pointer-events:none;
      z-index:2;
    }
    .model-card-cnt{font-size:11px;color:#ddd;padding-top:4px;opacity:0;max-height:0;overflow:hidden;transition:opacity .2s,max-height .25s,padding-top .25s}
    .model-card-rating{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:700;color:#fff;opacity:0;max-height:0;overflow:hidden;transition:opacity .2s .04s,max-height .25s .04s}
    .model-card-rating svg{color:var(--red);flex-shrink:0}
    .model-card-name{font-size:13px;font-weight:700;color:#fff;line-height:1.25;text-shadow:0 1px 4px rgba(0,0,0,.8);padding-top:20px;display:block}
    .model-card:hover .model-card-cnt{opacity:1;max-height:20px;padding-top:4px}
    .model-card:hover .model-card-rating{opacity:1;max-height:20px}

    .model-card.hidden{display:none}

    /* Нет результатов */

    /* ── PAGINATION ── */
    .pagination{display:flex;gap:3px;justify-content:center;padding:28px 0 16px}
    .pagination a,.pagination span{font-size:12px;font-weight:500;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);color:#999;border-radius:4px;transition:all .15s}
    .pagination a:hover{border-color:var(--red);color:var(--red)}
    .pg-active{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}
    .pg-dots{border:none!important;color:#333!important}

    /* ── FOOTER ── */
    .site-footer{border-top:1px solid var(--border);margin-top:20px}
    .footer-banner{background:#111;padding:40px 20px;text-align:center;border-bottom:1px solid var(--border)}
    .footer-banner h2{font-size:26px;font-weight:300;color:#fff;margin-bottom:8px}
    .footer-banner h2 strong{color:var(--red);font-weight:700}
    .footer-banner p{font-size:13px;color:#999;margin-bottom:18px}
    .btn-join{display:inline-block;background:var(--red);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:12px 28px;transition:background .15s}.btn-join:hover{background:var(--red-d)}
    .footer-bottom{max-width:1200px;margin:0 auto;padding:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
    .footer-logo{display:flex;align-items:center;gap:8px;text-decoration:none}
    .footer-nav{display:flex;gap:18px}
    .footer-nav a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#888;transition:color .15s}.footer-nav a:hover{color:var(--red)}
    .footer-copy{font-size:10px;color:#888}
    .scroll-up{position:fixed;bottom:20px;right:20px;width:36px;height:36px;background:#1a1a1a;border:1px solid #333;color:#888;font-size:14px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:all .2s;z-index:50;border-radius:4px}
    .scroll-up.visible{opacity:1;pointer-events:all}.scroll-up:hover{border-color:var(--red);color:var(--red)}
/* Фикс: mob-open перебивает html.sb-right-closed */
html.sb-right-closed #sidebar-right.mob-open {
  display: flex !important;
  transform: translateX(0) !important;
}
/* ── Sidebar banner ── */
.sb-banner {
  background: linear-gradient(135deg, #1a0008, #0d0d0d);
  border: 1px solid #3a0018;
  border-radius: 8px;
  padding: 16px;
  text-align: center;
}
.sb-banner p { font-size: 11px; color: #bbb; margin-bottom: 10px; line-height: 1.5; }
.sb-banner strong { color: var(--red); font-size: 13px; display: block; margin-bottom: 6px; }
.sb-banner a { display: block; background: var(--red); color: #fff; font-size: 11px; font-weight: 700; padding: 8px; border-radius: 5px; transition: background .15s; }
.sb-banner a:hover { background: var(--red-d); }

/* models — intro-title перенос на мобиле */
@media (max-width: 900px) {
  .intro-title {
    white-space: normal;
    word-break: break-word;
    font-size: 15px;
    line-height: 1.3;
  }
}

/* sb-all-models кнопка */
.sb-all-models{display:block;margin-top:8px;padding:6px 8px;border-radius:6px;font-size:11px;font-weight:600;color:#888;border:1px solid #222;text-align:center;transition:background .12s,color .12s,border-color .12s}
.sb-all-models:hover{background:var(--bg3);color:#ddd;border-color:#333}
