/* top-androidd: поправки поверх архивных styles.css + engine.css шаблона DLE «top-new» (2024).
   Палитра — токены шаблона; шрифты — локальные копии тех, что сайт брал с Google Fonts (кириллица + латиница). */

:root {
	--ta-green: #4caf50;
	--ta-green-dark: #46a14a;
	--ta-green-light: #6fbf73;
	--ta-accent: #2ecc71;
	--ta-bg: #f9f9f9;
	--ta-card: #fff;
	--ta-text: #000;
	--ta-muted: #6b6b6b;
	--ta-focus: #1a73e8;
	--ta-warn: #e74c3c;
	--ta-note-bg: #f1f8f1;
	--ta-warn-bg: #fdf0ef;
	--ta-line: #ddd;
	--ta-th-bg: #f3f3f3;
	--ta-green-deep: #2e7d32;  /* кнопка формы: 5.1:1 с белым (архивный #4caf50 — 2.8:1) */
	--ta-err: #c62828;         /* ошибки формы: 5.6:1 на белом */
	--ta-err-bg: #fdecea;
	--ta-input-line: #8a8a8a;  /* рамка поля: 3.4:1 на белом */
}

/* ---------- шрифты ---------- */
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/roboto-cyrillic-400-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/roboto-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/roboto-cyrillic-500-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/roboto-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/roboto-cyrillic-700-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/roboto-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/open-sans-cyrillic-400-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/open-sans-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/open-sans-cyrillic-600-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/open-sans-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/open-sans-cyrillic-700-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/open-sans-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Roboto Condensed'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/roboto-condensed-cyrillic-400-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Roboto Condensed'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/roboto-condensed-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Roboto Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/roboto-condensed-cyrillic-700-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Roboto Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/roboto-condensed-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

body { background: var(--ta-bg); color: var(--ta-text); }

/* ---------- инлайновый CSS из <head> архива 2024 ---------- */
.full-text { font-size: 15px; line-height: 1.7; font-family: 'Open Sans', Verdana, sans-serif; }
.ion-md-menu:before { content: url(/uploads/ion-md-menu-i.png); position: relative; top: 5px; }
.ion-md-search:before { content: url(/uploads/ion-md-search-i.png); }
.ion-md-download:before { content: url(/uploads/ion-md-download-i.png); }
.ion-md-appstore:before { content: url(/uploads/ion-md-appstore-i.png); }
.ion-md-arrow-up:before { content: url(/uploads/ion-md-arrow-up-i.png); }
.full-text h2, .full-text h3, .full-text h4, .full-text h5 { margin: 10px 0; font-size: 18px; font-weight: 600; }
.fposter { width: 100px; height: 100px; border-radius: 14px; margin: auto; overflow: hidden; }

