/* Профиль: шапка с обложкой, сведения и плитки статистики (03.10.2026).
   Списки под ней (fav/user_block.tpl) — прежние; меню справа убрано, его
   пункты — строкой ссылок под шапкой (.yp-nav). */
.yp-main {min-width: 0;}
.yp-hero {background: var(--bg-darker); overflow: hidden;}
.yp-cover {height: 170px; background: linear-gradient(120deg, var(--accent) 0%, #c2416b 45%, var(--bg-darkest) 100%) center / cover no-repeat;}
.yp-head {display: flex; align-items: flex-end; gap: 20px; padding: 0 24px 20px; margin-top: -64px; position: relative;}
.yp .yp-ava {width: 136px; height: 136px; flex-shrink: 0; border-radius: 50%; overflow: hidden; border: 5px solid var(--bg-darker); background: var(--bg-darker); box-shadow: var(--bsh);}
.yp .yp-ava img {width: 100%; height: 100%; object-fit: cover; border-radius: 50%;}
.yp .yp-ava .us2-ava-hint {border-radius: 50%;}
.yp-id {flex: 1 1 auto; min-width: 0; padding-bottom: 4px;}
.yp-name {display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; font-size: 26px; font-weight: 700; line-height: 1.2; color: var(--tt); text-shadow: none;}
.yp-name > span:first-child {overflow-wrap: anywhere;}
.yp-group {display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 12px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .3px;}
.yp-meta {display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; color: var(--tt-lighter); font-size: 13px;}
.yp-meta .fal {margin-right: 4px;}
.yp-online {display: inline-flex; align-items: center; gap: 6px;}
.yp-online i {width: 8px; height: 8px; border-radius: 50%; background: var(--tt-lighter);}
.yp-online.is-on {color: var(--accent-2);}
.yp-online.is-on i {background: var(--accent-2); box-shadow: 0 0 0 3px rgba(60, 206, 123, .2);}
.yp-actions {flex-shrink: 0; padding-bottom: 4px;}
.yp-actions .us2-actions {gap: 8px;}

.yp-nav {display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px;}
.yp-nav a {display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; background: var(--bg-darker); color: var(--tt); font-size: 14px; border-bottom: 3px solid transparent; transition: border-color .2s, color .2s;}
.yp-nav a i {color: var(--accent); font-size: 13px;}
.yp-nav a:hover {border-bottom-color: var(--accent); color: var(--tt);}
.yp-facts {display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 14px;}
.yp-fact {padding: 12px 16px; background: var(--bg-darker);}
.yp-fact span {display: block; color: var(--tt-lighter); font-size: 12px; text-transform: uppercase; letter-spacing: .4px;}
.yp-fact b {display: block; margin-top: 4px; color: var(--tt); font-size: 15px; font-weight: 600; overflow-wrap: anywhere;}
.yp-about {margin-top: 10px; padding: 14px 16px; background: var(--bg-darker); color: var(--tt); line-height: 1.5; overflow-wrap: anywhere;}
.yp-about:empty {display: none;}

.yp-stats {display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 10px;}
.yp-stat {display: block; padding: 16px 10px; background: var(--bg-darker); text-align: center; color: var(--tt); border-bottom: 3px solid transparent; transition: border-color .2s, background-color .2s;}
.yp-stat b {display: block; font-size: 24px; font-weight: 700; line-height: 1.15;}
.yp-stat span {display: block; margin-top: 4px; color: var(--tt-lighter); font-size: 13px;}
.yp-stat--link:hover {border-bottom-color: var(--accent); color: var(--tt);}

@media screen and (max-width: 1220px) {
	.yp-stats {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media screen and (max-width: 760px) {
	.yp-cover {height: 120px;}
	.yp-head {flex-wrap: wrap; align-items: flex-start; gap: 12px; padding: 0 16px 16px; margin-top: -52px;}
	.yp .yp-ava {width: 104px; height: 104px; border-width: 4px;}
	.yp-id {flex-basis: 100%;}
	.yp-name {font-size: 21px;}
	.yp-actions {flex-basis: 100%;}
	.yp-facts {grid-template-columns: 1fr 1fr;}
	.yp-nav {flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;}
	.yp-nav a {white-space: nowrap; padding: 9px 12px; font-size: 13px;}
	.yp-stats {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
.yp-facts:not(:has(.yp-fact)) {display: none;}
.yp-nav:empty {display: none;}

/* Разделы профиля (друзья, комментарии, оценки, подписки, жалобы) — общая
   шапка с вкладками вместо меню справа (03.10.2026) */
.yp-sub {background: var(--bg-darker); overflow: hidden;}
.yp-sub__cover {height: 90px; background: linear-gradient(120deg, var(--accent) 0%, #c2416b 45%, var(--bg-darkest) 100%) center / cover no-repeat;}
.yp-sub__head {display: flex; align-items: flex-end; gap: 16px; padding: 0 24px; margin-top: -40px;}
.yp-sub__ava {width: 88px; height: 88px; flex-shrink: 0; border-radius: 50%; overflow: hidden; border: 4px solid var(--bg-darker); background: var(--bg-darker);}
.yp-sub__ava img {width: 100%; height: 100%; object-fit: cover; display: block;}
.yp-sub__id {display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; min-width: 0; padding-bottom: 8px;}
.yp-sub__name {font-size: 22px; font-weight: 700; color: var(--tt); overflow-wrap: anywhere;}
.yp-sub__name:hover {color: var(--accent);}
.yp-tabs {display: flex; gap: 4px; padding: 14px 24px 0; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--bdc);}
.yp-tabs::-webkit-scrollbar {display: none;}
.yp-tab {display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; color: var(--tt-lighter); font-size: 14px; white-space: nowrap; border-bottom: 3px solid transparent; margin-bottom: -1px; transition: color .2s, border-color .2s;}
.yp-tab i {font-size: 13px;}
.yp-tab:hover {color: var(--tt);}
.yp-tab.is-active {color: var(--tt); border-bottom-color: var(--accent);}
.yp-tab.is-active i {color: var(--accent);}
.yp-tab__n {padding: 1px 7px; border-radius: 10px; background: var(--bg); color: var(--tt); font-size: 12px; font-weight: 600;}
.yp-box {margin-top: 10px; padding: 20px 24px; background: var(--bg-darker);}
.yp-box__title {margin: 0 0 16px; font-size: 20px; font-weight: 700; color: var(--tt);}
.yp-box .user-lists .tabs-header {margin: 0 -24px 16px; padding: 0 24px; background: var(--bg-darkest);}
.yp-box .user__friends-list {padding: 0;}
.yp-box .subs-list, .yp-box .us2-complaints-list {margin: 0;}

/* «Оценки» */
.yr-sum {display: grid; grid-template-columns: minmax(160px, 220px) minmax(0, 1fr); gap: 24px; align-items: center; margin-bottom: 20px;}
.yr-nums {display: grid; gap: 10px;}
.yr-nums .yp-stat {background: var(--bg);}
.yr-dist {display: grid; gap: 4px;}
.yr-bar {display: grid; grid-template-columns: 22px minmax(0, 1fr) 44px; align-items: center; gap: 10px; padding: 3px 8px; color: var(--tt); font-size: 14px;}
.yr-bar:hover, .yr-bar.is-active {background: var(--bg); color: var(--tt);}
.yr-bar.is-active {box-shadow: inset 0 0 0 1px var(--yr-c);}
.yr-bar.is-empty {opacity: .45;}
.yr-bar__n {font-weight: 700; text-align: center;}
.yr-bar__track {height: 10px; border-radius: 5px; background: var(--bg); overflow: hidden;}
.yr-bar__track i {display: block; height: 100%; min-width: 2px; border-radius: 5px; background: var(--yr-c);}
.yr-bar b {color: var(--tt-lighter); text-align: right; font-weight: 600;}
.yr-bar--hi, .yr-score--hi {--yr-c: #3cce7b;}
.yr-bar--mid, .yr-score--mid {--yr-c: #f2b800;}
.yr-bar--low, .yr-score--low {--yr-c: #ff6666;}
.yr-sorts {display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px;}
.yr-sort {padding: 8px 14px; background: var(--bg); color: var(--tt-lighter); font-size: 14px;}
.yr-sort:hover {color: var(--tt);}
.yr-sort.is-active {background: var(--accent); color: #fff;}
.yr-note {margin: -4px 0 14px; color: var(--tt-lighter);}
.yr-note:empty {display: none;}
.yr-note a {color: var(--accent);}
.yr-grid {display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px 14px;}
.yr-card {display: block; min-width: 0; color: var(--tt);}
.yr-card:hover {color: var(--tt);}
.yr-card:hover .yr-card__title {color: var(--accent);}
.yr-card__img {position: relative; display: block; aspect-ratio: 2 / 3; overflow: hidden; background: var(--bg);}
.yr-card__img img {width: 100%; height: 100%; object-fit: cover; display: block;}
.yr-score {position: absolute; top: 8px; left: 8px; min-width: 32px; height: 32px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center;
	background: var(--yr-c); color: #111; font-size: 16px; font-weight: 800; box-shadow: 0 4px 14px rgba(0,0,0,.35);}
.yr-card__title {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 1.3;}
.yr-card__sub {display: block; margin-top: 3px; font-size: 13px; color: var(--tt-lighter);}
.yp-box .pagination {margin-top: 24px;}
@media screen and (max-width: 1220px) {.yr-grid {grid-template-columns: repeat(5, minmax(0, 1fr));}}
@media screen and (max-width: 760px) {
	.yp-sub__head {padding: 0 16px; gap: 12px; margin-top: -32px;}
	.yp-sub__ava {width: 72px; height: 72px;}
	.yp-sub__name {font-size: 19px;}
	.yp-tabs {padding: 10px 16px 0;}
	.yp-tab {padding: 9px 10px; font-size: 13px;}
	.yp-box {padding: 16px;}
	.yp-box .user-lists .tabs-header {margin: 0 -16px 14px; padding: 0 16px;}
	.yr-sum {grid-template-columns: 1fr; gap: 16px;}
	.yr-nums {grid-template-columns: 1fr 1fr;}
	.yr-grid {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 10px;}
}
@media screen and (max-width: 420px) {.yr-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}}
/* без пустой правой колонки, как у старого профиля (.cols:has(.us2)) */
.cols:has(.yp) {display: block;}
/* «Друзья»: плитки с круглой аватаркой */
.yp-box .user__friends-list {grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; column-gap: 10px; row-gap: 10px;}
.yp-box .user__friends-card {grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 12px; background: var(--bg); transition: background-color .2s;}
.yp-box .user__friends-card:hover {background: var(--bg-darkest);}
.yp-box .user__friends-avatar img {border-radius: 50%;}
.yp-box .user__friends-card-name {padding-top: 0; font-weight: 600;}
.yp-box .user__friends-req {grid-column: auto; margin: 8px 0 0;}

/* Рейтинг и звания (как на yummyanime.tv, 03.10.2026) */
.yp-rank {position: relative; display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: 12px;
	background: color-mix(in srgb, var(--rk) 18%, transparent); color: var(--rk); font-size: 12px; font-weight: 700; letter-spacing: .3px; cursor: help; outline: none;}
.yp-rank i.fal, .yp-rank-row i.fal {font-family: "Font Awesome 5 Pro" !important; font-weight: 300 !important; font-style: normal;}
.yp-rank-pop, .yp-rt-pop {position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; width: 260px; padding: 14px 16px; background: var(--bg-darkest); color: #eee;
	box-shadow: 0 12px 30px rgba(0,0,0,.45); font-size: 13px; font-weight: 400; letter-spacing: 0; line-height: 1.4; text-align: left; cursor: default;
	opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s, transform .15s, visibility .15s;}
.yp-rank:hover .yp-rank-pop, .yp-rank:focus .yp-rank-pop, .yp-rank:focus-within .yp-rank-pop,
.yp-stat--rt:hover .yp-rt-pop, .yp-stat--rt:focus-within .yp-rt-pop {opacity: 1; visibility: visible; transform: none;}
.yp-rank-pop b, .yp-rt-pop b {display: block; margin-bottom: 8px; font-size: 14px; color: #fff;}
.yp-rank-pop ul, .yp-rt-pop ul {display: grid; gap: 4px; margin: 0 0 8px;}
.yp-rank-row {display: grid; grid-template-columns: 18px 1fr auto; align-items: center; gap: 8px; padding: 3px 6px; color: #bbb;}
.yp-rank-row i {color: var(--rk);}
.yp-rank-row em {font-style: normal; color: #888; font-size: 12px;}
.yp-rank-row.is-done {color: #ddd;}
.yp-rank-row.is-current {background: color-mix(in srgb, var(--rk) 20%, transparent); color: #fff; font-weight: 600;}
.yp-rank-pop > span {display: block; color: #aaa; font-size: 12px;}
.yp-stats {grid-template-columns: repeat(7, minmax(0, 1fr));}
.yp-stat--rt {position: relative;}
.yp-help {display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: 4px; border-radius: 50%;
	background: var(--accent); color: #fff; font-size: 11px; font-style: normal; font-weight: 700; cursor: help; vertical-align: 1px;}
.yp-rt-pop {left: 50%; margin-left: -130px;}
.yp-rt-pop li {display: grid; grid-template-columns: 34px 1fr; gap: 6px; color: #ccc;}
.yp-rt-pop em {font-style: normal; font-weight: 700; color: #3cce7b;}
.yp-rt-pop em.is-minus {color: #ff6666;}
.yp-rt-pop p {margin: 0; color: #aaa; font-size: 12px;}
@media screen and (max-width: 1220px) {.yp-stats {grid-template-columns: repeat(4, minmax(0, 1fr));}}
@media screen and (max-width: 760px) {
	.yp-stats {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.yp-rt-pop {left: 0; margin-left: 0; width: min(260px, 80vw);}
	.yp-rank-pop {width: min(260px, 80vw);}
}
.yp-hero, .yp-sub {overflow: visible;}
.yp-name__h {margin: 0; font: inherit; color: inherit; overflow-wrap: anywhere;}
/* всплывашки званий и рейтинга — поверх блока списков ниже */
.yp.sect {position: relative; z-index: 20;}
.yp.sect {z-index: 100;}
.yp-rt-pop {left: 0; margin-left: 0;}
.yp-rt-pop li {grid-template-columns: 30px minmax(0, 1fr);}
.yp.sect {z-index: 200;}
.yp-rt-pop {width: 300px;}
@media screen and (max-width: 760px) {.yp-rt-pop {width: min(300px, 86vw);}}
@media screen and (max-width: 760px) {
	.yp-stats {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;}
	.yp-stats .yp-stat--rt {grid-column: 1 / -1;}
	.yp-stat {padding: 12px 6px;}
	.yp-stat b {font-size: 20px;}
	.yp-stat span {font-size: 12px;}
}

/* Настройки (03.10.2026) */
.yp-stabs {display: flex; gap: 6px; margin-top: 10px; overflow-x: auto; scrollbar-width: none;}
.yp-stabs::-webkit-scrollbar {display: none;}
.yp-stab {display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; background: var(--bg-darker); color: var(--tt-lighter); font-size: 14px; white-space: nowrap; border-bottom: 3px solid transparent; transition: color .2s, border-color .2s;}
.yp-stab:hover {color: var(--tt);}
.yp-stab.is-active {color: var(--tt); border-bottom-color: var(--accent);}
.yp-stab.is-active i {color: var(--accent);}
.yp-set .us2-form {display: grid; gap: 14px; max-width: 760px;}
.yp-set .form__row {display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 8px 20px; align-items: start; margin: 0;}
.yp-set .form__caption {padding-top: 11px; color: var(--tt-lighter); font-size: 14px;}
.yp-set .form__caption label {font-weight: 500;}
.yp-set .form__content {min-width: 0;}
.yp-set input[type="text"], .yp-set input[type="email"], .yp-set input[type="password"], .yp-set input[type="date"],
.yp-set select, .yp-set textarea {width: 100%; min-height: 42px; padding: 9px 14px; background-color: var(--bg); border: 1px solid var(--bdc); color: var(--tt); font: inherit; font-size: 14px; transition: border-color .2s, box-shadow .2s;}
.yp-set textarea {min-height: 110px; resize: vertical; line-height: 1.5;}
.yp-set input:focus, .yp-set select:focus, .yp-set textarea:focus {border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);}
.yp-set input[disabled] {opacity: .6; cursor: not-allowed;}
.yp-set .us2-hint {margin-top: 6px; color: var(--tt-lighter); font-size: 13px; line-height: 1.4;}
.yp-set .us2-check {display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--bg); cursor: pointer; font-size: 14px; color: var(--tt); transition: background-color .2s;}
.yp-set .us2-check:hover {background: var(--bg-darkest);}
.yp-set .us2-check input[type="checkbox"] {width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--accent-2); cursor: pointer;}
.yp-set .form__row:has(> .us2-check:only-child) {grid-template-columns: 1fr;}
.yp-set .us2-submit {margin-top: 6px;}
.yp-set .us2-submit .btn {min-width: 160px; height: 44px; padding: 0 24px; font-size: 14px; text-transform: uppercase; letter-spacing: .5px;}
.yp-set .us2-note {margin-bottom: 16px; padding: 12px 16px; font-size: 14px;}
.yp-set .us2-note--ok {background: color-mix(in srgb, var(--accent-2) 16%, transparent); color: var(--accent-2);}
.yp-set .us2-note--err {background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent);}
.yp-set__h {margin: 28px 0 12px; padding-top: 22px; border-top: 1px solid var(--bdc); font-size: 17px; font-weight: 700; color: var(--tt);}
.yp-set .us2-devices, .yp-set .us2-tg {max-width: 760px;}
.yp-set .us2-desktop-only .form__caption {padding-top: 0;}
@media screen and (max-width: 760px) {
	.yp-stab {padding: 10px 12px; font-size: 13px;}
	.yp-set .form__row {grid-template-columns: 1fr; gap: 6px;}
	.yp-set .form__caption {padding-top: 0;}
	.yp-set .us2-submit .btn {width: 100%;}
}

/* звание автора в комментариях (03.10.2026) */
.cmt-rank {display: inline-flex; align-items: center; gap: 5px; height: 20px; margin-left: 8px; padding: 0 9px; border-radius: 10px; vertical-align: 1px;
	background: color-mix(in srgb, var(--rk) 18%, transparent); color: var(--rk); font-size: 11px; font-weight: 700; letter-spacing: .2px; line-height: 1;}
.cmt-rank i.fal {font-family: "Font Awesome 5 Pro" !important; font-weight: 300 !important; font-style: normal; font-size: 10px;}

/* кнопки обложки на своём профиле (03.10.2026) */
.yp-cover {position: relative;}
.yp-cover__acts {position: absolute; top: 12px; right: 12px; display: flex; gap: 6px;}
.yp-cover__acts form {margin: 0;}
.yp-cover__btn {display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border: 0; background: rgba(0,0,0,.55); color: #fff; font-size: 13px; cursor: pointer; backdrop-filter: blur(4px); transition: background-color .2s;}
.yp-cover__btn:hover {background: rgba(0,0,0,.75); color: #fff;}
@media screen and (max-width: 760px) {
	.yp-cover__acts {top: 8px; right: 8px;}
	.yp-cover__btn {height: 32px; padding: 0 10px;}
	.yp-cover__btn span {display: none;}
}

/* списки выбора: стрелка темы одна, справа (был «ёлочкой» — фон повторялся) */
.yp-set select {background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px;}
/* телефон: вкладки разделов переносятся на несколько строк — видно все сразу */
@media screen and (max-width: 760px) {
	.yp-tabs, .yp-stabs {flex-wrap: wrap; overflow: visible; gap: 4px;}
	.yp-tabs {padding: 10px 12px 8px; border-bottom: 0;}
	.yp-tab {padding: 7px 10px; margin: 0; border-bottom: 0; border-radius: 6px; background: var(--bg);}
	.yp-tab.is-active {background: var(--accent); color: #fff;}
	.yp-tab.is-active i, .yp-tab.is-active .yp-tab__n {color: #fff;}
	.yp-tab.is-active .yp-tab__n {background: rgba(0,0,0,.2);}
	.yp-stab {flex: 1 1 auto; justify-content: center; padding: 9px 10px; border-bottom: 0; border-radius: 6px;}
	.yp-stab.is-active {background: var(--accent); color: #fff;}
	.yp-stab.is-active i {color: #fff;}
}

/* Статистика сайта (03.10.2026) */
.yst-head {display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px;}
.yst-title {font-size: 26px; font-weight: 700; color: var(--tt);}
.yst-home {display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; background: var(--bg-darker); color: var(--tt); font-size: 14px;}
.yst-home:hover {color: var(--accent);}
.yst-periods {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;}
.yst-period {padding: 16px 18px; background: var(--bg-darker); border-top: 3px solid var(--accent);}
.yst-period:nth-child(2) {border-top-color: var(--accent-2);}
.yst-period:nth-child(3) {border-top-color: #f2b800;}
.yst-period__name {margin-bottom: 12px; color: var(--tt-lighter); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px;}
.yst-period__nums {display: grid; grid-template-columns: 1fr 1fr; gap: 12px 10px;}
.yst-period__nums b, .yst-tile b, .yst-user__num b {display: block; font-size: 22px; font-weight: 700; line-height: 1.15; color: var(--tt);}
.yst-period__nums span, .yst-tile span, .yst-user__num span {display: block; margin-top: 2px; color: var(--tt-lighter); font-size: 13px;}
.yst-groups {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 10px;}
.yst-group, .yst-top {padding: 16px 18px; background: var(--bg-darker);}
.yst-group__title {display: flex; align-items: center; gap: 10px; margin-bottom: 14px; font-size: 17px; font-weight: 700; color: var(--tt);}
.yst-group__title i {color: var(--accent);}
.yst-tiles {display: grid; grid-template-columns: 1fr 1fr; gap: 8px;}
.yst-tile {display: block; padding: 12px; background: var(--bg); color: var(--tt); border-bottom: 3px solid transparent; transition: border-color .2s;}
.yst-tile--wide {grid-column: 1 / -1;}
.yst-tile--link:hover {border-bottom-color: var(--accent); color: var(--tt);}
.yst-top {margin-top: 10px;}
.yst-top__list {display: grid; gap: 6px;}
.yst-user {display: grid; grid-template-columns: 34px 48px minmax(0, 1fr) 100px 110px auto; align-items: center; gap: 14px; padding: 10px 14px; background: var(--bg);}
.yst-user__place {display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--bg-darker); color: var(--tt-lighter); font-weight: 700;}
.yst-user__place.is-top {background: var(--accent); color: #fff;}
.yst-user__ava img {width: 48px; height: 48px; border-radius: 50%; object-fit: cover; display: block;}
.yst-user__name {display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: 15px; font-weight: 600;}
.yst-user__name > a {color: var(--tt); overflow-wrap: anywhere;}
.yst-user__name > a:hover {color: var(--accent);}
.yst-user__meta {margin-top: 3px; color: var(--tt-lighter); font-size: 12px;}
.yst-user__num {text-align: center;}
.yst-user__num b {font-size: 18px;}
.yst-user__pm {display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; background: var(--bg-btn); color: var(--tt-btn); font-size: 13px; white-space: nowrap;}
.yst-user__pm:hover {background: var(--bg-btn-hover); color: var(--tt-btn);}
@media screen and (max-width: 1220px) {
	.yst-periods, .yst-groups {grid-template-columns: 1fr;}
	.yst-period__nums {grid-template-columns: repeat(4, minmax(0, 1fr));}
}
@media screen and (max-width: 760px) {
	.yst-head {flex-wrap: wrap;}
	.yst-title {font-size: 22px;}
	.yst-period__nums {grid-template-columns: 1fr 1fr;}
	.yst-user {grid-template-columns: 30px 42px minmax(0, 1fr) auto; gap: 10px; padding: 10px;}
	.yst-user__ava img {width: 42px; height: 42px;}
	.yst-user__num {display: none;}
	.yst-user__pm {width: 36px; padding: 0; justify-content: center;}
	.yst-user__pm span {display: none;}
}
