/* Экран «Кубок ректора».
   --rc — размер одной единицы макета 1920×1080 от viewport (min(100vw/1920, 100vh/1080)).
   На 3840×2160 сцена занимает 3840×2160 и рисуется в своих пикселях, без transform:scale() растра.
   Анимации только opacity/transform, шрифты без CDN.
   @font-face по одному правилу на формат: старый WebKit отбрасывает всё src, если не знает format().
   Семейство задано до calc()/var(), иначе парсер может выкинуть остаток правила и оставить serif. */
@font-face { font-family: Montserrat; font-style: normal; font-weight: 400; src: url("fonts/Montserrat-Regular.ttf") format("truetype"); }
@font-face { font-family: Montserrat; font-style: normal; font-weight: 400; src: url("fonts/Montserrat-Regular.woff") format("woff"); }
@font-face { font-family: Montserrat; font-style: normal; font-weight: 500; src: url("fonts/Montserrat-Medium.ttf") format("truetype"); }
@font-face { font-family: Montserrat; font-style: normal; font-weight: 500; src: url("fonts/Montserrat-Medium.woff") format("woff"); }
@font-face { font-family: Montserrat; font-style: normal; font-weight: 600; src: url("fonts/Montserrat-SemiBold.ttf") format("truetype"); }
@font-face { font-family: Montserrat; font-style: normal; font-weight: 600; src: url("fonts/Montserrat-SemiBold.woff") format("woff"); }
@font-face { font-family: Montserrat; font-style: normal; font-weight: 700; src: url("fonts/Montserrat-Bold.ttf") format("truetype"); }
@font-face { font-family: Montserrat; font-style: normal; font-weight: 700; src: url("fonts/Montserrat-Bold.woff") format("woff"); }
@font-face { font-family: Montserrat; font-style: normal; font-weight: 800; src: url("fonts/Montserrat-ExtraBold.ttf") format("truetype"); }
@font-face { font-family: Montserrat; font-style: normal; font-weight: 800; src: url("fonts/Montserrat-ExtraBold.woff") format("woff"); }
html,
body,
.tv-body,
.tv-root,
.tv-cup,
.rc-stage {
    font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.tv-cup {
    --rc: 1px;
    --rc: min(100vw / 1920, 100vh / 1080);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background: #050d24;
    z-index: 5;
}
.tv-cup[hidden] { display: none !important; }

.rc-stage {
    position: absolute;
    left: 0;
    top: 0;
    width: 1920px;
    height: 1080px;
    width: calc(1920 * var(--rc));
    height: calc(1080 * var(--rc));
    overflow: hidden;
    color: #eef2ff;
    background: -webkit-linear-gradient(135deg, #061233 0%, #0a1f52 55%, #071638 100%); background: linear-gradient(135deg, #061233 0%, #0a1f52 55%, #071638 100%);
}
.rc-bg-orb {
    position: absolute;
    width: calc(900 * var(--rc));
    height: calc(900 * var(--rc));
    border-radius: 50%;
    opacity: .35;
}
.rc-bg-orb--a { left: calc(-300 * var(--rc)); top: calc(-380 * var(--rc)); background: -webkit-radial-gradient(circle, #1f4fd1 0%, rgba(31,79,209,0) 65%); background: radial-gradient(circle, #1f4fd1 0%, rgba(31,79,209,0) 65%); -webkit-animation: rc-drift-a 38s ease-in-out infinite alternate; animation: rc-drift-a 38s ease-in-out infinite alternate; }
.rc-bg-orb--b { right: calc(-320 * var(--rc)); bottom: calc(-420 * var(--rc)); background: -webkit-radial-gradient(circle, #c8102e 0%, rgba(200,16,46,0) 62%); background: radial-gradient(circle, #c8102e 0%, rgba(200,16,46,0) 62%); opacity: .22; -webkit-animation: rc-drift-b 44s ease-in-out infinite alternate; animation: rc-drift-b 44s ease-in-out infinite alternate; }
@-webkit-keyframes rc-drift-a { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); } to { -webkit-transform: translate(calc(160 * var(--rc)), calc(120 * var(--rc))); transform: translate(calc(160 * var(--rc)), calc(120 * var(--rc))); } }
@keyframes rc-drift-a { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); } to { -webkit-transform: translate(calc(160 * var(--rc)), calc(120 * var(--rc))); transform: translate(calc(160 * var(--rc)), calc(120 * var(--rc))); } }
@-webkit-keyframes rc-drift-b { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); } to { -webkit-transform: translate(calc(-140 * var(--rc)), calc(-100 * var(--rc))); transform: translate(calc(-140 * var(--rc)), calc(-100 * var(--rc))); } }
@keyframes rc-drift-b { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); } to { -webkit-transform: translate(calc(-140 * var(--rc)), calc(-100 * var(--rc))); transform: translate(calc(-140 * var(--rc)), calc(-100 * var(--rc))); } }

