/* X-STORE — витрина приложений X-WORLD. Стиль X-Music: живой переливающийся фон, полосы,
   тёмные края, пять фирменных цветов. Кнопки прямоугольные, со слегка скруглёнными углами.
   Тёмная и светлая темы. */
:root{
  --bg:#05060d;--bg2:#0a0d1a;--panel:#0d1222;--panel2:#111830;--line:rgba(170,190,255,.14);--line2:rgba(228,236,255,.3);
  --fg:#eef2ff;--fg2:#c8d1ea;--muted:#8d97b8;
  --cyan:#3ec8ff;--blue:#5b7cff;--violet:#a37bff;--pink:#ff6fb5;--gold:#ffc83d;--green:#62e08d;--red:#ff5a73;
  --grad:linear-gradient(90deg,#3ec8ff,#5b7cff 30%,#a37bff 55%,#ff6fb5 78%,#ffc83d);
  --grad2:linear-gradient(135deg,#3ec8ff,#a37bff 55%,#ff6fb5);
  --card:rgba(13,18,34,.72);--glass:rgba(17,24,48,.6);--shadow:0 30px 80px -20px rgba(0,0,0,.65);
  --hover:rgba(228,236,255,.06);
  --r:10px;--r2:14px;--top:64px;
  --display:"Unbounded","Golos Text","Segoe UI",system-ui,sans-serif;
  --body:"Golos Text","Segoe UI",system-ui,-apple-system,"Noto Sans","Noto Sans Arabic","Noto Sans Devanagari","PingFang SC","Microsoft YaHei",sans-serif;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#f4f5fc;--bg2:#eceff8;--panel:#ffffff;--panel2:#f6f8fd;--line:rgba(20,30,80,.1);--line2:rgba(20,30,80,.24);
  --fg:#0b1024;--fg2:#33405e;--muted:#5d6888;
  --cyan:#0a8fd1;--blue:#3b5bea;--violet:#7a4ff0;--pink:#e2398f;--gold:#c98a00;--green:#14a14a;--red:#d43650;
  --grad:linear-gradient(90deg,#0a8fd1,#3b5bea 30%,#7a4ff0 55%,#e2398f 78%,#d99a00);
  --grad2:linear-gradient(135deg,#0a8fd1,#7a4ff0 55%,#e2398f);
  --card:rgba(255,255,255,.82);--glass:rgba(255,255,255,.7);--shadow:0 30px 70px -30px rgba(30,30,90,.35);
  --hover:rgba(20,30,80,.045);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
img{max-width:100%;display:block}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
[hidden]{display:none!important}

/* ---------- живой фон: сияние, переливающиеся полосы, тёмные края ---------- */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(80px);opacity:.55;mix-blend-mode:screen;animation:blob 22s ease-in-out infinite alternate}
.aurora i:nth-child(1){background:radial-gradient(circle,#a37bff,transparent 60%);left:-15vmax;top:-20vmax}
.aurora i:nth-child(2){background:radial-gradient(circle,#3ec8ff,transparent 60%);right:-20vmax;top:-10vmax;animation-delay:-7s}
.aurora i:nth-child(3){background:radial-gradient(circle,#ff6fb5,transparent 62%);left:20vmax;bottom:-35vmax;animation-delay:-14s;opacity:.35}
.aurora b{position:absolute;inset:-50%;background:repeating-linear-gradient(115deg,transparent 0 46px,rgba(163,123,255,.06) 46px 48px,transparent 48px 92px,rgba(62,200,255,.05) 92px 94px);animation:stripes 40s linear infinite}
.aurora s{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 50%,rgba(0,0,0,.6) 100%)}
:root[data-theme="light"] .aurora i{mix-blend-mode:multiply;opacity:.18}
:root[data-theme="light"] .aurora b{opacity:.6}
:root[data-theme="light"] .aurora s{background:radial-gradient(120% 90% at 50% 40%,transparent 60%,rgba(40,30,110,.10) 100%)}
@keyframes blob{to{transform:translate(8vmax,6vmax) scale(1.15)}}
@keyframes stripes{to{transform:translateX(188px)}}
@media (prefers-reduced-motion:reduce){.aurora i,.aurora b{animation:none}}

/* ---------- шапка ---------- */
.top{position:sticky;top:0;z-index:20;height:var(--top);display:flex;align-items:center;gap:16px;padding:0 24px;background:linear-gradient(var(--glass),var(--glass));backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-bottom:1px solid var(--line)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad);opacity:.7}
.logo{display:flex;align-items:center;gap:10px;font:700 20px/1 var(--display);letter-spacing:.02em;white-space:nowrap}
.logo img{width:30px;height:30px;flex:none;display:block}
.logo b{background:var(--grad2);-webkit-background-clip:text;background-clip:text;color:transparent}
.search{flex:1;max-width:560px;margin:0 auto;position:relative}
.search input{width:100%;height:42px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line2);background:var(--panel);color:var(--fg);font:15px var(--body)}
.search input::placeholder{color:var(--muted)}
.search input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(62,200,255,.18)}
.tools{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;border-radius:var(--r);border:1px solid var(--line2);background:var(--panel);cursor:pointer;font-weight:600;font-size:14px;white-space:nowrap;transition:background .15s,border-color .15s}
.btn:hover{background:var(--panel2);border-color:var(--cyan)}
.btn.main{border:0;color:#fff;background:var(--grad2);box-shadow:0 10px 30px -10px rgba(163,123,255,.7)}
.btn.main:hover{filter:brightness(1.08)}
.btn.sq{width:42px;padding:0}

/* кнопка аккаунта: аватар слева, имя справа; меню только по клику */
.acct{position:relative}
.acct-btn{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px 0 4px;border-radius:var(--r);border:1px solid var(--line2);background:var(--panel);cursor:pointer}
.acct-btn .ava{width:34px;height:34px;border-radius:7px;object-fit:cover;background:var(--grad2);display:grid;place-items:center;font-weight:700;color:#fff;font-size:14px}
.acct-btn span{font-weight:600;font-size:14px;max-width:16ch;overflow:hidden;white-space:nowrap}
.acct-menu{position:absolute;right:0;top:calc(100% + 8px);width:300px;padding:14px;border-radius:var(--r2);background:var(--panel);border:1px solid var(--line2);box-shadow:var(--shadow)}
.acct-head{display:flex;gap:12px;align-items:center;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.acct-head .ava.big{width:64px;height:64px;border-radius:10px;background:var(--grad2);display:grid;place-items:center;font:700 24px var(--display);color:#fff;object-fit:cover}
.acct-head b{display:block;font-size:16px}
.acct-head small{color:var(--muted)}
.acct-menu a{display:block;padding:9px 10px;border-radius:8px;font-size:14px}
.acct-menu a:hover{background:var(--hover)}
.acct-menu a.out{color:var(--red)}

/* ---------- раскладка ---------- */
main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:28px 24px 60px}
.hero{padding:30px 0 26px}
.hero h1{font:700 clamp(26px,4vw,44px)/1.15 var(--display);letter-spacing:-.01em}
.hero h1 b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{margin-top:10px;color:var(--fg2);max-width:640px}

.cats{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 22px}
.cat{height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:14px;font-weight:600;color:var(--fg2)}
.cat:hover{border-color:var(--line2);color:var(--fg)}
.cat.on{border-color:transparent;background:var(--grad2);color:#fff}

.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:30px 0 14px}
.sec-h h2{font:600 20px/1.2 var(--display)}
.sec-h small{color:var(--muted)}

/* сетка приложений */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.app{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line);transition:transform .2s,border-color .2s,box-shadow .2s}
.app:hover{transform:translateY(-3px);border-color:var(--line2);box-shadow:var(--shadow)}
.app-top{display:flex;gap:14px;align-items:center}
.icon{flex:none;width:64px;height:64px;border-radius:14px;overflow:hidden;background:var(--grad2);display:grid;place-items:center;font:700 22px var(--display);color:#fff;box-shadow:0 8px 24px -10px rgba(0,0,0,.6)}
.icon img{width:100%;height:100%;object-fit:cover}
.app h3{font-size:16px;font-weight:700;line-height:1.25}
.app .dev{font-size:13px;color:var(--muted)}
.app .desc{font-size:14px;color:var(--fg2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted)}
.plat{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--fg2)}

.empty{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:var(--r2)}

/* ---------- страница приложения ---------- */
.crumbs{font-size:14px;color:var(--muted);margin-bottom:18px}
.crumbs a:hover{color:var(--fg)}
.app-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;padding:24px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.app-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}
.app-hero .icon{width:120px;height:120px;border-radius:24px}
.app-hero h1{font:700 clamp(24px,3.4vw,36px)/1.15 var(--display)}
.app-hero .dev{color:var(--muted);margin-top:4px}
.facts{display:flex;flex-wrap:wrap;gap:0;margin-top:16px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;width:fit-content;max-width:100%}
.facts div{padding:8px 16px;border-right:1px solid var(--line);font-size:13px;color:var(--muted)}
.facts div:last-child{border-right:0}
.facts b{display:block;color:var(--fg);font-size:15px}
.dl{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.dl .btn{height:48px;padding:0 22px;font-size:15px}

.shots{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x mandatory}
.shots figure{margin:0;flex:none;width:220px;aspect-ratio:9/19;border-radius:var(--r2);overflow:hidden;background:var(--panel2);border:1px solid var(--line);scroll-snap-align:start}
.shots img{width:100%;height:100%;object-fit:cover}
.shots .ph{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);font-size:13px;background:linear-gradient(160deg,var(--panel2),var(--panel))}

.cols{display:grid;grid-template-columns:1fr 340px;gap:24px;margin-top:8px}
.box{padding:20px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line)}
.box h2{font:600 18px/1.3 var(--display);margin-bottom:12px}
.box p+p{margin-top:10px}
.box .txt{color:var(--fg2);white-space:pre-line}
.vers{list-style:none;margin:0;padding:0}
.vers li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.vers li:last-child{border-bottom:0}
.vers small{color:var(--muted)}
.vers a{color:var(--cyan);font-weight:600}
.info dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:14px}
.info dt{color:var(--muted)}
.info dd{margin:0;text-align:right;word-break:break-word}
.note{margin-top:14px;padding:12px 14px;border-radius:var(--r);background:rgba(62,200,255,.08);border:1px solid rgba(62,200,255,.3);font-size:14px;color:var(--fg2)}

/* ---------- мануал ---------- */
.manual{max-width:860px}
.manual h1{font:700 clamp(24px,3.4vw,36px)/1.2 var(--display);margin-bottom:8px}
.manual .lead{color:var(--fg2);margin-bottom:24px}
.manual section{padding:20px 22px;margin-bottom:14px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line)}
.manual h2{font:600 18px/1.3 var(--display);margin-bottom:10px}
.manual dl{margin:0}
.manual dt{font-weight:700;margin-top:12px}
.manual dt:first-child{margin-top:0}
.manual dd{margin:4px 0 0;color:var(--fg2)}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.toc a{padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:14px;color:var(--fg2)}
.toc a:hover{border-color:var(--line2);color:var(--fg)}

/* ---------- общие элементы ---------- */
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.btn.sm{height:32px;padding:0 12px;font-size:13px}
.btn.danger{border-color:rgba(255,90,115,.5);color:var(--red)}
.btn.danger:hover{border-color:var(--red);background:rgba(255,90,115,.08)}
.btn[disabled]{opacity:.45;cursor:not-allowed;filter:none}
label.btn{cursor:pointer}
.sel,.inp{height:40px;padding:0 12px;border-radius:var(--r);border:1px solid var(--line2);background:var(--panel);color:var(--fg);font:14px var(--body);max-width:100%}
.sel:focus,.inp:focus{outline:none;border-color:var(--cyan)}
.muted{color:var(--muted)}
.mono{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:13px;word-break:break-all}
.small{font-size:12px}
.hint{display:block;font-size:13px;color:var(--muted);margin-top:6px}
.lead{font-size:17px;color:var(--fg2);margin-bottom:16px}
.bad-t{color:var(--red)}
.req{color:var(--pink);font-style:normal}
.note{margin:14px 0;padding:12px 14px;border-radius:var(--r);background:rgba(62,200,255,.08);border:1px solid rgba(62,200,255,.3);font-size:14px;color:var(--fg2)}
.note.good{background:rgba(98,224,141,.08);border-color:rgba(98,224,141,.35)}
.note.warn{background:rgba(255,200,61,.08);border-color:rgba(255,200,61,.4)}
.note.bad{background:rgba(255,90,115,.08);border-color:rgba(255,90,115,.4)}
.note a{color:var(--cyan);font-weight:600}
.badge{display:inline-block;padding:2px 9px;border-radius:6px;font-size:12px;font-weight:700;border:1px solid var(--line2);color:var(--fg2);white-space:nowrap}
.st-published,.st-verified{color:var(--green);border-color:rgba(98,224,141,.45)}
.st-review,.st-pending{color:var(--cyan);border-color:rgba(62,200,255,.45)}
.st-rejected,.st-blocked{color:var(--red);border-color:rgba(255,90,115,.45)}
.st-hidden,.st-old{color:var(--muted)}
.st-draft,.st-new{color:var(--gold);border-color:rgba(255,200,61,.45)}
.toast{position:fixed;left:50%;bottom:24px;z-index:80;transform:translate(-50%,30px);opacity:0;pointer-events:none;max-width:min(560px,calc(100% - 32px));padding:12px 16px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line2);box-shadow:var(--shadow);font-size:14px;transition:opacity .2s,transform .2s}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast.bad{border-color:var(--red)}
.empty a{color:var(--cyan)}

/* каталог */
.bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:6px 0 4px}
.bar .cats{margin:0}
.bar-r{display:flex;gap:10px;flex-wrap:wrap}
.app-name{min-width:0}
.app-name h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rate{color:var(--gold);font-weight:700}
.more{height:1px}
.icon:empty{background:var(--grad2)}
.icon.sm{width:48px;height:48px;border-radius:11px}
.icon.big{width:96px;height:96px;border-radius:20px}

/* страница приложения */
.app-hero .icon{flex:none}
.hint{max-width:640px}
.col-main,.col-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.box h3{font:600 15px/1.3 var(--display);margin:18px 0 8px}
.rsum{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.rbig{display:flex;flex-direction:column;align-items:center;min-width:110px}
.rbig b{font:700 44px/1 var(--display)}
.stars{color:var(--gold);letter-spacing:1px}
.hist{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px}
.hbar{display:grid;grid-template-columns:14px 1fr;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.hbar i{height:8px;border-radius:4px;background:var(--line);overflow:hidden;display:block}
.hbar b{display:block;height:100%;background:var(--grad);border-radius:4px}
.myrev{padding:14px;border-radius:var(--r);border:1px solid var(--line2);background:var(--panel2);margin-bottom:12px}
.pickstars{display:flex;gap:4px;margin:8px 0}
.pickstars button{border:0;background:none;font-size:30px;line-height:1;color:var(--gold);cursor:pointer;padding:2px}
textarea{width:100%;padding:10px 12px;border-radius:var(--r);border:1px solid var(--line2);background:var(--panel);color:var(--fg);font:15px/1.5 var(--body);resize:vertical}
textarea:focus{outline:none;border-color:var(--cyan)}
.revs{display:flex;flex-direction:column}
.rev{padding:14px 0;border-top:1px solid var(--line)}
.rev-h{display:flex;gap:10px;align-items:center}
.rev-h .ava{width:36px;height:36px;border-radius:8px;object-fit:cover;background:var(--grad2);display:grid;place-items:center;color:#fff;font-weight:700;flex:none}
.rev-h small{display:block;color:var(--muted);font-size:13px}
.rev>p{margin-top:8px;color:var(--fg2)}
.rev .row{margin-top:8px}
.rev .row:empty{display:none}
.hidden-rev{opacity:.5}
.reply{margin:10px 0 0;padding:10px 12px;border-radius:var(--r);background:var(--panel2);border-inline-start:3px solid var(--violet);font-size:14px}
.reply p{margin-top:4px;color:var(--fg2)}
.reply-form{margin-top:10px}
.links{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.links a{color:var(--cyan)}
.sha{margin-top:12px;font-size:13px}
.sha code{display:block;margin-top:6px;word-break:break-all;color:var(--muted)}
.vers p{margin-top:4px;font-size:14px;color:var(--fg2)}
.vers li{flex-direction:column}
.box.info p{color:var(--fg2)}

/* кабинет и проверка */
.console{max-width:1100px}
.narrow{max-width:640px;margin:20px auto}
.narrow h1{font:700 26px/1.2 var(--display);margin-bottom:10px}
.con-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:10px 0 14px}
.con-h h1{font:700 clamp(22px,3vw,32px)/1.2 var(--display)}
.con-h h2{font:600 20px/1.3 var(--display)}
.back{display:inline-block;color:var(--cyan);font-size:14px;margin-bottom:6px}
.plus{margin:0 0 16px;padding-inline-start:20px;color:var(--fg2)}
.form .box{margin-bottom:16px}
.box+.box,.form+.box,.box+.form,.status-box{margin-bottom:16px}
.fld{display:flex;flex-direction:column;gap:6px;margin-top:14px;min-width:0}
.fld>span{font-size:14px;font-weight:600;color:var(--fg2)}
.fld input{height:42px;padding:0 12px;border-radius:var(--r);border:1px solid var(--line2);background:var(--panel);color:var(--fg);font:15px var(--body);width:100%}
.fld input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(62,200,255,.15)}
.fld small{font-size:12px;color:var(--muted)}
.fld .cnt{text-align:end}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}
.seg{display:inline-flex;border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;width:fit-content;max-width:100%}
.seg button{height:40px;padding:0 16px;border:0;background:var(--panel);cursor:pointer;font-weight:600;font-size:14px;color:var(--fg2)}
.seg button+button{border-inline-start:1px solid var(--line2)}
.seg button.on{background:var(--grad2);color:#fff}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14px;color:var(--fg2)}
.check input{width:18px;height:18px;margin-top:2px;flex:none}
.check a{color:var(--cyan)}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.tab{height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:13px;font-weight:600;color:var(--muted)}
.tab.has{color:var(--fg);border-color:var(--line2)}
.tab.on{background:var(--grad2);border-color:transparent;color:#fff}
.tabs.big{margin-bottom:18px}
.tabs.big .tab{height:40px;padding:0 16px;font-size:14px}
.list{display:flex;flex-direction:column;gap:10px}
.lrow{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line);transition:border-color .15s}
a.lrow:hover{border-color:var(--line2)}
.lrow .ava{width:40px;height:40px;border-radius:9px;object-fit:cover;background:var(--grad2);display:grid;place-items:center;color:#fff;font-weight:700;flex:none}
.lmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.lmain small{color:var(--muted);font-size:13px}
.lside{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:end}
.lside small{color:var(--muted);font-size:12px}
.up-icon{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.shots.edit figure{position:relative;width:150px}
.shot-tools{position:absolute;left:6px;right:6px;bottom:6px;display:flex;gap:6px;justify-content:flex-end}
.shot-tools .btn{background:var(--panel);opacity:.92}
.prog{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:10px;max-width:420px}
.prog i{display:block;height:100%;width:0;background:var(--grad);transition:width .2s}
.rel{padding:14px;border-radius:var(--r);background:var(--panel2);border:1px solid var(--line);margin:10px 0 14px}
.hist-d{margin-top:16px}
.hist-d summary{cursor:pointer;font-weight:600;color:var(--fg2)}
.savebar{position:sticky;bottom:12px;z-index:30;display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:10px 14px;margin-top:14px;border-radius:var(--r2);background:var(--panel);border:1px solid var(--line2);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s}
.savebar.on{opacity:1;pointer-events:auto}
.savebar span{color:var(--gold);font-size:14px}
.status-box{display:flex;flex-direction:column;gap:6px}
.decide{border-color:rgba(62,200,255,.4)}
.kv{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:6px 14px;margin:8px 0 0;font-size:14px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;word-break:break-word}
.kv a{color:var(--cyan)}
.box details{margin-top:10px}
.box details summary{cursor:pointer;font-weight:600}

/* страницы с текстом */
.doc{max-width:900px}
.doc h1{font:700 clamp(26px,3.6vw,40px)/1.2 var(--display);margin:10px 0 10px}
.doc section{padding:20px 22px;margin-bottom:14px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line)}
.doc section h2{font:600 18px/1.3 var(--display);margin-bottom:10px}
.doc section p{color:var(--fg2)}
.doc section p+p{margin-top:10px}
.doc dl{margin:0}
.doc dt{font-weight:700;margin-top:14px}
.doc dt:first-child{margin-top:0}
.doc dd{margin:4px 0 0;color:var(--fg2)}
.perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.perks .box{margin:0}
.steps{margin:0;padding-inline-start:22px;color:var(--fg2)}
.steps li+li{margin-top:8px}
.cta{margin:18px 0 6px}

/* ---------- главная: рассказ о магазине ---------- */
.home main{padding-top:8px}
.btn.big{height:52px;padding:0 24px;font-size:16px}
.lhero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:32px;align-items:center;min-height:min(640px,calc(100vh - var(--top) - 40px));padding:32px 0 24px}
.lbrand{font:800 clamp(60px,10.5vw,140px)/.92 var(--display);letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:6px}
.ltag{margin-top:18px;font:600 clamp(20px,2.6vw,30px)/1.25 var(--display);color:var(--fg)}
.llead{margin-top:14px;max-width:620px;font-size:18px;color:var(--fg2)}
.lhero .row{margin-top:28px;gap:12px}
.lhero-icon{display:grid;place-items:center}
.lhero-icon img{width:min(300px,100%);height:auto;filter:drop-shadow(0 30px 70px rgba(163,123,255,.55)) drop-shadow(0 10px 30px rgba(62,200,255,.35))}
:root[data-theme="light"] .lhero-icon img{filter:drop-shadow(0 26px 50px rgba(122,79,240,.30))}
.lsec{margin:64px 0}
.lh2{font:600 clamp(24px,3vw,34px)/1.2 var(--display)}
.feat3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.feat{position:relative;overflow:hidden;padding:26px 24px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line)}
.feat::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}
.feat h3{font:600 20px/1.3 var(--display);margin-bottom:14px}
.feat ul{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:10px;color:var(--fg2)}
.feat li::marker{color:var(--violet)}
.ldev{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center;padding:34px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line2)}
.ldev-text p{margin-top:12px;color:var(--fg2);font-size:17px}
.ldev .row{margin-top:22px}
.lsteps{list-style:none;margin:0;padding:0;counter-reset:st;display:flex;flex-direction:column;gap:12px}
.lsteps li{counter-increment:st;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:12px 14px;border-radius:var(--r);background:var(--panel2);border:1px solid var(--line);color:var(--fg2)}
.lsteps li::before{content:counter(st);display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:var(--grad2);color:#fff;font:700 18px var(--display)}
.lmanual{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:30px 34px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line)}
.lmanual p{margin-top:10px;color:var(--fg2);max-width:680px}
.catalog-sec{margin-top:64px;scroll-margin-top:calc(var(--top) + 16px)}
.catalog-sec .sec-h{margin-top:0}
.landing[hidden]+.catalog-sec{margin-top:20px}
@media (max-width:860px){
  .lhero{grid-template-columns:1fr;min-height:0;gap:8px;padding-top:12px}
  .lhero-icon{order:-1;justify-items:start}
  .lhero-icon img{width:110px}
  .feat3,.ldev{grid-template-columns:1fr}
  .ldev{padding:24px}
}
@media (max-width:640px){
  .btn.big{flex:1 1 100%}
  .lsec{margin:44px 0}
  .lmanual{padding:22px}
  .llead{font-size:16px}
}

/* ---------- подвал: языки слева внизу ---------- */
.foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 24px;border-top:1px solid var(--line);background:var(--glass);font-size:14px;color:var(--muted)}
.foot nav{display:flex;gap:16px;flex-wrap:wrap}
.foot a:hover{color:var(--fg)}
.lang{position:relative}
.lang-btn{gap:4px;padding:0 10px 0 12px}
.lang-btn .chev{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2}
.lang-list{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:200px;padding:6px;border-radius:var(--r2);background:var(--panel);border:1px solid var(--line2);box-shadow:var(--shadow)}
.lang-list button{display:flex;gap:10px;align-items:center;width:100%;text-align:start;padding:8px 12px;border:0;border-radius:8px;background:none;cursor:pointer;font-size:14px}
.lang-list button b{width:26px;color:var(--muted);font-size:12px}
.lang-list button:hover,.lang-list button.on{background:var(--hover)}
.lang-list button.on{color:var(--cyan);font-weight:700}
.theme-btn .ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.theme-btn .moon{display:none}
:root[data-theme="light"] .theme-btn .sun{display:none}
:root[data-theme="light"] .theme-btn .moon{display:block}

