@charset "UTF-8";

/* base reset */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{font-size:100%;font:inherit;margin:0;padding:0;vertical-align:baseline}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
picture{display:contents}
html *{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}
body{-webkit-font-smoothing:antialiased;background-color:#1e1e1e;color:#8e8e8e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:15px;height:auto;line-height:1;margin:0;outline:0;text-align:left;top:0!important}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}
table{border-collapse:collapse;border-spacing:0}
html{height:100%;overflow-y:scroll;scrollbar-gutter:stable}
hr{background-color:#2e2e2e;border:0;height:2px}
a:active,a:focus,a:hover{outline:0}

.wrapper{margin:0 auto;max-width:1440px;min-height:100%;position:relative}
main{box-sizing:border-box;display:block;min-height:100vh;overflow:hidden;padding-bottom:200px;padding-right:40px;position:relative}

a{color:#409fff;cursor:pointer;text-decoration:none;-webkit-transition:all .2s ease 0s;-o-transition:all .2s ease 0s;transition:all .2s ease 0s}
a:hover{color:#409fff;text-decoration:underline}

/* buttons */
.button,button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0080ff;border-radius:6px;border-width:0;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;line-height:24px;padding:12px 32px;text-align:center;text-decoration:none;-webkit-transition:all .2s ease 0s;-o-transition:all .2s ease 0s;transition:all .2s ease 0s;white-space:nowrap}
.button:active,.button:hover,button:active,button:hover{background:#409fff;color:#fff;outline:0;text-decoration:none}
.button:active,button:active{opacity:.8}
.button.big-slider,button.big-slider{font-size:15px;font-weight:500;max-height:48px;padding:15px 32px;text-align:center}
.button.gray,button.gray{align-items:center;background:#363636;border:none;color:#fff;display:flex;opacity:1}
.button.gray:hover,button.gray:hover{background:#4e4e4e;opacity:1}
.button.green,button.green{background:#00ab00}
.button.green:hover,button.green:hover{background:#29b829}

/* input */
input{-webkit-appearance:textfield;background:#262626;border:1px solid #4e4e4e;border-radius:6px;box-sizing:border-box;color:#fff;font-size:14px;font-weight:400;letter-spacing:.04em;line-height:24px;margin:0;opacity:.8;padding:12px 16px;-webkit-transition:all .2s ease 0s;-o-transition:all .2s ease 0s;transition:all .2s ease 0s}
input::-webkit-input-placeholder{background:0;color:#8e8e8e;font-size:14px;font-weight:400;line-height:24px}
input::placeholder{background:0;color:#8e8e8e;font-size:14px;font-weight:400;line-height:24px}
input:focus{border:1px solid #409fff;color:#fff;outline:0!important}
input:hover{opacity:1}

/* typography */
h1{font-size:32px;line-height:40px;text-align:left}
h1,h2{color:#fff;font-weight:600}
h2{font-size:20px;letter-spacing:.02em;line-height:32px}

a.body-1,div.body-1,h1.body-1,h2.body-1,p.body-1,span.body-1{color:#fff;font-size:16px;font-weight:400;letter-spacing:.04em;line-height:24px}
a.body-2,div.body-2,h1.body-2,h2.body-2,p.body-2,span.body-2{color:#fff;font-size:14px;font-weight:400;letter-spacing:.04em;line-height:24px}
a.body-2.gray,a.body-2.title-span,div.body-2.gray,p.body-2.gray,span.body-2.gray{color:#8e8e8e}
a.caption-1,div.caption-1,h1.caption-1,h2.caption-1,p.caption-1,span.caption-1{color:#fff;font-size:12px;font-weight:400;letter-spacing:.04em;line-height:20px}
a.caption-2,div.caption-2,p.caption-2,span.caption-2{color:#fff;font-size:10px;font-weight:600;letter-spacing:.04em;line-height:16px}
a.button-1,div.button-1,span.button-1{color:#fff;font-size:14px;font-weight:600;letter-spacing:.02em;line-height:24px}
a.button-2,div.button-2,span.button-2{color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;line-height:20px}
a.subtitle-slider,div.subtitle-slider,p.subtitle-slider,span.subtitle-slider{color:#fff;font-size:14px;font-weight:400;line-height:24px;text-transform:uppercase}
a.subtitle-2,div.subtitle-2,p.subtitle-2,span.subtitle-2{color:#8e8e8e;font-size:13px;font-weight:400;line-height:16px;text-transform:none}

/* icons (inline SVG via :before) */
i.icon-programs:before,div.icon-programs:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6.89 9c.98.49 1.82 1.23 2.43 2.15.35.52.35 1.19 0 1.71-.61.91-1.45 1.65-2.43 2.14M13 15h4m-8 7h6c5 0 7-2 7-7V9c0-5-2-7-7-7H9C4 2 2 4 2 9v6c0 5 2 7 7 7Z'/%3E%3C/svg%3E");flex-shrink:0;background-position:50%;background-repeat:no-repeat;background-size:100%;content:"";display:inline-block;height:24px;width:24px}
i.icon-games:before,div.icon-games:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill='%23fff' d='M12.9 16.5a.75.75 0 0 0-1.5 0h1.5Zm-1.5 2.1a.75.75 0 0 0 1.5 0h-1.5Z'/%3E%3C/svg%3E");flex-shrink:0;background-position:50%;background-repeat:no-repeat;background-size:100%;content:"";display:inline-block;height:24px;width:24px}
i.icon-plugins:before,div.icon-plugins:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6.2 13.6c0-4.2-4.2-2.1-4.2-2.1 0-5.25 1.05-6.3 6.3-6.3 0 0-2.1-4.2 2.1-4.2s2.1 4.2 2.1 4.2c5.25 0 6.3 1.05 6.3 6.3 0 0 4.2-2.1 4.2 2.1s-4.2 2.1-4.2 2.1c0 5.25-1.05 6.3-6.3 6.3 0 0 2.1-4.2-2.1-4.2S8.3 22 8.3 22C3.05 22 2 20.95 2 15.7c0 0 4.2 2.1 4.2-2.1Z'/%3E%3C/svg%3E");flex-shrink:0;background-position:50%;background-repeat:no-repeat;background-size:100%;content:"";display:inline-block;height:24px;width:24px}
i.icon-os:before,div.icon-os:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M9 1.25c-2.574 0-4.57.51-5.905 1.845C1.76 4.429 1.25 6.426 1.25 9v6c0 2.574.51 4.57 1.845 5.905C4.429 22.24 6.426 22.75 9 22.75h6c2.574 0 4.57-.51 5.905-1.845C22.24 19.571 22.75 17.574 22.75 15V9c0-2.574-.51-4.57-1.845-5.905C19.571 1.76 17.574 1.25 15 1.25H9Z' clip-rule='evenodd'/%3E%3C/svg%3E");flex-shrink:0;background-position:50%;background-repeat:no-repeat;background-size:100%;content:"";display:inline-block;height:24px;width:24px}
i.icon-articles:before,div.icon-articles:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.069 20.278c3.122.316 4.783-1.22 5.624-5.02l.98-4.4c.981-4.4-.3-6.58-4.493-7.61l-1.67-.411c-3.343-.832-5.334-.148-6.505 2.4'/%3E%3C/svg%3E");flex-shrink:0;background-position:50%;background-repeat:no-repeat;background-size:100%;content:"";display:inline-block;height:24px;width:24px}
i.icon-goods:before,div.icon-goods:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M13.701 1.702a2.414 2.414 0 0 0-3.402 0L8.74 3.259a.978.978 0 0 1-.291.174.968.968 0 0 1-.323.083H5.924a2.413 2.413 0 0 0-2.408 2.408v2.203c0 .053-.02.174-.083.323a.978.978 0 0 1-.174.291L1.702 10.3a2.414 2.414 0 0 0 0 3.402l1.557 1.558.01.01a.894.894 0 0 1 .164.274c.06.146.083.27.083.33v2.203a2.413 2.413 0 0 0 2.408 2.408h2.203a.97.97 0 0 1 .323.083.98.98 0 0 1 .291.174l1.558 1.557a2.413 2.413 0 0 0 3.402 0l1.558-1.557a.98.98 0 0 1 .291-.174.969.969 0 0 1 .323-.083h2.203a2.413 2.413 0 0 0 2.408-2.408v-2.203c0-.053.02-.173.083-.323a.977.977 0 0 1 .174-.291l1.557-1.558a2.413 2.413 0 0 0 0-3.402l-1.557-1.56a.977.977 0 0 1-.174-.291.967.967 0 0 1-.083-.323V5.924a2.413 2.413 0 0 0-2.408-2.408h-2.203a.968.968 0 0 1-.323-.083.979.979 0 0 1-.291-.174L13.7 1.702Z' clip-rule='evenodd'/%3E%3C/svg%3E");flex-shrink:0;background-position:50%;background-repeat:no-repeat;background-size:100%;content:"";display:inline-block;height:24px;width:24px}
i.icon-catmore:before,div.icon-catmore:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Crect width='24' height='24' fill='%234E4E4E' rx='12'/%3E%3Cpath stroke='%23fff' stroke-linecap='round' d='M8 9h8m-8 3h8m-8 3h8'/%3E%3C/svg%3E");flex-shrink:0;background-position:50%;background-repeat:no-repeat;background-size:100%;content:"";display:inline-block;height:24px;width:24px}
i.icon-update:before,div.icon-update:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Crect width='20' height='20' fill='%234E4E4E' rx='10'/%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M10 13.667V6m0 0 2.5 2.5M10 6 7.5 8.5'/%3E%3C/svg%3E");background-position:0;background-repeat:no-repeat;background-size:100%;content:"";display:block;height:20px;width:20px}

/* sidebar */
aside.main{float:left;height:100%;position:sticky;top:0;width:280px;z-index:9999}
aside.main .container{border-right:1px solid #2e2e2e;height:100vh;margin:0 32px;position:relative;width:auto}
aside.main .logo{padding-bottom:32px;padding-left:8px;padding-top:40px}
aside.main .logo a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:600;font-size:18px}
aside.main .logo a .brand-logo{display:block;height:auto;max-height:40px;max-width:100%;object-fit:contain;width:auto}
aside.main .logo a .logo_icon{align-items:center;color:#fff;display:inline-flex;flex-shrink:0;height:32px;justify-content:flex-start}
aside.main .logo a .logo_icon svg{color:currentColor;display:block;height:32px;width:155px;max-width:100%}
@media (max-width:1100px){
  aside.main .logo a .logo_icon{width:32px;justify-content:center}
  aside.main .logo a .logo_icon svg{width:32px;height:32px;object-fit:none;object-position:left center}
}
aside.main .logo a span{color:#fff}
aside.main .logo a .logo-text{color:#fff;font-size:18px;font-weight:600;line-height:24px}
aside.main .logo a .logo-text .accent{color:#0080ff}
aside.main nav{display:flex;flex-direction:column;padding-right:32px;white-space:nowrap}
aside.main nav a{align-items:center;border-radius:8px;display:flex;height:48px;padding-left:12px;position:relative;-webkit-transition:all .2s ease 0s;-o-transition:all .2s ease 0s;transition:all .2s ease 0s;text-decoration:none}
aside.main nav a:focus,aside.main nav a:hover{background:#262626;text-decoration:none}
aside.main nav a.active,aside.main nav a:active{background:#262626;opacity:1}
aside.main nav a.active i,aside.main nav a.active span{opacity:1}
aside.main nav a i,aside.main nav a .nav-icon-circle{align-items:center;color:#fff;display:inline-flex;height:24px;justify-content:center;margin-right:12px;opacity:.5;width:24px}
aside.main nav a .nav-icon-circle svg{color:currentColor;height:24px;stroke:currentColor;width:24px}
aside.main nav a span{opacity:.5;color:#fff}
aside.main nav a:hover i,aside.main nav a:hover span,aside.main nav a:hover .nav-icon-circle{opacity:1}
aside.main nav a.active i,aside.main nav a.active span,aside.main nav a.active .nav-icon-circle{opacity:1}
aside.main nav .combi .dropnav svg{color:#fff;height:16px;stroke:currentColor;width:16px}
aside.main nav .combi{position:relative}
aside.main nav .combi .dropnav{align-items:center;background:#262626;border:none;border-radius:100px;bottom:0;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:0;height:24px;justify-content:center;line-height:1;margin-bottom:auto;margin-top:auto;padding:0;position:absolute;right:-12px;top:0;transition:all .2s ease 0s;width:24px;z-index:2}
aside.main nav .combi .dropnav i{display:block;opacity:.5;transition:all .2s ease 0s}
aside.main nav .combi .dropnav:hover{background:#4e4e4e}
aside.main nav .combi .dropnav:hover i{opacity:1}

/* category dropdown panel attached to .combi catmore button */
aside.main nav .combi .nav-dropdown{background:#262626;border:1px solid #2e2e2e;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.5);display:none;left:calc(100% + 12px);max-height:70vh;min-width:280px;overflow-y:auto;padding:8px;position:absolute;top:0;z-index:9999}
aside.main nav .combi .nav-dropdown.open{display:block}
aside.main nav .combi .nav-dropdown-item{align-items:center;background:transparent;border-radius:8px;color:#fff;display:flex;font-size:14px;font-weight:400;justify-content:space-between;line-height:20px;padding:10px 12px;text-decoration:none;transition:background .15s ease}
aside.main nav .combi .nav-dropdown-item:hover{background:#363636}
aside.main nav .combi .nav-dropdown-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
aside.main .fav{margin-top:24px}
aside.main .fav .titlefav{align-items:center;display:flex;justify-content:space-between;padding-left:16px;padding-right:20px}
aside.main .fav .titlefav span{color:#8e8e8e;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.04em;line-height:20px}
aside.main .fav p{color:#8e8e8e;font-size:12px;font-weight:400;letter-spacing:.48px;line-height:20px;margin:8px 16px 0}
aside.main .footer{bottom:0;padding-bottom:32px;padding-top:32px;position:absolute;width:100%}
aside.main .footer .linkbtm{color:#8e8e8e;padding:0 16px;font-size:12px;line-height:20px}
aside.main .footer .linkbtm a{color:#8e8e8e}
aside.main .footer .linkbtm a:hover{color:#fff;text-decoration:underline}

/* topbar (search + lang + auth) */
.wrapper > main > header.topbar-header{align-items:center;display:flex;gap:16px;padding:32px 0 24px}
.wrapper > main > header.topbar-header .header-burger{align-items:center;background:#262626;border:1px solid #2e2e2e;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:0;width:40px}
.wrapper > main > header.topbar-header .header-burger:hover{background:#2e2e2e}
.wrapper > main > header.topbar-header .header-burger svg{color:#fff;height:20px;width:20px}
@media (min-width:1000px){.wrapper > main > header.topbar-header .header-burger{display:none}}
.wrapper > main > header.topbar-header .left{flex:0 1 480px;margin-right:auto;position:relative}
.wrapper > main > header.topbar-header form{display:flex;position:relative;width:100%}
.wrapper > main > header.topbar-header input.search{background-color:#262626;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%238E8E8E' stroke-width='1.5' d='M9.166 16.042a6.875 6.875 0 1 0 0-13.75 6.875 6.875 0 0 0 0 13.75Z'/%3E%3Cpath stroke='%238E8E8E' stroke-linecap='round' stroke-width='1.5' d='m14.167 14.167 2.5 2.5'/%3E%3C/svg%3E");background-position:14px center;background-repeat:no-repeat;background-size:18px;border:1px solid #2e2e2e;border-radius:8px;color:#fff;font-size:14px;height:40px;opacity:.85;padding:0 40px 0 40px;width:100%}
.wrapper > main > header.topbar-header input.search:hover{opacity:1}
.wrapper > main > header.topbar-header input.search:focus{border:1px solid #0080ff;opacity:1}
.wrapper > main > header.topbar-header .search_btn{align-items:center;display:flex;gap:0;position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:2}
.wrapper > main > header.topbar-header .search_btn button.q_search_btn,.wrapper > main > header.topbar-header .search_btn button.clear_btn{align-items:center;background:transparent;border:none;border-radius:6px;color:#8e8e8e;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;width:32px}
.wrapper > main > header.topbar-header .search_btn button:hover{background:rgba(255,255,255,.08)!important;color:#fff}
.wrapper > main > header.topbar-header .search_btn button svg{color:currentColor;height:18px;width:18px}
.wrapper > main > header.topbar-header .search_btn .clear_btn{display:none}
.wrapper > main > header.topbar-header .right{align-items:center;display:flex;gap:12px}
.wrapper > main > header.topbar-header .right .right{align-items:center;display:flex;gap:12px}
.wrapper > main > header.topbar-header .lang{align-items:center;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:500;height:40px;opacity:.5;padding:0 4px;transition:all .2s ease 0s}
.wrapper > main > header.topbar-header .lang:hover{opacity:1}
.wrapper > main > header.topbar-header .lastcomm_block a,.wrapper > main > header.topbar-header .chat-link{align-items:center;background:#262626;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;opacity:.5;text-decoration:none;transition:all .2s ease 0s;width:40px}
.wrapper > main > header.topbar-header .lastcomm_block a:hover,.wrapper > main > header.topbar-header .chat-link:hover{opacity:1;background:#2e2e2e}
.wrapper > main > header.topbar-header .lastcomm_block svg,.wrapper > main > header.topbar-header .chat-link svg{color:#fff;height:20px;width:20px}
.wrapper > main > header.topbar-header .button.medium{padding:10px 18px;height:40px;font-size:14px}

/* main slider .main-anounce */
.main-anounce{position:relative;margin-bottom:32px}
.swiper-container{background:#262626;border-radius:8px;height:400px;overflow:hidden;position:relative;width:100%}
.swiper-wrapper{box-sizing:border-box;display:flex;height:100%;position:relative;transition:transform .4s ease;width:100%;will-change:transform;z-index:1}
.swiper-slide,.cs-item{flex:0 0 100%;width:100%;height:100%;display:block;position:relative}
.cs-item{align-items:center;background:#1e1e1e;color:#fff;justify-content:flex-start;overflow:hidden;text-decoration:none;border-radius:0}
.cs-item > img{height:100%;left:0;object-fit:cover;object-position:right center;position:absolute;top:0;width:100%;z-index:0}
.cs-item .cs-text{left:0;padding:0 0 0 48px;position:absolute;top:80px;display:block;z-index:2}
.cs-item .cs-text .cs-text-inner{display:block;width:360px;max-width:90%;position:relative;z-index:1}
.cs-item .cs-text .cs-text-inner .subtitle-slider{color:#8e8e8e;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.08em;margin-bottom:16px;text-transform:uppercase}
.cs-item .cs-text .cs-text-inner h2{font-size:28px;line-height:36px;color:#fff;font-weight:700;margin-bottom:24px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.cs-item .cs-text .cs-text-inner a{display:inline-block;margin-top:8px;text-decoration:none}
.cs-item .cs-text .cs-text-inner .big-slider{background:#0080ff;border-radius:8px;color:#fff;display:inline-block;font-size:14px;font-weight:600;line-height:24px;padding:10px 24px;text-decoration:none;transition:background .2s ease}
.cs-item .cs-text .cs-text-inner .big-slider:hover{background:#409fff;color:#fff}
.cs-item .cs-text .cs-text-inner .big-slider.green{background:#0a0}
.cs-item .cs-text .cs-text-inner .big-slider.green:hover{background:#0c0}

.swiper-pagination{bottom:22px;display:block;position:absolute;text-align:center;width:100%;z-index:2;transition:all .2s ease 0s}
.swiper-pagination .swiper-pagination-bullet{background-color:#fff;border:none;border-radius:100px;display:inline-block;height:4px;margin:4px;opacity:.25;width:32px;cursor:pointer;transition:all .2s ease 0s}
.swiper-pagination .swiper-pagination-bullet-active{background-color:#fff;opacity:1}

/* sections */
section.main-page{margin-bottom:48px}
section.main-page .title{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:16px}
section.main-page .title h2{color:#fff;font-size:20px;font-weight:600;line-height:32px;letter-spacing:.02em}
section.main-page .title a{color:#409fff;font-size:12px;font-weight:600;line-height:20px;text-decoration:none}
section.main-page .title a:hover{text-decoration:underline}
section.main-page .card-grid{margin-top:0}

/* card grid */
.card-grid{display:grid;gap:32px;grid-template-columns:repeat(4,1fr);grid-template-rows:auto}
.card-grid.more-col{grid-template-columns:repeat(4,1fr)}
.card-grid.plugin-col{grid-template-columns:repeat(4,1fr)}
.card-grid.article{grid-template-columns:repeat(3,1fr)}

/* marker */
.marker{border-radius:2px;color:#fff;left:0;padding:2px 4px;position:relative;text-transform:uppercase;top:0;font-size:10px;font-weight:600;letter-spacing:.04em;line-height:16px}
.marker.green{background:#0a0}
.marker.red{background:#ff5050}
.marker.orange{background:#f90}
.marker.gray{background:#262626}

/* locked overlay */
div.locked{cursor:default;opacity:1;position:relative;width:100%}
div.locked:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath stroke='%238E8E8E' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12 15v2m4-6.648s.027-.7 0-3.35C15.973 4.35 14.159 2.967 11.95 3 9.787 3.033 8.037 4.406 8 7.001v3.35M12 10c-6 0-8 1.5-8 6s2 6 8 6 8-1.5 8-6-2-6-8-6Z'/%3E%3C/svg%3E");background-position:0;background-repeat:no-repeat;background-size:32px;display:inline-block;height:32px;margin:auto;width:32px;z-index:999}
div.locked:before,div.locked:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0}
div.locked:after{background:#262626;box-sizing:border-box;height:100%;opacity:.9;width:100%;z-index:99}

/* CARD: soft-item (programs centered) */
.card-grid .soft-item{background:#262626;border:1px solid #2e2e2e;border-radius:8px;display:flex;margin:0;overflow:hidden;padding:0;position:relative;text-decoration:none!important;transition:all .2s ease 0s;z-index:99}
.card-grid .soft-item:hover{background:#2e2e2e;border:1px solid #4e4e4e}
.card-grid .soft-item:hover img{transform:scale(1.05)}
.card-grid .soft-item .container{box-sizing:border-box;display:block;padding:24px 16px 16px;position:relative;text-align:center;width:100%}
.card-grid .soft-item .container .topline{align-items:center;display:flex;gap:8px;height:20px;justify-content:start;left:16px;position:absolute;top:16px;z-index:9}
.card-grid .soft-item .container .topline .marker{display:block;position:relative}
.card-grid .soft-item .container .size{align-items:center;display:flex;gap:8px;height:20px;justify-content:start;opacity:0;position:absolute;right:16px;top:16px;transition:all .2s ease 0s;z-index:1}
.card-grid .soft-item .container:hover .size{opacity:1}
.card-grid .soft-item .container .size .marker{background:#262626;color:#8e8e8e}
.card-grid .soft-item img{height:56px;margin-bottom:12px;transition:transform .6s ease 0s;width:56px;border-radius:12px}
.card-grid .soft-item .subtitle{margin-bottom:4px;text-align:center;white-space:nowrap;color:#fff;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:block;padding:0 8px}
.card-grid .soft-item .info{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.card-grid .soft-item .info .version{color:#8e8e8e;font-size:12px;line-height:20px}
.card-grid .soft-item .info .architecture{color:#8e8e8e;font-size:12px;line-height:20px}
.card-grid .soft-item .info .caption-1.category{color:#8e8e8e;font-size:12px;line-height:20px}
.card-grid .soft-item .info .caption-1.category a{color:#8e8e8e;text-decoration:none}
.card-grid .soft-item .info .caption-1.category a:hover{text-decoration:underline}

/* CARD: games-item / plugins-item — banner with 16:9 cover + small icon */
.card-grid .games-item,.card-grid .plugins-item{background:#262626;border:1px solid #2e2e2e;border-radius:8px;overflow:hidden;padding:0;position:relative;text-decoration:none;transition:all .2s ease 0s}
.card-grid .games-item:hover,.card-grid .plugins-item:hover{background:#2e2e2e;border:1px solid #4e4e4e}
.card-grid .games-item:hover .cover img,.card-grid .plugins-item:hover .cover img{transform:scale(1.05)}
.card-grid .games-item .container,.card-grid .plugins-item .container{display:block;position:relative}
.card-grid .games-item .container .topline,.card-grid .plugins-item .container .topline{align-items:center;display:flex;gap:8px;height:20px;justify-content:start;left:16px;position:absolute;top:16px;z-index:9}
.card-grid .games-item .container .topline .marker,.card-grid .plugins-item .container .topline .marker{display:block;position:relative}
.card-grid .games-item .container .size,.card-grid .plugins-item .container .size{align-items:center;display:flex;gap:8px;justify-content:end;opacity:0;pointer-events:none;position:absolute;right:14px;top:14px;transition:opacity .2s ease 0s,transform .2s ease 0s;transform:translateY(-2px);z-index:3}
.card-grid .games-item:hover .size,.card-grid .plugins-item:hover .size{opacity:1;transform:translateY(0)}
.card-grid .games-item .container .size .marker,.card-grid .plugins-item .container .size .marker{background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;color:#fff;font-size:12px;font-weight:600;letter-spacing:0;line-height:1;padding:6px 10px;text-transform:none}
.card-grid .games-item .container .cover,.card-grid .plugins-item .container .cover{aspect-ratio:16/9;background:#1e1e1e;display:block;overflow:hidden;position:relative}
.card-grid .games-item .container .cover img,.card-grid .plugins-item .container .cover img{display:block;height:100%;object-fit:cover;transition:all .6s ease 0s;width:100%}
.card-grid .games-item .container .info,.card-grid .plugins-item .container .info{box-sizing:border-box;display:flex;flex-direction:column;gap:4px;padding:12px 16px 16px}
.card-grid .games-item .container .info .card-title,.card-grid .plugins-item .container .info .card-title{color:#fff;font-size:14px;font-weight:600;line-height:20px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-grid .games-item .container .info .card-cat,.card-grid .plugins-item .container .info .card-cat{color:#8e8e8e;font-size:12px;line-height:18px}

/* CARD: os-item — round wallpaper-style icon */
.card-grid .os-item{background:#262626;border:1px solid #2e2e2e;border-radius:8px;position:relative;text-decoration:none;transition:all .2s ease 0s}
.card-grid .os-item:hover{background:#2e2e2e;border:1px solid #4e4e4e}
.card-grid .os-item:hover img{transform:scale(1.05)}
.card-grid .os-item a:hover{text-decoration:none}
.card-grid .os-item a:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0}
.card-grid .os-item .container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:24px 16px}
.card-grid .os-item .container .icon img{height:96px;margin-bottom:8px;transition:transform .6s ease 0s;width:96px;border-radius:50%;object-fit:cover}
.card-grid .os-item .container .subtitle{color:#fff;font-size:14px;font-weight:600;margin-bottom:4px;text-align:center}
.card-grid .os-item .container .info{align-items:center;display:flex;flex-direction:column;gap:4px}
.card-grid .os-item .container .info .version{color:#8e8e8e;font-size:12px;line-height:20px}

/* CARD: article-new-item — articles cover + author + stats */
.card-grid.article .article-new-item{background:#262626;border:1px solid #2e2e2e;border-radius:8px;overflow:hidden;padding:0;position:relative;text-decoration:none;transition:all .2s ease 0s}
.card-grid.article .article-new-item:hover{border:1px solid #4e4e4e}
.card-grid.article .article-new-item:hover .cover img{transform:scale(1.05)}
.card-grid.article .article-new-item .container{display:flex;flex-direction:column;height:100%;position:relative}
.card-grid.article .article-new-item .container .cover{aspect-ratio:16/9;background:#1e1e1e;display:block;overflow:hidden;position:relative}
.card-grid.article .article-new-item .container .cover img{height:100%;object-fit:cover;transition:all .6s ease 0s;width:100%}
.card-grid.article .article-new-item .container .info{background:#262626;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;padding:16px;flex:1;justify-content:space-between}
.card-grid.article .article-new-item .container .info .top h2{color:#fff;font-size:16px;font-weight:600;line-height:22px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.card-grid.article .article-new-item .container .info .author{align-items:center;color:#8e8e8e;display:flex;font-size:12px;gap:8px;line-height:20px;margin-top:12px}
.card-grid.article .article-new-item .container .info .author img{border-radius:50%;height:24px;width:24px;object-fit:cover}
.card-grid.article .article-new-item .container .bottom{align-items:center;border-top:1px solid #2e2e2e;display:flex;justify-content:space-between;padding:12px 16px;color:#8e8e8e;font-size:12px;line-height:20px}
.card-grid.article .article-new-item .container .bottom .numbers{display:flex;gap:16px}
.card-grid.article .article-new-item .container .bottom .numbers span{color:#8e8e8e}
.card-grid.article .article-new-item .container .bottom .numbers i{margin-right:6px;opacity:.6}
.card-grid.article .article-new-item .link-title{position:absolute;inset:0;z-index:10}

/* CARD: goods-item (shop) */
.card-grid .goods-item{background:#262626;border:1px solid #2e2e2e;border-radius:8px;overflow:hidden;padding:0;position:relative;text-decoration:none;transition:all .2s ease 0s}
.card-grid .goods-item:hover{background:#2e2e2e;border:1px solid #4e4e4e}
.card-grid .goods-item:hover img{transform:scale(1.05)}
.card-grid .goods-item .container{display:block;position:relative}
.card-grid .goods-item .container .cover{aspect-ratio:1/1;background:#1e1e1e;display:block;overflow:hidden}
.card-grid .goods-item .container .cover img{height:100%;object-fit:cover;transition:all .6s ease 0s;width:100%}
.card-grid .goods-item .container .info{padding:16px;display:flex;flex-direction:column;gap:4px}
.card-grid .goods-item .container .info .subtitle{color:#fff;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-grid .goods-item .container .info .price .new-price{color:#fff;font-weight:600}
.card-grid .goods-item .container .info .price .old-price{color:#8e8e8e;text-decoration:line-through;margin-left:8px}

/* bg_cover: faded blurred background image at the top of detail pages (games) */
main.bg_cover{isolation:isolate;position:relative}
main.bg_cover::before{background-image:var(--bg-img);background-position:center top;background-repeat:no-repeat;background-size:cover;content:"";filter:blur(40px) brightness(.45) saturate(1.05);height:620px;left:0;opacity:.85;pointer-events:none;position:absolute;right:0;top:0;z-index:-1;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.85) 40%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.85) 40%,rgba(0,0,0,0) 100%)}
main.bg_cover::after{background:linear-gradient(180deg,rgba(30,30,30,0) 0%,rgba(30,30,30,.55) 60%,rgba(30,30,30,1) 100%);content:"";height:620px;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:-1}

/* listing pages — header.page-head + filters */
header.page-head{display:block;margin-bottom:24px;padding-top:32px}
header.page-head h1{align-items:baseline;color:#fff;display:flex;font-size:32px;gap:12px;line-height:40px;margin:0 0 8px}
.page-head-eyebrow{color:#8e8e8e;font-size:12px;font-weight:600;letter-spacing:.08em;line-height:20px;margin-bottom:6px;text-transform:uppercase}
.page-head-sub{color:#8e8e8e;font-size:15px;line-height:24px;margin:0;max-width:720px}
.filters{display:flex;gap:24px;align-items:center}
.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips .chip{background:#2e2e2e;border:1px solid #2e2e2e;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;line-height:20px;opacity:.6;padding:6px 12px;transition:all .2s ease 0s}
.chips .chip:hover{opacity:1}
.chips .chip.active{background:#4e4e4e;border-color:#4e4e4e;opacity:1}

/* sort dropdown */
.sort-wrap{position:relative}
.sort-btn{align-items:center;background:#262626;border:1px solid #2e2e2e;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;gap:8px;line-height:20px;padding:8px 14px;transition:all .2s ease}
.sort-btn:hover,.sort-btn.open{background:#2e2e2e;border-color:#4e4e4e}
.sort-btn svg{color:#8e8e8e;height:16px;width:16px}
.sort-menu{background:#262626;border:1px solid #2e2e2e;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.4);display:none;min-width:200px;overflow:hidden;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:50}
.sort-menu.show{display:block}
.sort-menu .sort-option{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px}
.sort-menu .sort-option:hover{background:#2e2e2e}
.sort-menu .sort-option .check{color:#0080ff;height:14px;opacity:0;width:14px}
.sort-menu .sort-option.selected{color:#0080ff}
.sort-menu .sort-option.selected .check{opacity:1}

/* pagination */
.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:32px 0 16px}
.pagination .page-btn,.pagination .page-arrow{align-items:center;background:#262626;border:1px solid #2e2e2e;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;height:32px;justify-content:center;line-height:1;min-width:32px;padding:0 10px;transition:all .2s ease}
.pagination .page-btn:hover:not(:disabled),.pagination .page-arrow:hover:not(:disabled){background:#2e2e2e;border-color:#4e4e4e}
.pagination .page-btn.active{background:#0080ff;border-color:#0080ff;color:#fff;cursor:default}
.pagination .page-arrow:disabled{cursor:default;opacity:.4}
.pagination .page-arrow svg{color:currentColor}

/* article static pages (faq/dmca/privacy/coming-soon) */
.page-narrow{max-width:860px;margin:0 auto;padding-top:32px;padding-bottom:48px}
.page-narrow h1{color:#fff;font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:40px;margin:0 0 12px}
.page-narrow .page-head{margin-bottom:32px;padding-top:24px}
.page-narrow .legal-meta{align-items:center;color:#8e8e8e;display:flex;flex-wrap:wrap;font-size:13px;gap:14px;line-height:20px;margin-top:14px}
.page-narrow .legal-meta .badge{background:#262626;border:1px solid #2e2e2e;border-radius:6px;color:#8e8e8e;display:inline-flex;font-size:12px;font-weight:500;line-height:16px;padding:4px 10px}
.page-narrow .legal-meta .badge strong{color:#fff;font-weight:600;margin-left:6px}
.legal-content{display:flex;flex-direction:column;gap:18px}
.legal-content .intro{color:#fff;font-size:15px;line-height:24px;margin:0 0 4px}
.legal-content .section{background:#262626;border:1px solid #2e2e2e;border-radius:12px;padding:22px 24px}
.legal-content .section h2{align-items:baseline;color:#fff;display:flex;font-size:18px;font-weight:600;gap:10px;letter-spacing:-.01em;line-height:26px;margin:0 0 12px}
.legal-content .section h2 .num{color:#409fff;font-size:13px;font-weight:600;letter-spacing:.04em;min-width:28px}
.legal-content .section h3{color:#fff;font-size:14px;font-weight:600;letter-spacing:0;line-height:22px;margin:16px 0 6px}
.legal-content .section p{color:#c8c8c8;font-size:14px;line-height:22px;margin:0 0 10px}
.legal-content .section p:last-child{margin-bottom:0}
.legal-content .section ul,.legal-content .section ol{margin:0 0 10px;padding-left:22px}
.legal-content .section ul li,.legal-content .section ol li{color:#c8c8c8;font-size:14px;line-height:22px;margin-bottom:6px}
.legal-content .section ul li:last-child,.legal-content .section ol li:last-child{margin-bottom:0}
.legal-content .section strong{color:#fff;font-weight:600}
.legal-content .section a{color:#409fff;text-decoration:none;word-break:break-word}
.legal-content .section a:hover{color:#0080ff;text-decoration:underline}
.legal-content .contact-card{background:linear-gradient(180deg,#1e2a3a 0%,#1e1e1e 100%);border:1px solid #2e3a4e;border-radius:12px;color:#c8c8c8;padding:20px 24px}
.legal-content .contact-card h2{color:#fff;font-size:16px;font-weight:600;margin:0 0 8px}
.legal-content .contact-card a{color:#409fff;font-weight:500}

/* coming-soon */
.coming-soon-wrap{max-width:680px;margin:0 auto;padding:40px 0}
.coming-soon-badge{display:inline-flex;align-items:center;gap:6px;background:#262626;border:1px solid #2e2e2e;border-radius:6px;color:#f90;font-size:12px;line-height:20px;padding:4px 10px;margin-bottom:16px}
.coming-soon-icon{margin-bottom:24px;color:#8e8e8e}
.coming-soon-title{font-size:32px;font-weight:600;color:#fff;margin-bottom:12px}
.coming-soon-subtitle{font-size:15px;color:#8e8e8e;line-height:24px;margin-bottom:32px}
.coming-soon-card{background:#262626;border:1px solid #2e2e2e;border-radius:8px;padding:24px;margin-bottom:16px}
.coming-soon-card h2{font-size:16px;color:#fff;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.coming-soon-card ul{margin-left:18px}
.coming-soon-card ul li{color:#8e8e8e;font-size:14px;line-height:22px;margin-bottom:6px}
.coming-soon-card ul li a{color:#409fff}
.coming-soon-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.cs-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-weight:500;text-decoration:none}
.cs-btn-primary{background:#0080ff;color:#fff;border:none;cursor:pointer}
.cs-btn-primary:hover{background:#409fff}
.cs-btn-secondary{background:#262626;color:#fff;border:1px solid #2e2e2e}
.cs-btn-secondary:hover{background:#2e2e2e}

/* top search — inline dropdown + backdrop. Search stays in topbar; page darkens behind. */
.top-search-backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(.15rem);display:none;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:10000}
.top-search-backdrop.show{display:block}
.wrapper > main > header.topbar-header .left.open{position:relative;z-index:10001}
.top-search-results{background:#262626;border:1px solid #2e2e2e;border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.5);left:0;margin-top:8px;max-height:60vh;overflow-y:auto;padding:8px;position:absolute;right:0;top:100%;z-index:10002}
.top-search-results[hidden]{display:none}
.top-search-results .cmdk-empty{color:#8e8e8e;padding:24px;text-align:center}
.top-search-results .cmdk-section-label{color:#8e8e8e;font-size:11px;font-weight:600;letter-spacing:.08em;padding:4px 12px 8px;text-transform:uppercase}
.top-search-results .search-item{align-items:center;border-radius:6px;color:#fff;display:flex;gap:12px;padding:8px 12px;text-decoration:none}
.top-search-results .search-item:hover{background:#2e2e2e}
.top-search-results .search-item-icon{align-items:center;background:#1e1e1e;border-radius:6px;display:flex;flex-shrink:0;height:36px;justify-content:center;overflow:hidden;width:36px}
.top-search-results .search-item-icon img{height:100%;object-fit:cover;width:100%}
.top-search-results .search-item-name{color:#fff;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-search-results .search-item-cat{color:#8e8e8e;font-size:12px;line-height:18px}

/* command palette / cmd-k */
.cmdk-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(.2rem);z-index:99999;display:none;align-items:flex-start;justify-content:center;padding:80px 16px 16px}
.cmdk-overlay.show{display:flex}
.cmdk-panel{background:#2e2e2e;border:1px solid #4e4e4e;border-radius:16px;width:100%;max-width:640px;overflow:hidden}
.cmdk-input-wrap{align-items:center;border-bottom:1px solid #4e4e4e;display:flex;gap:12px;padding:14px 20px}
.cmdk-input-wrap svg{color:#8e8e8e;flex-shrink:0;height:20px;width:20px}
.cmdk-input-wrap .cmdk-kbd{background:#1e1e1e;border:1px solid #4e4e4e;border-radius:4px;color:#8e8e8e;flex-shrink:0;font-size:11px;padding:2px 6px}
.cmdk-panel input{background:transparent;border:none;color:#fff;flex:1;font-size:15px;outline:none;padding:0;width:auto}
.cmdk-panel input:focus{border:none;outline:none}
.cmdk-results{max-height:400px;overflow-y:auto;padding:8px}
.cmdk-results a{display:flex;align-items:center;gap:12px;padding:8px 16px;color:#fff;text-decoration:none;border-radius:6px}
.cmdk-results a:hover{background:#4e4e4e}
.cmdk-results .cmdk-empty{padding:32px;text-align:center;color:#8e8e8e}

/* update badge on cards */
.update{align-items:center;display:inline-flex;gap:4px;left:auto;position:absolute;right:16px;top:16px;z-index:9}
.update .icon{align-items:center;background:#4e4e4e;border-radius:50%;color:#fff;display:inline-flex;height:20px;justify-content:center;width:20px}
.update .icon svg{height:14px;width:14px}

/* sidebar overlay + mobile drawer */
.sidebar-overlay{background:rgba(0,0,0,.6);display:none;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:9990}
.sidebar-overlay.show{display:block}

/* FAQ accordion */
.faq-card{background:#262626;border:1px solid #2e2e2e;border-radius:8px;margin-bottom:8px;overflow:hidden}
.faq-item{cursor:pointer}
.faq-q{align-items:center;color:#fff;display:flex;font-size:15px;font-weight:600;justify-content:space-between;line-height:24px;padding:16px 20px}
.faq-q:hover{background:#2e2e2e}
.faq-a{color:#8e8e8e;display:none;font-size:14px;line-height:22px;padding:0 20px 16px}
.faq-item.open .faq-a{display:block}
.faq-chevron{color:#8e8e8e;flex-shrink:0;height:16px;transition:transform .2s ease;width:16px}
.faq-item.open .faq-chevron{transform:rotate(180deg)}

/* ===== DETAIL PAGES (program/, game/, extension/, os/, article/) ===== */
.breadcrumb{display:none}

.hero-section{align-items:center;background:transparent;border:none;border-radius:0;display:flex;gap:20px;margin-bottom:24px;padding:24px 0 12px}
.hero-section .squircle{align-items:center;background:#1e1e1e;border-radius:18px;display:flex;flex-shrink:0;height:80px;justify-content:center;overflow:hidden;width:80px}
.hero-section .squircle img{height:100%;object-fit:contain;width:100%}
.hero-section h1{color:#fff;font-size:28px;font-weight:700;line-height:34px;letter-spacing:-.02em;margin:0 0 8px}
.hero-section .cat-line{color:#8e8e8e;font-size:14px;line-height:20px}
.hero-section .cat-line a.cat-tag{background:transparent;border:none;border-radius:0;color:#409fff;display:inline;font-size:14px;font-weight:400;line-height:20px;margin:0;padding:0;text-decoration:none}
.hero-section .cat-line a.cat-tag:hover{background:transparent;color:#0080ff;text-decoration:underline}

.two-col{display:grid;gap:28px;grid-template-columns:1fr 300px;align-items:start}

.info-card{background:#262626;border:1px solid #2e2e2e;border-radius:12px;padding:20px}
.info-card h3{color:#fff;font-size:14px;font-weight:600;margin-bottom:16px}
.info-row{display:flex;flex-direction:column;font-size:14px;gap:6px;line-height:20px;padding:14px 0;border-bottom:1px solid #2e2e2e}
.info-row:first-child{padding-top:0}
.info-row:last-child{border-bottom:none}
.info-label{color:#8e8e8e;display:block;font-size:13px;font-weight:400}
.info-value{color:#fff;display:block;font-weight:500;text-align:left;word-break:break-word}

.download-btn{align-items:center;background:#0080ff;border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;line-height:1.2;margin-top:12px;max-width:100%;padding:12px 16px;text-decoration:none;transition:all .2s ease;width:100%;border:none;white-space:normal}
.download-btn:hover{background:#409fff;color:#fff}
.download-btn svg{height:18px;width:18px}
.info-card{box-sizing:border-box}

.carousel-container{background:#1e1e1e;border-radius:12px;overflow:hidden;position:relative}
.carousel-track{display:flex;height:100%;transition:transform .4s ease;width:100%}
.carousel-track > *{flex:0 0 100%;width:100%}
.carousel-track img{display:block;height:auto;max-height:460px;object-fit:cover;width:100%}
.carousel-btn{align-items:center;background:rgba(0,0,0,.55);border:none;border-radius:50%;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:1;opacity:.85;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:40px;z-index:2}
.carousel-btn.prev{left:12px}
.carousel-btn.next{right:12px}
.carousel-btn:hover{background:rgba(0,0,0,.85);opacity:1;transform:translateY(-50%) scale(1.06)}
.carousel-btn:focus-visible{outline:2px solid #409fff;outline-offset:2px}
.carousel-btn svg{color:#fff;display:block;height:20px;stroke:currentColor;width:20px}
.carousel-btn svg path{stroke:#fff;stroke-linecap:round;stroke-linejoin:round}
.carousel-dots{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:12px}
.carousel-dot{background:#4e4e4e;border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:background .2s ease;width:8px}
.carousel-dot.active{background:#0080ff}

/* fullscreen lightbox (screenshot viewer) — must sit above sidebar (z:9999) and topbar (z:10002) */
.lightbox-overlay{align-items:center;background:rgba(0,0,0,.92);backdrop-filter:blur(0);display:flex;flex-direction:column;gap:16px;inset:0;justify-content:center;opacity:0;position:fixed;transition:opacity .28s ease,visibility 0s linear .28s,backdrop-filter .28s ease;visibility:hidden;z-index:100000}
.lightbox-overlay.show{backdrop-filter:blur(6px);opacity:1;transition:opacity .28s ease,visibility 0s,backdrop-filter .28s ease;visibility:visible}
.lightbox-stage{align-items:center;display:flex;justify-content:center;max-width:92vw;position:relative;width:100%}
.lightbox-img{border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.7);max-height:82vh;max-width:88vw;object-fit:contain}
.lightbox-btn{align-items:center;background:rgba(255,255,255,.12);border:none;border-radius:50%;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:0;justify-content:center;line-height:1;padding:0;transition:background .2s ease,transform .2s ease}
.lightbox-btn:hover{background:rgba(255,255,255,.22);transform:scale(1.06)}
.lightbox-btn:focus-visible{outline:2px solid #409fff;outline-offset:2px}
.lightbox-btn svg{color:#fff;display:block;height:22px;width:22px}
.lightbox-btn svg path{stroke:#fff;stroke-linecap:round;stroke-linejoin:round}
.lightbox-close{height:40px;position:absolute;right:24px;top:20px;width:40px;z-index:1}
.lightbox-nav{height:44px;position:absolute;top:50%;transform:translateY(-50%);width:44px;z-index:1}
.lightbox-nav:hover{transform:translateY(-50%) scale(1.06)}
.lightbox-nav.prev{left:-8px}
.lightbox-nav.next{right:-8px}
.lightbox-counter{color:rgba(255,255,255,.7);font-size:13px;letter-spacing:.02em}

.desc-card{background:#262626;border:1px solid #2e2e2e;border-radius:12px;margin-top:20px;padding:24px}
.desc-card h2{color:#fff;font-size:18px;font-weight:600;line-height:28px;margin-bottom:8px}
.desc-underline{background:#0080ff;border-radius:2px;height:3px;margin-bottom:16px;width:40px}
.desc-text{color:#fff;font-size:14px;line-height:22px}
.desc-text p{margin-bottom:12px}
.desc-text a{color:#409fff}

.section-divider{background:#2e2e2e;border:none;height:1px;margin:32px 0}

.related-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.related-card{align-items:center;background:#262626;border:1px solid #2e2e2e;border-radius:10px;color:#fff;display:flex;flex-direction:column;gap:10px;padding:18px 12px;text-align:center;text-decoration:none;transition:all .2s ease}
.related-card:hover{background:#2e2e2e;border-color:#4e4e4e}
.related-card:hover img{transform:scale(1.05)}
.related-card img{background:#1e1e1e;border-radius:14px;flex-shrink:0;height:64px;object-fit:cover;transition:transform .3s ease;width:64px}
.related-card .name{color:#fff;font-size:13px;font-weight:600;line-height:18px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.related-card .cat{color:#8e8e8e;font-size:11px;line-height:16px}

.comment-card{background:#262626;border:1px solid #2e2e2e;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}
.comment-input{background:#1e1e1e;border:1px solid #2e2e2e;border-radius:8px;box-sizing:border-box;color:#fff;display:block;font-family:inherit;font-size:14px;line-height:22px;padding:10px 12px;width:100%}
.comment-input:focus{border-color:#0080ff;outline:none}
textarea.comment-input{min-height:100px;resize:vertical}
.comment-btn{align-self:flex-start;background:#0080ff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s ease}
.comment-btn:hover{background:#409fff}

/* info-card row values may contain "(Show all)" / "(Less)" — keep them inline-styled, not as full buttons */
.info-card .info-value a,.info-card .info-label .lang-more-btn,.info-card .info-value .show-all,.info-card .info-value button{background:none;border:none;color:#409fff;cursor:pointer;display:inline;font:inherit;font-size:12px;font-weight:500;letter-spacing:normal;line-height:inherit;margin-left:6px;padding:0;text-decoration:none;text-transform:none}
.info-card .info-value a:hover,.info-card .info-label .lang-more-btn:hover,.info-card .info-value button:hover{color:#0080ff;text-decoration:underline}
.info-card .info-value{word-break:break-word}
.info-card .info-row .lang-dots,.info-card .info-row .lang-extra{color:inherit}

/* ===== UPDATE BADGE on cards (top-right corner) ===== */
.card-grid .soft-item .container .update,.card-grid .games-item .container .update,.card-grid .plugins-item .container .update,.card-grid .os-item .container .update{display:none}
.soft-item .update,.games-item .update,.plugins-item .update,.os-item .update{position:absolute;right:12px;top:12px;z-index:5}
.soft-item .update .icon,.games-item .update .icon,.plugins-item .update .icon,.os-item .update .icon{align-items:center;background:#4e4e4e;border-radius:50%;color:#fff;display:inline-flex;height:20px;justify-content:center;width:20px}
.soft-item .update .icon svg,.games-item .update .icon svg,.plugins-item .update .icon svg{display:block;height:14px;width:14px}

/* ===== Article card `.data` block (author + date) ===== */
.card-grid.article .article-new-item .container .info .data{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.card-grid.article .article-new-item .container .info .data .author{color:#fff;font-size:12px;font-weight:500}
.card-grid.article .article-new-item .container .info .data .author a{color:#fff;text-decoration:none}
.card-grid.article .article-new-item .container .info .data .separator{color:#4e4e4e}
.card-grid.article .article-new-item .container .info .data .date,.card-grid.article .article-new-item .container .info .data time{color:#8e8e8e;font-size:12px}
.card-grid.article .article-new-item .container .info .short-story{color:#8e8e8e;display:-webkit-box;font-size:13px;line-height:20px;-webkit-line-clamp:2;margin-top:8px;-webkit-box-orient:vertical;overflow:hidden}

/* ===== OS-item architecture text ===== */
.card-grid .os-item .container .info .architecture{color:#8e8e8e;font-size:12px;line-height:20px}

/* ===== Focus visibility (a11y) — replaces removed outlines ===== */
.cmdk-panel input:focus,.comment-input:focus,.top-search-results .search-item:focus{box-shadow:0 0 0 2px rgba(0,128,255,.5);outline:none}
:focus-visible{outline:2px solid #409fff;outline-offset:2px}
.visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}

/* footer */
footer{bottom:0;float:right;left:270px;margin-top:80px;max-width:1170px;position:relative;right:50px}
footer .container{align-items:center;border-top:1px solid #2e2e2e;display:flex;padding:32px 0}
footer span{color:#8e8e8e;transition:all .2s ease 0s;white-space:nowrap}
footer a{margin-right:40px}
footer a:hover{text-decoration:none}
footer a:hover span{color:#fff;text-decoration:underline}

/* responsive */
@media screen and (max-width:1100px){
  aside.main{width:88px}
  aside.main .container{margin:0 16px}
  aside.main .logo a span{display:none}
  aside.main nav a span{display:none}
  aside.main nav a i{margin-right:0}
  aside.main .fav{display:none}
  .card-grid{grid-template-columns:repeat(3,1fr);gap:16px}
  .card-grid.more-col,.card-grid.plugin-col{grid-template-columns:repeat(2,1fr)}
  .card-grid.article{grid-template-columns:repeat(2,1fr)}
  footer{left:88px;max-width:calc(100% - 100px)}
}

@media screen and (max-width:960px){
  .wrapper > main > header.topbar-header{flex-wrap:wrap}
  .wrapper > main > header.topbar-header input.search{padding-right:64px}
  .cs-item .cs-text{padding-left:24px;top:48px}
  .cs-item .cs-text .cs-text-inner{width:300px}
  .cs-item .cs-text .cs-text-inner h2{font-size:22px;line-height:28px}
}

@media screen and (max-width:999px){
  /* Mobile drawer: hide off-screen by default, slide in via .open class */
  aside.main{height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;width:280px}
  aside.main.open{transform:translateX(0)}
  aside.main.open .container{margin:0 32px}
  aside.main.open .logo a span{display:inline-flex}
  aside.main.open nav a span{display:inline}
  aside.main.open nav a i,aside.main.open nav a .nav-icon-circle{margin-right:12px}
  main{padding-left:8px;padding-right:8px}
  footer{left:0;right:0;max-width:100%}
}

@media screen and (max-width:600px){
  main{padding-right:8px;padding-left:8px}
  .card-grid,.card-grid.more-col,.card-grid.plugin-col,.card-grid.article{grid-template-columns:1fr;gap:16px}
  .card-grid .games-item,.card-grid .plugins-item,.card-grid.article .article-new-item{display:block}
  .swiper-container{height:280px}
  .cs-item{height:280px}
  .cs-item .cs-text{padding-left:16px;top:32px;right:16px}
  .cs-item .cs-text .cs-text-inner{width:auto;padding-right:0}
  .cs-item .cs-text .cs-text-inner h2{font-size:18px;line-height:24px;margin-bottom:16px}
  .cs-item .cs-text .cs-text-inner .big-slider{padding:8px 16px;font-size:13px}
  aside.main{width:88vw;max-width:320px}
  /* Tighter search bar on phones */
  .wrapper > main > header.topbar-header input.search{background-position:10px center;background-size:16px;padding:0 32px 0 32px;font-size:13px}
  .wrapper > main > header.topbar-header .search_btn button{height:36px;width:36px}
  .wrapper > main > header.topbar-header .header-burger{height:44px;width:44px}
  /* CmdK on phones — less top padding, fuller width */
  .cmdk-overlay{padding:16px 8px 8px;align-items:flex-start}
  .cmdk-panel{max-width:100%}
  .cmdk-input-wrap{padding:12px 14px}
  /* Top search dropdown — limit height on small viewports */
  .top-search-results{max-height:50vh}
  /* Detail page two-col collapses */
  .two-col{grid-template-columns:1fr}
  .hero-section{flex-direction:column;text-align:center;padding:16px}
  .hero-section .squircle{height:96px;width:96px}
  .hero-section h1{font-size:22px;line-height:28px}
  .comment-form-grid{grid-template-columns:1fr}
}

/* Bridge the gap between 999px drawer and 1100px sidebar-narrow:
   tablet landscape (1000-1098px) — sidebar still 88px, footer needs to follow */
@media screen and (min-width:1000px) and (max-width:1098px){
  footer{left:88px;max-width:calc(100% - 100px)}
}