.rc-header {
    position: absolute;
    left: calc(56 * var(--rc)); right: calc(56 * var(--rc)); top: calc(34 * var(--rc));
    height: calc(84 * var(--rc));
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
}
.rc-cup-icon {
    width: calc(72 * var(--rc)); height: calc(72 * var(--rc));
    border-radius: calc(20 * var(--rc));
    background: -webkit-linear-gradient(160deg, #ffd65a, #e09a00); background: linear-gradient(160deg, #ffd65a, #e09a00);
    display: -webkit-flex;
    display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center;
    margin-right: calc(24 * var(--rc));
    box-shadow: 0 calc(10 * var(--rc)) calc(30 * var(--rc)) rgba(224,154,0,.25);
}
.rc-cup-icon svg { width: calc(44 * var(--rc)); height: calc(44 * var(--rc)); }
.rc-title { font-size: calc(46 * var(--rc)); font-weight: 800; letter-spacing: calc(.5 * var(--rc)); line-height: 1; }
.rc-subtitle { font-size: calc(22 * var(--rc)); color: #9fb2e6; margin-top: calc(8 * var(--rc)); }
.rc-header-right { margin-left: auto; text-align: right; }
.rc-clock { font-size: calc(44 * var(--rc)); font-weight: 700; font-variant-numeric: tabular-nums; }
.rc-updated { font-size: calc(18 * var(--rc)); color: #8095cc; margin-top: calc(6 * var(--rc)); }
.rc-demo-badge {
    display: inline-block; margin-left: calc(18 * var(--rc)); padding: calc(6 * var(--rc)) calc(14 * var(--rc)); border-radius: calc(999 * var(--rc));
    background: #c8102e; color: #fff; font-size: calc(18 * var(--rc)); font-weight: 700; vertical-align: middle;
}

.rc-panel {
    position: absolute;
    top: calc(146 * var(--rc)); bottom: calc(40 * var(--rc));
    border-radius: calc(28 * var(--rc));
    background: rgba(255,255,255,.055);
    border: calc(1 * var(--rc)) solid rgba(255,255,255,.09);
    overflow: hidden;
}
.rc-panel--institutes { left: calc(56 * var(--rc)); width: calc(760 * var(--rc)); }
.rc-panel--people { left: calc(844 * var(--rc)); width: calc(500 * var(--rc)); }
.rc-panel--events { left: calc(1372 * var(--rc)); width: calc(492 * var(--rc)); background: transparent; border: 0; border-radius: 0; }
.rc-panel-title {
    font-size: calc(22 * var(--rc)); font-weight: 700; text-transform: uppercase; letter-spacing: calc(2 * var(--rc));
    color: #9fb2e6; padding: calc(26 * var(--rc)) calc(30 * var(--rc)) 0;
}
.rc-panel-title b { color: #ffcf3f; font-weight: 700; }
.rc-panel-title--people { white-space: nowrap; }

/* --- Институты --- */
.rc-inst-list { position: absolute; left: calc(20 * var(--rc)); right: calc(20 * var(--rc)); top: calc(78 * var(--rc)); bottom: calc(20 * var(--rc)); }
.rc-inst-row {
    position: absolute; left: 0; right: 0; height: calc(74 * var(--rc));
    display: -webkit-flex;
    display: flex; -webkit-align-items: center; align-items: center;
    padding: 0 calc(18 * var(--rc));
    border-radius: calc(18 * var(--rc));
    transition: opacity .6s ease, -webkit-transform .9s cubic-bezier(.22,.8,.24,1);
    transition: transform .9s cubic-bezier(.22,.8,.24,1), opacity .6s ease;
    transition: transform .9s cubic-bezier(.22,.8,.24,1), opacity .6s ease, -webkit-transform .9s cubic-bezier(.22,.8,.24,1);
}
.rc-inst-row:nth-child(odd) { background: rgba(255,255,255,.035); }
.rc-inst-row.is-leader { background: -webkit-linear-gradient(90deg, rgba(255,207,63,.20), rgba(255,207,63,.02)); background: linear-gradient(90deg, rgba(255,207,63,.20), rgba(255,207,63,.02)); }
.rc-inst-place {
    width: calc(46 * var(--rc)); height: calc(46 * var(--rc)); border-radius: calc(14 * var(--rc));
    display: -webkit-flex;
    display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center;
    font-size: calc(24 * var(--rc)); font-weight: 800; background: rgba(255,255,255,.08); -webkit-flex: none; flex: none;
    white-space: nowrap;
}
.rc-inst-row.is-p1 .rc-inst-place { background: #ffcf3f; color: #3a2a00; }
.rc-inst-row.is-p2 .rc-inst-place { background: #d7deea; color: #1f2a3d; }
.rc-inst-row.is-p3 .rc-inst-place { background: #e3925a; color: #3a1c06; }
.rc-inst-name { margin-left: calc(18 * var(--rc)); -webkit-flex: 1; flex: 1; min-width: 0; }
.rc-inst-abbr { font-size: calc(28 * var(--rc)); font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-inst-full { font-size: calc(15 * var(--rc)); color: #92a3d1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: calc(2 * var(--rc)); }
.rc-chips { display: -webkit-flex; display: flex; margin: 0 calc(18 * var(--rc)); -webkit-flex: none; flex: none; }
.rc-chip {
    min-width: calc(50 * var(--rc)); height: calc(32 * var(--rc)); padding: 0 calc(8 * var(--rc)); margin-left: calc(6 * var(--rc)); border-radius: calc(10 * var(--rc));
    font-size: calc(17 * var(--rc)); font-weight: 700; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center;
    background: rgba(255,255,255,.07); color: #b9c6ea; font-variant-numeric: tabular-nums;
}
.rc-chip.is-last { background: rgba(64,196,140,.22); color: #7cf0bd; }
.rc-chip.is-empty { color: #55648f; }
.rc-inst-points {
    width: calc(110 * var(--rc)); text-align: right; font-size: calc(38 * var(--rc)); font-weight: 800; -webkit-flex: none; flex: none;
    font-variant-numeric: tabular-nums;
}
.rc-chips-legend { position: absolute; right: calc(168 * var(--rc)); top: calc(30 * var(--rc)); font-size: calc(15 * var(--rc)); color: #7487bd; }

/* --- Топ людей --- */
.rc-podium-people { padding: calc(18 * var(--rc)) calc(24 * var(--rc)) 0; }
.rc-person-top {
    display: -webkit-flex;
    display: flex; -webkit-align-items: center; align-items: center; height: calc(84 * var(--rc)); margin-bottom: calc(10 * var(--rc)); padding: 0 calc(18 * var(--rc));
    border-radius: calc(20 * var(--rc)); background: rgba(255,255,255,.06);
}
.rc-person-top.is-p1 { background: -webkit-linear-gradient(90deg, rgba(255,207,63,.28), rgba(255,207,63,.05)); background: linear-gradient(90deg, rgba(255,207,63,.28), rgba(255,207,63,.05)); }
.rc-person-top.is-p2 { background: -webkit-linear-gradient(90deg, rgba(215,222,234,.20), rgba(215,222,234,.04)); background: linear-gradient(90deg, rgba(215,222,234,.20), rgba(215,222,234,.04)); }
.rc-person-top.is-p3 { background: -webkit-linear-gradient(90deg, rgba(227,146,90,.22), rgba(227,146,90,.04)); background: linear-gradient(90deg, rgba(227,146,90,.22), rgba(227,146,90,.04)); }
.rc-medal {
    width: calc(54 * var(--rc)); height: calc(54 * var(--rc)); border-radius: 50%; -webkit-flex: none; flex: none; position: relative;
    display: -webkit-flex;
    display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; font-size: calc(24 * var(--rc)); font-weight: 800;
}
.rc-medal--1 { background: -webkit-radial-gradient(circle at 35% 30%, #fff3b0, #ffcf3f 45%, #c99400); background: radial-gradient(circle at 35% 30%, #fff3b0, #ffcf3f 45%, #c99400); color: #4a3500; }
.rc-medal--2 { background: -webkit-radial-gradient(circle at 35% 30%, #ffffff, #d7deea 45%, #8d99ad); background: radial-gradient(circle at 35% 30%, #ffffff, #d7deea 45%, #8d99ad); color: #1f2a3d; }
.rc-medal--3 { background: -webkit-radial-gradient(circle at 35% 30%, #ffd9bd, #e3925a 45%, #9c5222); background: radial-gradient(circle at 35% 30%, #ffd9bd, #e3925a 45%, #9c5222); color: #3a1c06; }
.rc-person-info { margin-left: calc(16 * var(--rc)); -webkit-flex: 1; flex: 1; min-width: 0; }
.rc-person-name { font-size: calc(25 * var(--rc)); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-person-inst { font-size: calc(16 * var(--rc)); color: #92a3d1; margin-top: calc(2 * var(--rc)); }
.rc-person-points { font-size: calc(30 * var(--rc)); font-weight: 800; font-variant-numeric: tabular-nums; }

.rc-people-pages { position: absolute; left: calc(24 * var(--rc)); right: calc(24 * var(--rc)); top: calc(386 * var(--rc)); bottom: calc(64 * var(--rc)); }
.rc-people-page {
    position: absolute; left: 0; right: 0; top: 0;
    opacity: 0; -webkit-transform: translateX(calc(60 * var(--rc))); transform: translateX(calc(60 * var(--rc)));
    transition: opacity .6s ease, -webkit-transform .7s cubic-bezier(.22,.8,.24,1);
    transition: opacity .6s ease, transform .7s cubic-bezier(.22,.8,.24,1);
    transition: opacity .6s ease, transform .7s cubic-bezier(.22,.8,.24,1), -webkit-transform .7s cubic-bezier(.22,.8,.24,1);
}
.rc-people-page.is-active { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
.rc-people-page.is-leaving { opacity: 0; -webkit-transform: translateX(calc(-60 * var(--rc))); transform: translateX(calc(-60 * var(--rc))); }
.rc-person-row {
    display: -webkit-flex;
    display: flex; -webkit-align-items: center; align-items: center; height: calc(56 * var(--rc)); padding: 0 calc(16 * var(--rc)); border-radius: calc(14 * var(--rc));
    opacity: 0; -webkit-transform: translateY(calc(14 * var(--rc))); transform: translateY(calc(14 * var(--rc)));
    transition: opacity .45s ease, -webkit-transform .5s ease;
    transition: opacity .45s ease, transform .5s ease;
    transition: opacity .45s ease, transform .5s ease, -webkit-transform .5s ease;
}
.rc-people-page.is-active .rc-person-row { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
.rc-person-row:nth-child(odd) { background: rgba(255,255,255,.035); }
.rc-person-row .rc-pl {
    -webkit-flex: 0 0 calc(88 * var(--rc));
            flex: 0 0 calc(88 * var(--rc));
    width: calc(88 * var(--rc));
    min-width: calc(88 * var(--rc));
    max-width: calc(88 * var(--rc));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    font-size: calc(21 * var(--rc));
    font-weight: 700;
    color: #8ea2d8;
}
.rc-person-row .rc-person-name { font-size: calc(21 * var(--rc)); font-weight: 600; }
.rc-person-row .rc-person-inst {
    font-size: calc(15 * var(--rc));
    margin: 0 calc(12 * var(--rc));
    -webkit-flex: 0 1 auto;
            flex: 0 1 auto;
    min-width: 0;
    max-width: 42%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rc-person-row .rc-person-points {
    -webkit-flex: none;
            flex: none;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-size: calc(22 * var(--rc));
    width: calc(70 * var(--rc));
    text-align: right;
}

.rc-pager { position: absolute; left: calc(24 * var(--rc)); right: calc(24 * var(--rc)); bottom: calc(24 * var(--rc)); height: calc(20 * var(--rc)); display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.rc-dots { display: -webkit-flex; display: flex; }
.rc-dot { width: calc(12 * var(--rc)); height: calc(12 * var(--rc)); border-radius: calc(6 * var(--rc)); margin-right: calc(8 * var(--rc)); background: rgba(255,255,255,.2); transition: -webkit-transform .4s ease; transition: transform .4s ease; transition: transform .4s ease, -webkit-transform .4s ease; }
.rc-dot.is-active { background: #ffcf3f; -webkit-transform: scaleX(2.2); transform: scaleX(2.2); -webkit-transform-origin: left center; transform-origin: left center; margin-right: calc(22 * var(--rc)); }
.rc-progress { -webkit-flex: 1; flex: 1; height: calc(4 * var(--rc)); margin-left: calc(12 * var(--rc)); border-radius: calc(2 * var(--rc)); background: rgba(255,255,255,.08); overflow: hidden; }
.rc-progress-bar { height: 100%; background: #ffcf3f; -webkit-transform-origin: left center; transform-origin: left center; -webkit-transform: scaleX(0); transform: scaleX(0); }
.rc-progress-bar.is-running { transition-property: -webkit-transform; transition-property: transform; transition-property: transform, -webkit-transform; transition-timing-function: linear; -webkit-transform: scaleX(1); transform: scaleX(1); }

/* --- Правая колонка --- */
.rc-card {
    position: relative; border-radius: calc(28 * var(--rc)); overflow: hidden;
    background: rgba(255,255,255,.055); border: calc(1 * var(--rc)) solid rgba(255,255,255,.09);
}
.rc-last { height: calc(452 * var(--rc)); }
.rc-last-slide {
    position: absolute; left: 0; right: 0; top: calc(64 * var(--rc)); bottom: calc(44 * var(--rc)); padding: 0 calc(28 * var(--rc));
    opacity: 0; -webkit-transform: translateY(calc(24 * var(--rc))); transform: translateY(calc(24 * var(--rc)));
    transition: opacity .7s ease, -webkit-transform .8s cubic-bezier(.22,.8,.24,1);
    transition: opacity .7s ease, transform .8s cubic-bezier(.22,.8,.24,1);
    transition: opacity .7s ease, transform .8s cubic-bezier(.22,.8,.24,1), -webkit-transform .8s cubic-bezier(.22,.8,.24,1);
}
.rc-last-slide.is-active { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
.rc-last-date { font-size: calc(18 * var(--rc)); color: #7cf0bd; font-weight: 700; }
.rc-last-title { font-size: calc(26 * var(--rc)); font-weight: 800; line-height: 1.2; margin-top: calc(6 * var(--rc)); height: calc(64 * var(--rc)); overflow: hidden; }
.rc-podium { display: -webkit-flex; display: flex; -webkit-align-items: flex-end; align-items: flex-end; -webkit-justify-content: center; justify-content: center; height: calc(196 * var(--rc)); margin-top: calc(14 * var(--rc)); }
.rc-podium-col { width: calc(132 * var(--rc)); margin: 0 calc(6 * var(--rc)); text-align: center; }
.rc-podium-name { font-size: calc(20 * var(--rc)); font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-podium-pts { font-size: calc(16 * var(--rc)); color: #b9c6ea; margin: calc(2 * var(--rc)) 0 calc(8 * var(--rc)); }
.rc-podium-bar {
    border-radius: calc(14 * var(--rc)) calc(14 * var(--rc)) calc(4 * var(--rc)) calc(4 * var(--rc)); display: -webkit-flex; display: flex; -webkit-align-items: flex-start; align-items: flex-start; -webkit-justify-content: center; justify-content: center;
    padding-top: calc(10 * var(--rc)); font-size: calc(30 * var(--rc)); font-weight: 800;
    -webkit-transform-origin: bottom center;
            transform-origin: bottom center; -webkit-transform: scaleY(.2); transform: scaleY(.2); opacity: 0;
    transition: opacity .5s ease .15s, -webkit-transform .8s cubic-bezier(.22,.8,.24,1) .15s;
    transition: transform .8s cubic-bezier(.22,.8,.24,1) .15s, opacity .5s ease .15s;
    transition: transform .8s cubic-bezier(.22,.8,.24,1) .15s, opacity .5s ease .15s, -webkit-transform .8s cubic-bezier(.22,.8,.24,1) .15s;
}
.rc-last-slide.is-active .rc-podium-bar { -webkit-transform: scaleY(1); transform: scaleY(1); opacity: 1; }
.rc-podium-col--1 .rc-podium-bar { height: calc(120 * var(--rc)); background: -webkit-linear-gradient(180deg, #ffcf3f, #b98a00); background: linear-gradient(180deg, #ffcf3f, #b98a00); color: #3a2a00; }
.rc-podium-col--2 .rc-podium-bar { height: calc(88 * var(--rc)); background: -webkit-linear-gradient(180deg, #d7deea, #7f8ba0); background: linear-gradient(180deg, #d7deea, #7f8ba0); color: #1f2a3d; }
.rc-podium-col--3 .rc-podium-bar { height: calc(64 * var(--rc)); background: -webkit-linear-gradient(180deg, #e3925a, #9c5222); background: linear-gradient(180deg, #e3925a, #9c5222); color: #3a1c06; }
.rc-last-people { margin-top: calc(12 * var(--rc)); font-size: calc(17 * var(--rc)); color: #b9c6ea; line-height: 1.5; height: calc(52 * var(--rc)); overflow: hidden; }
.rc-last-people b { color: #fff; }
.rc-last-dots { position: absolute; left: calc(28 * var(--rc)); bottom: calc(20 * var(--rc)); }

.rc-upcoming { position: absolute; left: 0; right: 0; top: calc(476 * var(--rc)); bottom: 0; }
.rc-up-body {
    position: absolute;
    left: calc(16 * var(--rc)); right: calc(16 * var(--rc));
    top: calc(58 * var(--rc)); bottom: calc(12 * var(--rc));
    display: -webkit-flex;
    display: flex; -webkit-flex-direction: column; flex-direction: column;
}
.rc-up-pin { display: -webkit-flex; display: flex; -webkit-align-items: stretch; align-items: stretch; -webkit-flex: none; flex: none; }
.rc-up-card {
    display: -webkit-flex;
    display: flex; -webkit-align-items: center; align-items: center; box-sizing: border-box; min-width: 0;
    border-radius: calc(18 * var(--rc)); background: rgba(255,255,255,.05);
}
.rc-up-card--pin {
    -webkit-flex: 1 1 0;
            flex: 1 1 0;
    height: calc(168 * var(--rc));
    margin-right: calc(10 * var(--rc));
    padding: calc(10 * var(--rc)) calc(10 * var(--rc)) calc(10 * var(--rc)) calc(14 * var(--rc));
}
.rc-up-pin .rc-up-card--pin:last-child { margin-right: 0; }
.rc-up-main { -webkit-flex: 1; flex: 1; min-width: 0; overflow: hidden; }
.rc-up-when {
    font-size: calc(16 * var(--rc)); font-weight: 800; color: #ffcf3f; line-height: 1.2;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rc-up-card--pin .rc-up-title {
    margin-top: calc(4 * var(--rc));
    font-size: calc(16 * var(--rc)); font-weight: 700; line-height: 1.22;
    max-height: calc(60 * var(--rc)); overflow: hidden;
}
.rc-up-card--pin .rc-up-place {
    margin-top: calc(4 * var(--rc));
    font-size: calc(13 * var(--rc)); line-height: 1.3; color: #92a3d1;
    max-height: calc(34 * var(--rc)); overflow: hidden;
}
.rc-up-card--pin .rc-up-qr {
    width: calc(132 * var(--rc)); height: calc(132 * var(--rc));
    margin-left: calc(10 * var(--rc)); padding: calc(6 * var(--rc));
    border-radius: calc(12 * var(--rc));
}
.rc-up-body.is-pins .rc-up-pin { -webkit-flex: 1; flex: 1; }
.rc-up-body.is-pins .rc-up-card--pin { height: auto; }
.rc-up-body.is-pins .rc-up-card--pin .rc-up-title { font-size: calc(22 * var(--rc)); max-height: calc(112 * var(--rc)); }
.rc-up-body.is-pins.is-single .rc-up-card--pin .rc-up-qr {
    width: calc(200 * var(--rc)); height: calc(200 * var(--rc)); padding: calc(8 * var(--rc));
}
.rc-up-body.is-pins.is-single .rc-up-card--pin .rc-up-title { font-size: calc(28 * var(--rc)); max-height: calc(108 * var(--rc)); }
.rc-up-body.is-empty .rc-up-pin { -webkit-flex: 1; flex: 1; }
.rc-up-empty {
    -webkit-flex: 1;
            flex: 1; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; text-align: center;
    box-sizing: border-box; padding: calc(24 * var(--rc));
    border-radius: calc(18 * var(--rc));
    border: calc(1 * var(--rc)) dashed rgba(159,178,230,.35);
    background: rgba(255,255,255,.03);
    font-size: calc(22 * var(--rc)); font-weight: 600; color: #9fb2e6;
}
.rc-up-rot {
    position: relative; -webkit-flex: 1; flex: 1; min-height: calc(118 * var(--rc));
    margin-top: calc(10 * var(--rc)); overflow: hidden;
}
.rc-up-slide {
    position: absolute; left: 0; right: 0; top: 0; bottom: 0;
    opacity: 0; -webkit-transform: translateX(calc(48 * var(--rc))); transform: translateX(calc(48 * var(--rc)));
    transition: opacity .65s ease, -webkit-transform .7s cubic-bezier(.22,.8,.24,1);
    transition: opacity .65s ease, transform .7s cubic-bezier(.22,.8,.24,1);
    transition: opacity .65s ease, transform .7s cubic-bezier(.22,.8,.24,1), -webkit-transform .7s cubic-bezier(.22,.8,.24,1);
}
.rc-up-slide.is-active { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
.rc-up-slide.is-leaving { opacity: 0; -webkit-transform: translateX(calc(-48 * var(--rc))); transform: translateX(calc(-48 * var(--rc))); }
.rc-up-card--rot { height: 100%; padding: 0 calc(12 * var(--rc)); }
.rc-up-date {
    width: calc(72 * var(--rc)); height: calc(80 * var(--rc)); border-radius: calc(16 * var(--rc)); -webkit-flex: none; flex: none; text-align: center;
    background: -webkit-linear-gradient(170deg, #1f4fd1, #12338f); background: linear-gradient(170deg, #1f4fd1, #12338f); padding-top: calc(10 * var(--rc));
}
.rc-up-day { font-size: calc(32 * var(--rc)); font-weight: 800; line-height: 1; }
.rc-up-month { font-size: calc(15 * var(--rc)); text-transform: uppercase; color: #c9d6ff; margin-top: calc(4 * var(--rc)); }
.rc-up-time { font-size: calc(13 * var(--rc)); color: #c9d6ff; margin-top: calc(2 * var(--rc)); }
.rc-up-card--rot .rc-up-main { margin: 0 calc(12 * var(--rc)); }
.rc-up-card--rot .rc-up-title {
    font-size: calc(20 * var(--rc)); font-weight: 700; line-height: 1.25;
    max-height: calc(50 * var(--rc)); overflow: hidden;
}
.rc-up-card--rot .rc-up-place {
    margin-top: calc(4 * var(--rc));
    font-size: calc(14 * var(--rc)); color: #92a3d1;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rc-up-card--rot .rc-up-qr {
    width: calc(100 * var(--rc)); height: calc(100 * var(--rc)); padding: calc(5 * var(--rc));
}
.rc-up-pager {
    -webkit-flex: none;
            flex: none; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center;
    height: calc(28 * var(--rc)); margin-top: calc(6 * var(--rc));
}
.rc-up-qr { width: calc(96 * var(--rc)); height: calc(96 * var(--rc)); border-radius: calc(10 * var(--rc)); background: #fff; padding: calc(5 * var(--rc)); -webkit-flex: none; flex: none; }
.rc-up-qr img,
.rc-up-qr svg { display: block; width: 100%; height: 100%; }
.rc-up-qr svg { shape-rendering: crispEdges; }
.rc-empty { padding: calc(24 * var(--rc)) calc(30 * var(--rc)); font-size: calc(20 * var(--rc)); color: #7487bd; }

.rc-error {
    position: absolute; left: 50%; bottom: calc(14 * var(--rc)); -webkit-transform: translateX(-50%); transform: translateX(-50%);
    font-size: calc(15 * var(--rc)); color: #ffb4b4; opacity: .8;
}

/* точки карусели итогов — в правом верхнем углу, чтобы не наезжать на «Лучшие» */
.rc-last-dots { position: absolute; top: calc(34 * var(--rc)); right: calc(28 * var(--rc)); bottom: auto; left: auto; }

/* v2: институты — только итоговые баллы, левая колонка уже, правая шире */
.rc-panel--institutes { left: calc(56 * var(--rc)); width: calc(520 * var(--rc)); }
.rc-panel--people { left: calc(604 * var(--rc)); width: calc(560 * var(--rc)); }
.rc-panel--events { left: calc(1192 * var(--rc)); width: calc(672 * var(--rc)); }
.rc-chips, .rc-chips-legend { display: none; }
.rc-inst-full { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* QR на новость о прошедшем мероприятии */
.rc-last-body { display: -webkit-flex; display: flex; -webkit-align-items: flex-end; align-items: flex-end; margin-top: calc(14 * var(--rc)); }
.rc-last-body .rc-podium { -webkit-flex: 1; flex: 1; margin-top: 0; }
.rc-last-qr { -webkit-flex: none; flex: none; width: calc(150 * var(--rc)); margin-left: calc(20 * var(--rc)); text-align: center; }
.rc-last-qr .rc-up-qr { width: calc(150 * var(--rc)); height: calc(150 * var(--rc)); margin: 0; }
.rc-last-qr .rc-up-qr img, .rc-last-qr .rc-up-qr svg { width: 100%; height: 100%; display: block; }
.rc-last-qr-label { font-size: calc(14 * var(--rc)); color: #9fb0dd; margin-top: calc(8 * var(--rc)); line-height: 1.2; }

/* v3: плашка «Кубок ректора на сайте РосНОУ» внизу колонки институтов */
.rc-site {
    position: absolute; left: calc(24 * var(--rc)); right: calc(24 * var(--rc)); bottom: calc(24 * var(--rc)); height: calc(196 * var(--rc));
    display: -webkit-flex;
    display: flex; -webkit-align-items: center; align-items: center; padding: 0 calc(22 * var(--rc)) 0 calc(28 * var(--rc)); box-sizing: border-box;
    border-radius: calc(22 * var(--rc));
    background: -webkit-linear-gradient(120deg, rgba(255,207,63,.20), rgba(64,110,255,.16)); background: linear-gradient(120deg, rgba(255,207,63,.20), rgba(64,110,255,.16));
    border: calc(1 * var(--rc)) solid rgba(255,207,63,.35);
}
.rc-site-text { -webkit-flex: 1; flex: 1; font-size: calc(30 * var(--rc)); font-weight: 800; line-height: 1.2; color: #fff; }
.rc-site-text b { color: #ffcf3f; }
.rc-site-hint { font-size: calc(16 * var(--rc)); font-weight: 500; color: #b9c6ea; margin-top: calc(10 * var(--rc)); }
.rc-site-qr { -webkit-flex: none; flex: none; width: calc(152 * var(--rc)); height: calc(152 * var(--rc)); padding: calc(8 * var(--rc)); background: #fff; border-radius: calc(14 * var(--rc)); }
.rc-site-qr img, .rc-site-qr svg { width: 100%; height: 100%; display: block; }
/* итоги без строки «Лучшие» — пьедестал выше */
.rc-last-people { display: none; }
.rc-last-body .rc-podium { height: calc(250 * var(--rc)); }

/* v4: все институты с баллами — тройка на пьедестале, остальные компактным списком */
.rc-last-body { -webkit-align-items: flex-end; align-items: flex-end; }
.rc-last-main { -webkit-flex: 1; flex: 1; min-width: 0; }
.rc-last-body .rc-podium { height: calc(200 * var(--rc)); }
.rc-last-rest { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin-top: calc(12 * var(--rc)); }
.rc-rest-item {
    display: -webkit-flex;
    display: flex; -webkit-align-items: center; align-items: center; box-sizing: border-box; width: 100%;
    height: calc(34 * var(--rc)); padding: 0 calc(12 * var(--rc)); margin-bottom: calc(6 * var(--rc));
    border-radius: calc(10 * var(--rc)); background: rgba(255,255,255,.06); font-size: calc(18 * var(--rc));
}
.rc-last-rest.is-2col .rc-rest-item { width: calc(50% - 4 * var(--rc)); }
.rc-last-rest.is-2col .rc-rest-item:nth-child(odd) { margin-right: calc(8 * var(--rc)); }
.rc-rest-place {
    -webkit-flex: none;
            flex: none;
    width: calc(36 * var(--rc));
    min-width: calc(36 * var(--rc));
    white-space: nowrap;
    color: #7487bd;
    font-weight: 700;
}
.rc-rest-name { -webkit-flex: 1; flex: 1; font-weight: 700; color: #e6ecff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-rest-pts { font-weight: 800; color: #fff; }
.rc-last-qr { -webkit-align-self: flex-end; align-self: flex-end; }
.rc-last-body .rc-podium { height: calc(150 * var(--rc)); }
.rc-last-body { margin-top: calc(8 * var(--rc)); }
.rc-last-rest .rc-rest-item { width: calc(50% - 4 * var(--rc)); }
.rc-last-rest .rc-rest-item:nth-child(odd) { margin-right: calc(8 * var(--rc)); }
.rc-last-qr .rc-up-qr { width: calc(132 * var(--rc)); height: calc(132 * var(--rc)); }
.rc-last-qr { width: calc(132 * var(--rc)); }
.rc-last-body .rc-podium { height: calc(188 * var(--rc)); }
.rc-last-body { margin-top: calc(16 * var(--rc)); }
.rc-rest-item { height: calc(30 * var(--rc)); margin-bottom: calc(4 * var(--rc)); font-size: calc(17 * var(--rc)); }
.rc-last-qr-label { font-size: calc(13 * var(--rc)); margin-top: calc(4 * var(--rc)); }