/* ---------- cookie ---------- */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:760px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:var(--r2);background:var(--panel);border:1px solid var(--line2);box-shadow:var(--shadow);font-size:14px;color:var(--fg2)}
.cookie p{flex:1}

/* ---------- телефон ---------- */
@media (max-width:860px){
  .cols{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--top:auto}
  .top{flex-wrap:wrap;padding:10px 16px;gap:10px;height:auto}
  .search{order:3;flex-basis:100%;max-width:none}
  .tools{margin-inline-start:auto}
  .acct-btn span{display:none}
  .acct-btn{padding:0 4px}
  main{padding:18px 16px 50px}
  .hero{padding:14px 0 16px}
  .grid{grid-template-columns:1fr}
  .app-hero{grid-template-columns:1fr;text-align:start;padding:18px}
  .app-hero .icon{width:88px;height:88px;border-radius:20px;font-size:30px}
  .dl .btn{flex:1 1 100%}
  .shots figure{width:170px}
  .foot{padding:16px}
  .cookie{flex-direction:column;align-items:stretch;text-align:start}
  .acct-menu{position:fixed;left:16px;right:16px;top:auto;width:auto}
  .grid2,.perks{grid-template-columns:1fr}
  .facts{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .facts div{border-right:0;border-bottom:1px solid var(--line)}
  .facts div:nth-child(odd){border-inline-end:1px solid var(--line)}
  .facts div:nth-last-child(-n+2){border-bottom:0}
  .bar-r{width:100%}
  .bar-r .sel{flex:1}
  .lrow{flex-wrap:wrap}
  .lside{flex-direction:row;align-items:center;width:100%;justify-content:space-between}
  .rbig{min-width:0}
  .kv{grid-template-columns:1fr}
  .kv dd{margin-bottom:6px}
  .savebar{bottom:8px}
}
[dir="rtl"] .facts div{border-right:0;border-left:1px solid var(--line)}
[dir="rtl"] .facts div:last-child{border-left:0}
[dir="rtl"] .info dd{text-align:left}
[dir="rtl"] .acct-menu{right:auto;left:0}
[dir="rtl"] .lang-list{right:auto;left:0}
.fld>label.btn,.fld>.btn{align-self:flex-start}
#mBody>.row+div,#mBody>.row+.list{margin-top:14px}
.nw{white-space:nowrap}

/* ---------- значки ---------- */
.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- шапка: галерея, меню аккаунта, надпись «Админка» ---------- */
.gal-btn .ico{width:18px;height:18px}
.gal-btn.on{border-color:var(--cyan);color:var(--cyan)}
.admin-label{margin-inline-end:auto;padding:7px 11px;border-radius:8px;background:var(--grad2);color:#fff;font:700 13px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.top-admin .logo{margin-inline-end:4px}
.acct-menu a{display:flex;align-items:center;gap:10px}
.acct-menu a .ico{width:18px;height:18px;color:var(--muted)}
.acct-menu a.out .ico{color:var(--red)}
.acct-sep{height:1px;background:var(--line);margin:8px 2px}
.foot{justify-content:space-between}
.foot .copy{color:var(--fg2);font-weight:600}

/* ---------- разделы: на компьютере вверху ---------- */
.secnav{display:flex;gap:8px;margin:0 0 24px;overflow-x:auto;scrollbar-width:none}
.secnav::-webkit-scrollbar{display:none}
.secnav a{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);font-weight:600;font-size:14px;color:var(--fg2);white-space:nowrap;transition:border-color .15s,color .15s}
.secnav a:hover{border-color:var(--line2);color:var(--fg)}
.secnav a.on{background:var(--grad2);border-color:transparent;color:#fff}
.secnav .ico{width:18px;height:18px}

/* ---------- галерея ---------- */
.g-h1{font:700 clamp(24px,3vw,34px)/1.2 var(--display);margin:0 0 20px}
.gblock{margin:0 0 44px}
.gblock h2{font:600 clamp(18px,2vw,22px)/1.2 var(--display);margin-bottom:14px}
.gb-more{display:flex;justify-content:center;margin-top:18px}
.gb-more .btn{min-width:220px}
.g-listh{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-bottom:18px}
.g-listh .g-h1{margin:0}
.g-listh small{color:var(--muted)}
.g-listh .sel{margin-inline-start:auto}

/* плитки: квадрат, значок и сведения внутри, фон — размытый значок самого приложения */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tile{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:flex-start;padding:16px;border-radius:18px;background:var(--panel2);border:1px solid var(--line);transition:transform .25s,border-color .25s,box-shadow .25s;animation:tin .5s both;animation-delay:calc(var(--i,0) * 35ms)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,6,13,.5) 0%,rgba(5,6,13,.82) 100%)}
.tile-bg{position:absolute;z-index:-2;left:-30%;top:-30%;width:160%;height:160%;max-width:none;object-fit:cover;filter:blur(38px) saturate(1.7);opacity:.6;transition:transform .8s}
.tile:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:var(--shadow)}
.tile:hover .tile-bg{transform:scale(1.18) rotate(8deg)}
.tile:hover .tile-ico{transform:translateY(-2px) scale(1.05)}
.tile-ico{flex:none;width:30%;max-width:84px;aspect-ratio:1/1;border-radius:22%;overflow:hidden;background:var(--grad2);display:grid;place-items:center;box-shadow:0 16px 34px -14px rgba(0,0,0,.75);transition:transform .3s}
.tile-ico img{width:100%;height:100%;object-fit:cover}
.tile-ico i{font:700 28px var(--display);font-style:normal;color:#fff}
.tile-txt{display:flex;flex-direction:column;gap:2px;min-width:0;color:#fff}
.tile-txt b{font-size:16px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tile-txt small{font-size:13px;color:rgba(238,242,255,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.tile-meta i{font-style:normal;font-size:12px;font-weight:600;line-height:1;padding:5px 8px;border-radius:6px;background:rgba(255,255,255,.13);color:#eef2ff;white-space:nowrap}
.tile-meta i.r{color:#ffd56b}
:root[data-theme="light"] .tile::after{background:linear-gradient(180deg,rgba(255,255,255,.6) 0%,rgba(255,255,255,.9) 100%)}
:root[data-theme="light"] .tile-bg{opacity:.5}
:root[data-theme="light"] .tile-txt{color:var(--fg)}
:root[data-theme="light"] .tile-txt small{color:var(--fg2)}
:root[data-theme="light"] .tile-meta i{background:rgba(20,30,80,.08);color:var(--fg2)}
:root[data-theme="light"] .tile-meta i.r{color:#a86f00}
.tile.ph{animation:shimmer 1.4s ease-in-out infinite alternate;border-color:var(--line)}
@keyframes tin{from{opacity:0;transform:translateY(14px) scale(.98)}}
@keyframes shimmer{from{opacity:.35}to{opacity:.8}}
@media (prefers-reduced-motion:reduce){.tile{animation:none}.tile-bg{transition:none}}

/* ---------- админка: слева меню, сверху полоса, по центру содержимое ---------- */
.admin-page .aurora{opacity:.55}
.adm{flex:1;display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - var(--top))}
.adm-side{position:sticky;top:var(--top);align-self:start;height:calc(100vh - var(--top));overflow:auto;padding:18px 12px;border-inline-end:1px solid var(--line);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.adm-side nav{display:flex;flex-direction:column;gap:2px}
.adm-side nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14px;color:var(--fg2);white-space:nowrap}
.adm-side nav a:hover{background:var(--hover);color:var(--fg)}
.adm-side nav a.on{background:var(--grad2);color:#fff}
.adm-side .ico{width:19px;height:19px}
.cnt-b{margin-inline-start:auto;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--pink);color:#fff;font:700 12px/22px var(--body);font-style:normal;text-align:center}
.side-sep{height:1px;background:var(--line);margin:10px 6px}
.side-link{color:var(--muted)!important}
.adm-main{padding:22px 30px 70px;min-width:0;width:100%;max-width:1320px}
.adm-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.adm-bar h1{font:700 clamp(22px,2.6vw,30px)/1.2 var(--display)}
.adm-bar .row{margin:0}
.adm .box{margin-bottom:16px}
.adm .box h2{font-size:16px}
.adm .narrow{margin:40px auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.kpi{padding:16px 18px;border-radius:var(--r2);background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad2)}
.kpi small{display:block;color:var(--muted);font-size:13px;font-weight:600}
.kpi b{display:block;font:700 30px/1.2 var(--display);margin-top:4px}
.kpi span{display:block;font-size:12px;color:var(--cyan);margin-top:2px}
.kpis.small b{font-size:22px}
.schart{display:block;width:100%;height:auto}
.schart .bv{fill:var(--cyan)}
.schart .bd{fill:var(--pink)}
.schart .gl{stroke:var(--line);stroke-width:1}
.schart .gt{fill:var(--muted);font-size:11px;font-family:var(--body)}
.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:8px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-inline-end:6px;vertical-align:-1px}
.legend i.bv{background:var(--cyan)}
.legend i.bd{background:var(--pink)}
.sgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sgrid .box{margin:0}
.sbars{display:flex;flex-direction:column;gap:2px}
.sbar{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14px;padding:5px 0}
.sbar .sl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg2)}
.sbar .sv{height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.sbar .sv i{display:block;height:100%;border-radius:4px;background:var(--grad)}
.sbar b{min-width:3ch;text-align:end}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:start;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--line2);white-space:nowrap}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tbody tr:hover{background:var(--hover)}
.tbl td:not(:first-child),.tbl th:not(:first-child){text-align:end}
.jtbl td,.jtbl th{text-align:start!important}
.nw2{white-space:nowrap}
.tapp{display:inline-flex;align-items:center;gap:10px;min-width:0;font-weight:600}
.tapp:hover span{color:var(--cyan)}
.icon.xs{width:32px;height:32px;border-radius:8px;font-size:12px;box-shadow:none}
.st-app{margin-bottom:16px}
.st-app h2{font:600 20px/1.3 var(--display)}
.st-feat{color:var(--gold);border-color:rgba(255,200,61,.45)}
.st-kids{color:var(--green);border-color:rgba(98,224,141,.45)}
.lrow-link{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.lrow:has(.lrow-link):hover{border-color:var(--line2)}
.filters{margin:0 0 16px}
.filters .inp{flex:1;min-width:220px}
.adm .tabs.big .tab{display:inline-flex;align-items:center}
.rev-a .rev-h+.rev-h{margin-top:10px}
.rev-a>p{margin-top:8px;color:var(--fg2)}
.check .hint{margin-top:2px}
.check b{display:block;color:var(--fg)}
#repBtn .ico{width:16px;height:16px}

/* ---------- планшет и телефон ---------- */
@media (max-width:1100px){
  .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .adm{grid-template-columns:1fr}
  .adm-side{position:static;height:auto;padding:8px 10px;border-inline-end:0;border-bottom:1px solid var(--line)}
  .adm-side nav{flex-direction:row;overflow-x:auto;scrollbar-width:none}
  .adm-side nav::-webkit-scrollbar{display:none}
  .adm-side nav a{padding:8px 12px}
  .side-sep{display:none}
  .adm-main{padding:16px 16px 60px}
  .sgrid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .top .logo{order:0}
  .top .tools{order:1}
  .top .search{order:3;flex:1 1 0;flex-basis:auto}
  .top .gal-btn{order:4}
  .top-admin .gal-btn{display:none}
  .top-admin .admin-label{order:0;padding:6px 8px;font-size:11px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tile{padding:12px;border-radius:16px}
  .tile-txt b{font-size:14px}
  .tile-txt small{font-size:12px}
  .tile-meta{margin-top:6px;gap:4px}
  .tile-meta i{font-size:11px;padding:4px 6px}
  .gb-more .btn{width:100%}
  .g-listh .sel{margin-inline-start:0;width:100%}
  /* разделы — внизу экрана, как в магазине приложений на телефоне: значок и подпись */
  .secnav{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--glass);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-top:1px solid var(--line);overflow:visible}
  .secnav a{flex-direction:column;justify-content:center;gap:4px;height:auto;padding:4px 0;border:0;background:none;font-size:11px;font-weight:600;color:var(--muted);min-width:0}
  .secnav a span{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .secnav a .ico{width:22px;height:22px;box-sizing:content-box;padding:4px 16px;border-radius:16px;transition:background .2s}
  .secnav a.on{background:none;color:var(--fg)}
  .secnav a.on .ico{background:var(--grad2);color:#fff}
  .with-secnav main{padding-bottom:96px}
  .with-secnav .foot{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .with-secnav .cookie{bottom:calc(76px + env(safe-area-inset-bottom))}
  .with-secnav .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
  .kpi b{font-size:24px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .adm-bar .seg{width:100%;overflow-x:auto}
  .adm-bar .seg button{flex:1;padding:0 6px;font-size:13px;white-space:nowrap}
  .top-admin .logo span{display:none}
  .top-admin{flex-wrap:nowrap}
  .lrow-link{flex-basis:100%}
}
.tile-txt b,.tile-txt small,.tapp span,.lmain b{unicode-bidi:plaintext}

/* плитка: вверху значок, справа от него название, разработчик, скачивания и вес; ниже — короткое описание */
.tile-top{display:flex;gap:12px;align-items:flex-start;min-width:0}
.tile-txt{flex:1}
.tile-desc{margin-top:12px;font-size:14px;line-height:1.45;color:rgba(238,242,255,.86);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
:root[data-theme="light"] .tile-desc{color:var(--fg2)}
@media (max-width:1100px){.tile-desc{-webkit-line-clamp:4}}
@media (max-width:640px){
  .tile-top{gap:8px}
  .tile-ico{width:34%;border-radius:20%}
  .tile-txt b{-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis;display:block}
  .tile-meta i{font-size:10px;padding:3px 5px}
  .tile-desc{margin-top:8px;font-size:12px;line-height:1.35;-webkit-line-clamp:4}
  .top .gal-btn span{font-size:13px}
}

/* маленькая инструкция по установке у кнопки «Скачать» */
.inst{margin-top:14px;max-width:640px;padding:10px 14px;border-radius:var(--r);background:var(--panel2);border:1px solid var(--line);font-size:13px;color:var(--fg2)}
.inst b{color:var(--fg);font-size:13px}
.inst ol{margin:6px 0 0;padding-inline-start:20px;display:flex;flex-direction:column;gap:3px}

/* №6: на компьютере плитка прямоугольная — высота ровно половина ширины, у всех одинаковая */
@media (min-width:641px){
  .tile{aspect-ratio:2/1;padding:14px 16px}
  .tile-ico{width:56px;max-width:none}
  .tile-txt b{-webkit-line-clamp:1}
  .tile-meta{margin-top:5px;flex-wrap:nowrap;overflow:hidden;gap:4px}
  .tile-meta i{font-size:11px;padding:4px 6px}
  .tile-desc{margin-top:10px;font-size:13px;line-height:1.4;-webkit-line-clamp:2}
}
@media (min-width:641px) and (max-width:1000px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1001px) and (max-width:1200px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- платформа: Android / Windows ---------- */
.platsw{margin:0 0 14px}
.platsw button{min-width:120px}
.av-clean{color:var(--green);border-color:rgba(98,224,141,.45)}
.av-infected{color:var(--red);border-color:rgba(255,90,115,.45)}
.av-scanning{color:var(--cyan);border-color:rgba(62,200,255,.45)}
.av-error,.av-unavailable{color:var(--gold);border-color:rgba(255,200,61,.45)}
/* подпись X-WORLD SIGN */
.sg-store,.sg-own{color:var(--green);border-color:rgba(98,224,141,.45)}
.sg-error{color:var(--red);border-color:rgba(255,90,115,.45)}
.sg-none{color:var(--gold);border-color:rgba(255,200,61,.45)}
.adm-bar .seg+.seg{margin-inline-start:8px}
@media (max-width:640px){
  .platsw{display:flex;width:100%}
  .platsw button{flex:1;min-width:0}
  .adm-bar .seg+.seg{margin:8px 0 0}
}

/* скриншоты программ для Windows — горизонтальные */
.shots.wide figure{width:440px;aspect-ratio:16/10}
.shots.edit.wide figure{width:260px}
@media (max-width:640px){.shots.wide figure{width:300px}}
@media (max-width:860px){.adm{align-content:start}}