/* ---------- кнопки вместо div шаблона ---------- */
button.btn-menu, button.btn-search, button.mmenu-close, button#gotop {
	background: none !important; height: auto; line-height: inherit; padding: 0 !important; border-radius: 0; font: inherit;
}
button.btn-search { display: none !important; }
@media screen and (max-width: 950px) { button.btn-search { display: block !important; } }
button.btn-menu, button.btn-search { color: #fff !important; font-size: 34px !important; height: 60px !important; line-height: 60px !important; }
button.mmenu-close { display: block; width: 100%; text-align: right; background-color: var(--ta-warn) !important; color: #fff !important;
	padding: 15px !important; height: auto !important; line-height: 1.3 !important; margin-bottom: 15px; font-weight: 500; }
button#gotop { background-color: #fff !important; color: #222 !important; width: 40px; height: 40px !important; line-height: 40px !important; border-radius: 50%; }
.mmenu:not([hidden]) { display: block; }
.mmenu-row li span.mmenu-capt { padding: 10px 15px; border-radius: 4px; display: block; white-space: nowrap; background-color: var(--ta-green); color: #fff; }
h2.sect-title { margin: 0; }
.sect-title { font-size: 24px; font-weight: 400; }

/* ---------- доступность ---------- */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.ta-skip { position: absolute; left: -9999px; top: 0; z-index: 10000; background: #fff; color: #000; padding: 10px 15px; }
.ta-skip:focus { left: 10px; top: 10px; }
a:focus-visible, button:focus-visible, input:focus-visible, .short-link:focus-visible, .top-item:focus-visible {
	outline: 3px solid var(--ta-focus); outline-offset: 2px; border-radius: 4px;
}
.header a:focus-visible, .header button:focus-visible { outline-color: #fff; }

/* ---------- карточка ---------- */
.fposter img { width: 100%; height: 100%; object-fit: cover; }
.fdl-box .fdl-btn { display: flex; }
.ta-dl-note { color: var(--ta-muted); font-size: 13px; line-height: 1.5; margin: 10px 0 0; }
.ta-dl-note code { word-break: break-all; font-size: 12px; }
.full-text img { max-width: 100%; height: auto; }
.full-text a { color: var(--ta-green-dark); text-decoration: underline; }
.comm-item + ol .comm-item { margin-left: 0; }
.comments-tree-list .comments-tree-list { padding-left: 30px; }
.comm-two { white-space: normal; }
.short-img img, .top-img img { object-fit: cover; }
.ta-toprow { flex-wrap: wrap; }
.ta-toprow .top-item { width: 33.33%; padding-right: 15px; }
.ta-empty { padding: 15px 20px; }
.pagi-nav .navigation a, .pagi-nav .navigation > span { display: inline-block; }

/* ---------- переносы и узкие экраны ---------- */
h1, h2, .short-title, .top-title, .full-text, .comm-two { overflow-wrap: break-word; hyphens: auto; }
.full-text table { display: block; max-width: 100%; overflow-x: auto; }
.full-text iframe, .full-text video { max-width: 100%; }
@media screen and (max-width: 760px) {
	.ta-toprow .top-item { width: 50%; }
}
@media screen and (max-width: 590px) {
	.ta-toprow .top-item { width: 100%; padding-right: 0; }
	.comments-tree-list .comments-tree-list { padding-left: 12px; }
	.fright h1 { font-size: 22px; }
}
@media screen and (max-width: 470px) {
	button.btn-menu, button.btn-search { font-size: 24px !important; }
}
html, body { max-width: 100%; overflow-x: hidden; }

/* ---------- блок «Актуально на …» (данные Google Play, 20.10.2026) ---------- */
.ta-actual { margin: 0 0 15px; padding: 10px 14px; border-left: 4px solid var(--ta-green); background: var(--ta-note-bg); border-radius: 0 4px 4px 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.ta-actual p { margin: 0; }
.ta-actual p + p { margin-top: 4px; }
.ta-actual .ta-actual-sub { color: var(--ta-muted); font-size: 13px; }
.ta-actual a { color: var(--ta-green-dark); text-decoration: underline; }
.ta-actual--missing { border-left-color: var(--ta-warn); background: var(--ta-warn-bg); }
/* таблица в обзорах */
.full-text table { border-collapse: collapse; width: 100%; margin: 10px 0 15px; font-size: 14px; }
.full-text th, .full-text td { border: 1px solid var(--ta-line); padding: 6px 8px; text-align: left; vertical-align: top; }
.full-text th { background: var(--ta-th-bg); }
@media (max-width: 480px) { .full-text table { display: block; overflow-x: auto; } }

/* ---------- форма «Обратная связь» (плагин ta-core/inc/feedback.php, 20.10.2026) ---------- */
.ta-fb { max-width: 760px; margin: 20px 0 10px; font: 15px/1.5 'Open Sans', Verdana, sans-serif; scroll-margin-top: 10px; }
.ta-fb > * + * { margin-top: 15px; }
.ta-fb__title { font-size: 20px; font-weight: 500; margin: 0; }
.ta-fb__note, .ta-fb__hint { color: var(--ta-muted); font-size: 13px; margin: 0; }
.ta-fb__form { display: grid; gap: 18px; }
.ta-fb__field { display: grid; gap: 6px; min-width: 0; }
.ta-fb__field > label { font-weight: 600; font-size: 15px; }
.ta-fb input[type="text"], .ta-fb input[type="email"], .ta-fb select, .ta-fb textarea {
	width: 100%; min-height: 44px; padding: 10px 12px; margin: 0;
	border: 1px solid var(--ta-input-line); border-radius: 4px; background: #fff; color: #000;
	box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.08); font: 16px/1.4 'Roboto', Arial, sans-serif;
}
.ta-fb textarea { min-height: 170px; padding: 12px; resize: vertical; }
.ta-fb select {
	height: 44px; padding-right: 40px; cursor: pointer; -webkit-appearance: none; appearance: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center / 20px;
}
.ta-fb input:focus, .ta-fb select:focus, .ta-fb textarea:focus { border-color: var(--ta-focus); box-shadow: inset 0 0 0 1px var(--ta-focus); }
.ta-fb input:focus-visible, .ta-fb select:focus-visible, .ta-fb textarea:focus-visible { outline: 3px solid var(--ta-focus); outline-offset: 2px; }
.ta-fb input[aria-invalid="true"], .ta-fb select[aria-invalid="true"], .ta-fb textarea[aria-invalid="true"] { border-color: var(--ta-err); box-shadow: inset 0 0 0 1px var(--ta-err); }
.ta-fb__err { margin: 0; color: var(--ta-err); font-size: 13px; font-weight: 600; }
.ta-fb__err::before { content: "! "; }
.ta-fb__check { grid-template-columns: 24px minmax(0, 1fr); column-gap: 10px; align-items: start; }
.ta-fb__check > input { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--ta-green-deep); cursor: pointer; }
.ta-fb__check > label { font-weight: 400; font-size: 14px; cursor: pointer; }
.ta-fb__check > .ta-fb__hint, .ta-fb__check > .ta-fb__err { grid-column: 2; }
.ta-fb__check.is-invalid > input { outline: 2px solid var(--ta-err); outline-offset: 2px; }
.ta-fb a { color: var(--ta-green-deep); text-decoration: underline; }
.ta-fb__hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.ta-fb .ta-fb__submit button { min-width: 200px; height: 44px; line-height: 44px; font-size: 16px; font-weight: 500; background-color: var(--ta-green-deep); }
.ta-fb .ta-fb__submit button:hover { background-color: #1b5e20; }
.ta-fb__summary, .ta-fb__done { padding: 12px 15px; border-left: 4px solid var(--ta-err); background: var(--ta-err-bg); border-radius: 0 4px 4px 0; }
.ta-fb__done { border-left-color: var(--ta-green); background: var(--ta-note-bg); }
.ta-fb__summary:focus, .ta-fb__done:focus { outline: none; }
.ta-fb__summary:focus-visible, .ta-fb__done:focus-visible { outline: 3px solid var(--ta-focus); outline-offset: 2px; }
.ta-fb__summary > * + *, .ta-fb__done > * + * { margin-top: 6px; }
.ta-fb__summary p, .ta-fb__done p { margin-bottom: 0; }
.ta-fb__summary-h, .ta-fb__done-h { font-size: 18px; font-weight: 600; margin: 0; }
.ta-fb__summary ul { margin: 6px 0 0; padding-left: 20px; list-style: disc; }
.ta-fb__summary a { color: var(--ta-err); font-weight: 600; }
@media screen and (max-width: 590px) {
	.ta-fb .ta-fb__submit button { width: 100%; }
}

/* Главная: карточки «Новых игр/приложений» стоят на float — без сброса обтекания следующий блок
   («Популярное за 3 дня», «Майнкрафт») уезжал вправо от последнего ряда, заголовок сжимался в столбик (20.10.2026) */
#dle-content > .sect { display: flow-root; clear: both; }
.sect-items::after { content: ""; display: table; clear: both; }
/* зелёный блок «Популярное за 3 дня», как в архиве: внутренние отступы и белые подписи */
.sect-green.sect-weektop2 { padding: 15px 20px 0; border-radius: 4px; margin-bottom: 25px; }
.sect-green.sect-weektop2 .sect-title, .sect-green.sect-weektop2 .top-title { color: #fff; }

/* Просмотр картинок поверх страницы (ta.js, 21.10.2026) */
.ta-lb-open, .ta-lb-open body { overflow: hidden; }
.ta-lb { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
	background: rgb(0 0 0 / 0.88); padding: max(12px, env(safe-area-inset-top)) 56px max(12px, env(safe-area-inset-bottom)); }
.ta-lb[hidden] { display: none; }
.ta-lb__fig { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; }
.ta-lb__img { max-width: 100%; max-height: calc(100% - 28px); object-fit: contain; border-radius: 4px; background: #222; }
.ta-lb__cap { color: #ddd; font-size: 14px; margin-top: 8px; min-height: 20px; }
.ta-lb__close, .ta-lb__nav { position: absolute; border: 0; background: rgb(255 255 255 / 0.12); color: #fff; cursor: pointer;
	width: 44px; height: 44px; border-radius: 50%; font-size: 28px; line-height: 44px; text-align: center; padding: 0; }
.ta-lb__close { top: max(10px, env(safe-area-inset-top)); right: 10px; }
.ta-lb__prev { left: 6px; top: 50%; transform: translateY(-50%); }
.ta-lb__next { right: 6px; top: 50%; transform: translateY(-50%); }
.ta-lb__close:hover, .ta-lb__nav:hover { background: var(--ta-green); }
.ta-lb button:focus-visible { outline: 3px solid var(--ta-accent); outline-offset: 2px; }
.ta-lb__nav[hidden] { display: none; }
@media (max-width: 600px) { .ta-lb { padding-left: 8px; padding-right: 8px; } .ta-lb__nav { top: auto; bottom: max(10px, env(safe-area-inset-bottom)); transform: none; } }

