/* --- Translate --- */
.translate {position: absolute; top: -8px; right: 0; display: flex; align-items: baseline; gap: 6px; z-index: 10; font-family: 'GeometricSlabserif712'; font-weight: 700;}
.translate a:link, .translate a:visited {color: #1e90ff; font-size: 80%; text-decoration: none; transition: color .2s;}
.translate a.active:link, .translate a.active:visited {color: #dcdcdc; font-size: 120%;}
.translate a:hover {color: #ea0000;}
.translate a.active:hover {color: #dcdcdc;}
.translate span {color: #1e90ff;}



/* --- Circuit - Calendar --- */
.calendar {--calendar-blue: #004ece; --calendar-red: #de0000; --calendar-muted: #9a9a9a; --calendar-ratio: 1.1488;
  --calendar-top: 54px; --calendar-stage-h: 76px; --calendar-stage-active-h: 150px; --calendar-first-h: var(--calendar-stage-h); --calendar-second-h: var(--calendar-stage-h); --calendar-sch-logo-h: 52px; --calendar-sch-head-h: 60px; --calendar-sch-row-h: 56px;
  --calendar-pin: #de0000; --calendar-pin-active: #de0000;
  --calendar-zoom: 8; --calendar-map-shift: -50px;
  --calendar-gap: 130px;
  --calendar-map: #004ece; --calendar-map-ext: #454545; --calendar-border: #002266; --calendar-border-ext: #2f2f2f;
  --tline-color: var(--calendar-blue); --tline-dot-color: var(--calendar-red);
  position: relative; width: 100%; height: 906px; box-sizing: border-box; overflow: hidden; text-align: left;}

/* --- Circuit - Calendar - Titel --- */
.calendar-title {position: absolute; top: 0; left: 0; right: 0; height: 46px; box-sizing: border-box; padding: 0 34px; display: flex; align-items: center; justify-content: center; gap: 22px; z-index: 2;}
.calendar-title::before, .calendar-title::after { content: ''; flex: 1; height: 2px; background: rgba(255, 255, 255, 0.75);}
.calendar-title::before {transform-origin: 100% 50%;}
.calendar-title::after {transform-origin: 0 50%;}
.calendar-title span {font-size: 18px; font-family: 'GeometricSlabserif712'; font-weight: 700; letter-spacing: 1px; white-space: nowrap;}

/* --- Circuit - Calendar - Map --- */
.calendar-bg-map { position: absolute; left: calc(var(--calendar-zoom) * -0.585%); right: calc(var(--calendar-zoom) * -0.415%); bottom: 0; aspect-ratio: var(--calendar-ratio); z-index: 1; transform: translate(var(--calendar-map-shift), calc(var(--calendar-zoom) / (100 + var(--calendar-zoom)) * 50%)); }
.calendar-bg { display: block; width: 100%; height: 100%; }
.calendar-bg .land { fill: var(--calendar-map); }
.calendar-bg .land-ext { fill: var(--calendar-map-ext); }
.calendar-bg .border-region, .calendar-bg .border-nation { stroke: var(--calendar-border); }
.calendar-bg .border-ext { stroke: var(--calendar-border-ext); }
.calendar-bg-pin { position: absolute; width: 0; height: 0; z-index: 1; }
.calendar-bg-pin.is-active { z-index: 2; }
.calendar-bg-pin:hover, .calendar-bg-pin.is-hover { z-index: 4; }
.calendar-pinbody { position: absolute; left: -21px; top: -54px; width: 42px; height: 54px; z-index: 1; transform-origin: 50% 100%; transition: transform 0.2s ease; filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.6)); }
.calendar-pinbody svg { display: block; width: 100%; height: 100%; }
.calendar-pinbody path { fill: #de0000; fill: var(--calendar-pin); }
.calendar-bg-pin.is-active .calendar-pinbody path { fill: #de0000; fill: var(--calendar-pin-active); }
.calendar-bg-pin.is-active .calendar-pinbody { filter: drop-shadow(0 0 7px var(--calendar-pin-active)) drop-shadow(0 0 14px var(--calendar-pin-active)) drop-shadow(0 3px 3px rgba(0, 0, 0, 0.6)); }
.calendar-bg-pin:hover .calendar-pinbody, .calendar-bg-pin.is-hover .calendar-pinbody { transform: scale(1.14); }
.calendar-pinlogo { position: absolute; left: 6px; top: 5.5px; width: 30px; height: 30px; border-radius: 50%; overflow: hidden; background-color: #1c1c1c; background-repeat: no-repeat; background-size: var(--bs, cover); background-position: var(--bp, 50% 50%); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.45), inset 0 -5px 8px rgba(0, 0, 0, 0.45); }
.calendar-pinlogo::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.38) 0%, rgba(255, 255, 255, 0) 46%); }
.calendar-weather-current { position: absolute; bottom: 6px; z-index: 1; }
.calendar-bg-pin.w-r .calendar-weather-current { left: 27px; }
.calendar-bg-pin.w-l .calendar-weather-current { right: 27px; }
.calendar .calendar-weather-current .wcurrent-desc { display: none; }
.calendar .calendar-weather-current .wcurrent-loader .loading-spinner { width: 14px; height: 14px; }

/* --- Circuit - Calendar - Left Side --- */
.calendar-left-side {list-style: none; margin: 0; padding: var(--calendar-top) 0 18px 10px; width: 330px; box-sizing: border-box; position: relative; z-index: 3; --tline-from: translateX(-16px);}
.calendar-event-row {position: relative; height: var(--calendar-stage-h); display: flex; align-items: center;}
.calendar-event-row::before {left: calc(var(--calendar-gap) - 11.5px);}
.calendar-event-config-map-cell {width: calc(var(--calendar-gap) - 20px); flex: none; display: flex; justify-content: center; align-items: center;}
.calendar-event-config-map {width: 76px; height: 60px; position: relative; background-size: contain; background-repeat: no-repeat; background-position: center; filter: drop-shadow(2px 3px 3px rgba(0, 0, 0, 0.75)); transition: transform 0.25s ease, filter 0.25s ease;}
.calendar-event-config-map:hover {transform: scale(1.6); z-index: 4; filter: drop-shadow(4px 7px 7px rgba(0, 0, 0, 0.8));}
.calendar-event-dot {--tline-box: 20px; --tline-dot: 16px;}
.calendar-event-cell {width: 190px; padding-left: 10px; box-sizing: border-box; font-size: 13px; line-height: 17px;}
.calendar-event-cell > span {display: block; white-space: nowrap;}
.calendar-event-date {color: #1e90ff;}
.calendar-event-num {font-size: 16px; font-family: 'GeometricSlabserif712'; font-weight: 700; color: #dcdcdc;}
.calendar-event-circuit {font-size: 16px; font-family: 'GeometricSlabserif712'; font-weight: 700; transition: color 0.2s ease;}
.calendar-event-length {color: #1e90ff;}
.calendar-event-config {color: #1e90ff;}

/* --- Circuit - Calendar - Left Side Active Event --- */
.calendar-event-row.is-active {height: var(--calendar-stage-active-h);}
.calendar-event-row.is-active .calendar-event-config-map {width: 108px; height: 136px; filter: drop-shadow(3px 4px 5px rgba(0, 0, 0, 0.8));}
.calendar-event-row.is-active .calendar-event-config-map:hover {transform: scale(1.12); filter: drop-shadow(5px 8px 9px rgba(0, 0, 0, 0.85));}
.calendar-event-row.is-active .calendar-event-cell {font-size: 14px; line-height: 22px;}
.calendar-event-row.is-active .calendar-event-circuit {font-size: 18px;}
.calendar-event-row.is-active .calendar-event-config {font-size: 14px;}
.calendar-event-row.is-hover .calendar-event-circuit {color: #1e90ff;}
.calendar-event-row.is-hover .calendar-event-dot::after {transform: scale(1.4);}

/* --- Circuit - Calendar - Right Side --- */
.calendar-right-side {position: absolute; top: calc(var(--calendar-top) + var(--calendar-first-h) + var(--calendar-second-h) / 2 - var(--calendar-sch-logo-h) - var(--calendar-sch-head-h) / 2); right: 0; width: 330px; z-index: 2; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);}

.calendar-round-row {display: grid; grid-template-columns: 1fr 20px calc(var(--calendar-gap) - 10px); align-items: center;}
.calendar-round-row::before {left: calc(100% - var(--calendar-gap) - 1.5px);}
.calendar-round-dot {--tline-box: 20px; --tline-dot: 16px;}
/* строки сессий: запас высоты под дистанцию под названием и таймер над временем, чтобы при их появлении строки не сливались и не прыгали */
.calendar-round-row:not(.is-logo):not(.is-head):not(.is-day) { min-height: var(--calendar-sch-row-h); }

/* ячейка заголовка (шапка и день) — третья колонка строки */
.calendar-round-title-cell {padding: 9px 0 9px 10px; font-size: 14px;}

/* логотип трассы — над линией по её центру; шапка: номер этапа и подпись пояса справа — линия начинается от её точки */
.calendar-round-row.is-head { height: var(--calendar-sch-head-h); }
.calendar-round-logo {grid-column: 2; justify-self: center; display: flex;}
.calendar-round-logo-img { width: 104px; height: var(--calendar-sch-logo-h); background-size: contain; background-repeat: no-repeat; background-position: center; filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.8)); }
.calendar-round-num { font-family: 'GeometricSlabserif712'; display: block; font-size: 15px; line-height: 19px; font-weight: 700; }
.calendar-round-tz {display: block; font-size: 12px; line-height: 14px; color: #1e90ff; white-space: nowrap;}

/* день */
.calendar-round-row.is-day .calendar-round-title-cell {padding: 9px 10px 9px 0; text-align: right;}
.calendar-round-date {font-family: 'GeometricSlabserif712'; font-weight: 700; display: block;}
.calendar-round-week {color: #1e90ff; display: block;}

/* сессия */
.calendar-round-session-name {padding: 7px 0 7px 10px;}
.calendar-round-session-length { display: block;}
.calendar-round-time-cell {padding: 7px 10px 7px 0; text-align: right; display: flex; flex-direction: column; justify-content: center;}
.calendar-round-countdown { font-size: 11px; line-height: 14px; color: #1e90ff; white-space: nowrap; }
.calendar-round-countdown:empty { display: none; }

/* прошедшие сессии и TBA — затемняется только текст */
.calendar-round-row.is-past .calendar-round-session-name, .calendar-round-row.is-past .calendar-round-time { color: rgba(255, 255, 255, 0.5); }
.calendar-round-row.is-tba .calendar-round-session-name { color: rgba(255, 255, 255, 0.45); }
.calendar-round-row.is-tba .calendar-round-time { font-size: 13px; font-weight: 400; color: var(--calendar-muted); }

/* --- Circuit - Calendar - Bottom Right Side --- */
.calendar-bottom-right-side { --calendar-fc-top-h: 38px; --tline-from: translateY(8px); position: absolute; top: calc(100% - var(--calendar-gap) - var(--calendar-fc-top-h) - 6px); right: 28px; width: 460px; display: flex; z-index: 2; color: #fff; text-align: center; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85); }
.calendar-fc-item { position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; }
/* отрезок линии (.tline-h): от центра предыдущей точки до центра этой */
.calendar-fc-item::before { left: -50%; top: calc(var(--calendar-fc-top-h) + 4.5px); }
.calendar-fc-top { height: var(--calendar-fc-top-h); box-sizing: border-box; padding-bottom: 6px; display: flex; flex-direction: column; justify-content: flex-end; font-size: 12px; line-height: 15px; }
.calendar-fc-title { display: block; white-space: nowrap; }
.calendar-fc-sub { display: block; font-size: 14px; line-height: 17px; font-weight: 700; }
.calendar-fc-item.is-head .calendar-fc-sub { font-size: 12px; line-height: 15px; font-weight: 400; color: #1e90ff; }
.calendar-fc-bottom { min-height: 78px; padding-top: 6px; box-sizing: border-box; font-size: 11px; line-height: 14px; }
/* логотип трассы под первой точкой (картинку задаёт тот же класс логотипа, что и в шапке расписания) */
.calendar-fc-logo { display: block; width: 96px; height: 44px; margin: 4px auto 0; background-size: contain; background-repeat: no-repeat; background-position: center top; filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.8)); }
.calendar-weather-forecast-main { display: flex; justify-content: center; align-items: center; gap: 6px; }
.calendar-weather-forecast-icon { width: 26px; height: 26px; display: block; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6)); }
.calendar-weather-forecast-temp { font-size: 13px; line-height: 16px; font-weight: 700; color: #fff; }
.calendar-weather-forecast-desc { display: block; max-width: 100px; margin: 0 auto; color: #1e90ff; } /* длинные статусы («Облачно с прояснениями») переносятся на вторую строку */
.calendar-weather-forecast-det { display: block; color: #ccc; white-space: nowrap; }
.calendar-weather-forecast-det i { margin: 0 2px 0 8px; }
.calendar-weather-forecast-det i:first-child { margin-left: 0; }

/* --- Анимация появления своих частей: карта, заголовок, метки (линии и точки — блок Timeline; класс .tline-anim ставит /widget/timeline/script.js) --- */
.calendar.tline-anim .calendar-bg {opacity: 0; transition: opacity 1s ease;}
.calendar.tline-anim .calendar-bg.on {opacity: 1;}
.calendar.tline-anim .calendar-title::before, .calendar.tline-anim .calendar-title::after {transform: scaleX(0); transition: transform 0.9s ease;}
.calendar.tline-anim .calendar-title.on::before, .calendar.tline-anim .calendar-title.on::after {transform: scaleX(1);}
.calendar.tline-anim .calendar-title span {opacity: 0; transition: opacity 0.7s ease 0.3s;}
.calendar.tline-anim .calendar-title.on span {opacity: 1;}

.calendar.tline-anim .calendar-bg-pin {opacity: 0; transform: translateY(-22px);}
.calendar.tline-anim .calendar-bg-pin.on {opacity: 1; transform: none; transition: opacity 0.3s ease, transform 0.55s cubic-bezier(0.3, 1.5, 0.5, 1);}
.calendar.tline-anim .calendar-weather-current {opacity: 0;}
.calendar.tline-anim .calendar-bg-pin.on .calendar-weather-current {opacity: 1; transition: opacity 0.5s ease 0.5s;}

/* --- Варианты страницы, которые ещё не сделаны (Тесты, Сезон 2027) --- */
.calendar-tba {width: 100%; padding: 70px 20px; text-align: center; color: #9a9a9a; font-size: 15px;}












/* --- Circuit - Map --- */
.map-cell {width: 982px; height: 700px; border: 0;}



/* --- Circuit - Radar --- */

/* --- Circuit Background Theme --- */
.circuit-theme1{--tint: transparent; --area-filter: none}
.circuit-theme2{--tint: #3d5a8a; --tint-strength: 0.85; --area-filter: brightness(0.5)}

/* --- Circuit Position --- */
.circuit-cell.brands_hatch {--map-left: 17.97%; --map-top: 18.18%; --map-width: 63.86%; --zoom: 1.25; --rotate: 0deg --ratio: 1;}
.circuit-cell.croft {--map-left: 19.07%; --map-top: 18.95%; --map-width: 62.21%; --zoom: 1.75; --rotate: 0deg}
.circuit-cell.donington_park {--map-left: 7.62%; --map-top: 7.49%; --map-width: 84.81%; --zoom: 1.50; --rotate: 35deg}
.circuit-cell.knockhill {--map-left: 16.19%; --map-top: 16.13%; --map-width:67.94%; --zoom: 1.75; --rotate: -60deg}
.circuit-cell.oulton_park {--map-left: 7.97%; --map-top: 7.92%; --map-width: 84.16%; --zoom: 1.25; --rotate: -25deg}
.circuit-cell.silverstone {--map-left: 26.83%; --map-top: 10.21%; --map-width: 68.06%; --zoom: 1.50; --rotate: -60deg}
.circuit-cell.snetterton {--map-left: 13.92%; --map-top: 14.10%; --map-width: 71.94%; --zoom: 1.50; --rotate: 40deg}
.circuit-cell.thruxton {--map-left: 12.89%; --map-top: 12.89%; --map-width: 74.17%; --zoom: 1.25; --rotate: -25deg}
.circuit-cell.rockingham {--map-left: 25.23%; --map-top: 27.82%; --map-width: 41.95%; --zoom: 2.00; --rotate: 0deg; --ratio: 1; --cx: 0.46; --cy: 0.5}

/* --- Circuit Road --- */
.brands_hatch.config_gp {--sector-width: 15px; --pit-width: 6px; --radar-num-gap: 6px; --outline-inactive: 5px; --outline-inactive-color: #000000; --outline-pit: 2.5px; --outline-pit-color: #000000;}
.brands_hatch.config_gp .circuit-zoom.has-sectors .circuit-map path#c2 {stroke: #004ece; stroke-width: 8px;}
.brands_hatch.config_gp .circuit-map #main {stroke-width: 0px;}
.brands_hatch.config_gp .circuit-map #c1 {stroke-width: 0px;}
.brands_hatch.config_indy {--sector-width: 15px; --pit-width: 6px; --radar-num-gap: 6px; --outline-inactive: 5px; --outline-inactive-color: #000000; --outline-pit: 2.5px; --outline-pit-color: #000000;}
.brands_hatch.config_indy .circuit-zoom.has-sectors .circuit-map path#c1 {stroke: #004ece; stroke-width: 8px;}
.brands_hatch.config_indy .circuit-map #main {stroke-width: 0px;}
.brands_hatch.config_indy .circuit-map #c2 {stroke-width: 0px;}
.croft {--sector-width: 12px; --pit-width: 6px; --radar-num-gap: 6px;}
.donington_park.config_gp {--sector-width: 15px; --pit-width: 6px; --radar-num-gap: 6px; --outline-inactive: 5px; --outline-inactive-color: #000000; --outline-pit: 2.5px; --outline-pit-color: #000000;}
.donington_park.config_gp .circuit-zoom.has-sectors .circuit-map path#c2 {stroke: #004ece; stroke-width: 8px;}
.donington_park.config_gp .circuit-map #main {stroke-width: 0px;}
.donington_park.config_gp .circuit-map #c1 {stroke-width: 0px;}
.donington_park.config_national {--sector-width: 15px; --pit-width: 6px; --radar-num-gap: 6px; --outline-inactive: 5px; --outline-inactive-color: #000000; --outline-pit: 2.5px; --outline-pit-color: #000000;}
.donington_park.config_national .circuit-zoom.has-sectors .circuit-map path#c1 {stroke: #004ece; stroke-width: 8px;}
.donington_park.config_national .circuit-map #main {stroke-width: 0px;}
.donington_park.config_national .circuit-map #c2 {stroke-width: 0px;}
.knockhill {--sector-width: 12px; --pit-width: 6px; --radar-num-gap: 6px;}
.oulton_park.config_island {--sector-width: 12px; --pit-width: 4px; --radar-num-gap: 6px; --outline-inactive: 5px; --outline-inactive-color: #000000; --outline-pit: 2.5px; --outline-pit-color: #000000;}
.oulton_park.config_island .circuit-zoom.has-sectors .circuit-map path#c2 {stroke: #004ece; stroke-width: 8px;}
.oulton_park.config_island .circuit-map #main {stroke-width: 5px;}
.silverstone.config_national {--sector-width: 12px; --pit-width: 4px; --radar-num-gap: 6px; --outline-inactive: 5px; --outline-inactive-color: #000000; --outline-pit: 2.5px; --outline-pit-color: #000000;}
.silverstone.config_national .circuit-zoom.has-sectors .circuit-map path#c2 {stroke: #004ece; stroke-width: 6px;}
.silverstone.config_national .circuit-map #main {stroke-width: 0px;}
.snetterton.config_300 {--sector-width: 12px; --pit-width: 5px; --radar-num-gap: 6px; --outline-inactive: 5px; --outline-inactive-color: #000000; --outline-pit: 2.5px; --outline-pit-color: #000000;}
.snetterton.config_300 .circuit-zoom.has-sectors .circuit-map path#c2 {stroke: #004ece; stroke-width: 6px;}
.thruxton {--sector-width: 12px; --pit-width: 6px; --radar-num-gap: 6px;}

/* --- Circuit Sectors --- */
.circuit-sector{position:absolute;display:inline-flex;align-items:center;gap:.5em;padding:.3em .5em;border-radius:.4em;font-weight:700;font-size:1.36cqw;line-height:1;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:#000;background:var(--radar-sector);transform:translate(calc(-50% + var(--nx) * 50%),calc(-50% + var(--ny) * 50%));transition:background .25s ease,box-shadow .25s ease}
.circuit-sector em{font-style:normal}
.circuit-sector-stack em {text-align: center; line-height: 1.2}
.circuit-sector-fl{background:var(--radar-fl)}

.circuit-map svg { display: block; width: 100%; height: auto; }
.circuit-map path { fill: none; stroke-width: 3px; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.circuit-map #main { stroke: #de0000; }
.circuit-map #c1 { stroke: #de0000; }
.circuit-map #c2 { stroke: #004ece; }
.circuit-map #pit, .circuit-map #pit2 {stroke: #999999; stroke-width: var(--pit-width, 2px)}
.circuit-zoom.has-sectors .circuit-map path:not(#pit, #pit2) {stroke: none}
.circuit-map #fl{display:none}

/* ячейка и зум */
.circuit-cell{position:relative;width:100%;aspect-ratio:var(--ratio,1);overflow:hidden;isolation:isolate;container-type:inline-size}
.circuit-zoom{position:absolute;width:calc(100% * var(--zoom,1));aspect-ratio:1;left:calc(50% - 100% * var(--zoom,1) * var(--cx,.5));top:calc(50% - 100% * var(--zoom,1) * var(--cy,.5) * var(--ratio,1))}
.circuit-cell:not(.circuit-ready) .circuit-zoom{visibility:hidden}
.circuit-loader{position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px;z-index:5}
.circuit-cell:not(.circuit-ready)::before,.circuit-cell:not(.circuit-ready)::after{display:none}
.circuit-zoom>*{position:absolute}
/* поворот схемы: --rotate у конфигурации (минус = против часовой); скрипт кладет фон и схему в две обертки, чтобы цветная подложка осталась между ними */
.circuit-rot{left:0;top:0;width:100%;height:100%;transform:rotate(var(--rotate,0deg));transform-origin:calc(var(--cx,.5) * 100%) calc(var(--cy,.5) * 100%)}
.circuit-rot>*{position:absolute}
.circuit-rot-area{z-index:1}
.circuit-rot-map{z-index:3}

/* слои: местность, цветной слой, схема */
.circuit-area{left:0;top:0;width:100%;height:100%;z-index:1;filter:var(--area-filter,none)}
.circuit-cell::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--tint,transparent);mix-blend-mode:var(--blend,color);opacity:var(--tint-strength,1)}
.circuit-map{left:var(--map-left);top:var(--map-top);width:var(--map-width);height:auto;z-index:3}

/* --- Circuit Turn Number --- */
.circuit-turn-num{position:absolute;display:flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;border-radius:50%;font-weight:700;font-size:1.36cqw;line-height:1;color:var(--radar-num-text);background:var(--radar-num-bg);box-shadow:0 0 0 .16em var(--radar-num-edge);transform:translate(-50%,-50%);transition:color .25s ease,background .25s ease,box-shadow .25s ease}
.circuit-turn-num.circuit-turn-s1 {color: #fff; background: var(--sector-1)}
.circuit-turn-num.circuit-turn-s2 {color: #000; background: var(--sector-2)}
.circuit-turn-num.circuit-turn-s3 {color: #fff; background: var(--sector-3)}
.circuit-turn-num.circuit-turn-s4 {color: #000; background: var(--sector-4)}
.circuit-turn-num.circuit-turn-s5 {color: #fff; background: var(--sector-5)}
.circuit-turn-num.is-on {color: #000; background: #c6ed00; box-shadow: 0 0 0 .16em var(--radar-num-edge)}
.circuit-turn.is-active{color:#fff;background:#de0000;border-color:#de0000}
.circuit-turn.is-active b{background:#000}

/* --- Circuit Turn Name Color --- */
.circuit-turn-text.circuit-turn-s1 {fill: #1e90ff}
.circuit-turn-text.circuit-turn-s2 {fill: var(--sector-2)}
.circuit-turn-text.circuit-turn-s3 {fill: var(--sector-3)}
.circuit-turn-text.circuit-turn-s4 {fill: var(--sector-4)}

/* --- Circuit Radar --- */
.circuit-radar{left:var(--map-left);top:var(--map-top);width:var(--map-width);height:auto;z-index:4;pointer-events:none;overflow:visible}
.circuit-radar-top {z-index: 6}
.circuit-radar-path{fill:none;stroke:none}
.circuit-radar-mark{stroke:var(--radar-mark,#fff);stroke-width:calc(1px * var(--radar-k,1));stroke-linecap:butt}
.circuit-radar-check-a{fill:var(--radar-check-1)}
.circuit-radar-check-b{fill:var(--radar-check-2)}
.circuit-radar-arrow{fill:var(--radar-arrow-fill);stroke:var(--radar-arrow-edge);stroke-width:calc(.35px * var(--radar-k,1));stroke-linejoin:round}
.circuit-radar-trail{fill:var(--radar-color);opacity:calc(var(--radar-opacity) * (1 - var(--k)))}
.circuit-radar-dot{fill:var(--radar-dot-color);stroke:var(--radar-edge);stroke-width:calc(.9px * var(--radar-k,1));filter:drop-shadow(0 0 4px var(--radar-dot-color))}
.circuit-radar-ring{fill:none;stroke:var(--radar-dot-color);stroke-width:2.5px;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center;animation:circuit-radar-pulse 1.8s ease-out infinite}
.circuit-radar-ring+.circuit-radar-ring{animation-delay:.6s}
.circuit-radar-ring+.circuit-radar-ring+.circuit-radar-ring{animation-delay:1.2s}
@keyframes circuit-radar-pulse{from{transform:scale(1);opacity:.9}to{transform:scale(4);opacity:0}}

/* радар: подписи поворотов (шрифт, цвета и размер правятся здесь; размер шрифта в cqw от ширины ячейки, от зума не зависит) */
.circuit-turns{left:var(--map-left);top:var(--map-top);width:var(--map-width);z-index:5;pointer-events:none}
.circuit-turn{position:absolute;display:flex;align-items:center;justify-content:center;gap:.4em;padding:.4em .6em;border:1.5px solid var(--radar-turn-border);border-radius:.5em;font-weight:600;font-size:1.36cqw;line-height:1.05;letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.85);background:rgba(0,0,0,.55);transform:translate(calc(-50% + var(--sx,1) * 50%),-50%);transition:color .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
/* где стоят данные (передача, скорость, перегрузка) относительно названия: top, bottom, left, right; по умолчанию --radar-turn-info, скрипт сам берет другую сторону, если места нет */
.circuit-turn[data-info="right"]{flex-direction:row}
.circuit-turn[data-info="left"]{flex-direction:row-reverse}
.circuit-turn[data-info="bottom"]{flex-direction:column}
.circuit-turn[data-info="top"]{flex-direction:column-reverse}
.circuit-turn span{max-width:5.4em;text-align:center;text-wrap:balance}
.circuit-turn-info{display:flex;flex-direction:column;align-items:stretch;gap:.3em}
.circuit-turn b{display:inline-flex;align-items:center;gap:.4em;padding:.2em .45em;border-radius:.4em;font-weight:600;color:#fff;background:#004ece;transition:background .25s ease}
.circuit-turn b i{font-size:.95em}

/* радар: масштаб схемы под значком севера (отрезок и подпись создает скрипт) */
.circuit-scale{position:absolute;bottom:var(--north-offset);left:var(--ui-left,var(--north-offset));right:var(--ui-right,auto);z-index:6;display:flex;flex-direction:column;align-items:var(--ui-align,flex-start);gap:3px;pointer-events:none;color:var(--north-color);font-size:11px;font-weight:600;letter-spacing:.04em;text-shadow:0 0 4px rgba(0,0,0,.7)}
.circuit-scale-bar{display:block;height:6px;border:1.5px solid var(--north-color);border-top:0;filter:drop-shadow(0 0 3px rgba(0,0,0,.6))}

/* радар: значок севера в правом верхнем углу (картинка-маска; цвет, размер и поворот задаются переменными, --north = куда смотрит север, по часовой) */
.circuit-cell{
--radar-speed: 0.08;
--name-bg-color: #000; --name-bg-opacity: 1; --name-bg-pad: 3px;
--outline-inactive: 2px; --outline-inactive-color: #000; --outline-pit: 1.5px; --outline-pit-color: #000;

--radar-dot-smart: 1; --radar-dot-brake: #ff2a2a; --radar-dot-gas: #2bd64f; --radar-brake-before: 120; --radar-brake-after: 40;

--radar-color:#fff;--radar-edge:#fff;--radar-dot-color:#ff2a2a;--radar-turn-border:#004ece;--radar-dot:2.4px;--radar-tail:45px;--radar-opacity:.55;--radar-fl:#fff;--radar-sector:#ffd400;--sector-1:#004ECE;--sector-2:#FFE500;--sector-3:#ED0000;--sector-4:#15BD3F;--sector-5:#9B30FF;--radar-turn-gap:9px;--radar-turn-info:right;--radar-num-gap:3px;--radar-num-bg:#ffd400;--radar-num-edge:#000;--radar-num-text:#000;--radar-check:2.2px;--radar-check-len:1.25;--radar-check-rows:2;--radar-check-1:#fff;--radar-check-2:#000;--radar-arrow:4.5px;--radar-arrow-fill:#fff;--radar-arrow-edge:#000;--radar-turn-reach:14px;--north:0deg;--north-color:rgba(255,255,255,.85);--north-size:52px;--north-offset:14px}
.circuit-cell::before{content:"";position:absolute;bottom:calc(var(--north-offset) + 34px);left:var(--ui-left,var(--north-offset));right:var(--ui-right,auto);z-index:6;width:var(--north-size);aspect-ratio:1;pointer-events:none;background:var(--north-color);filter:drop-shadow(0 0 4px rgba(0,0,0,.6));transform:rotate(calc(var(--north, 0deg) + var(--rotate, 0deg)));-webkit-mask:url('/content/other/compass.svg') center / contain no-repeat;mask:url('/content/other/compass.svg') center / contain no-repeat}

/* --- Circuit Pit --- */
.circuit-pit-tag {position: absolute; display: flex; align-items: center; justify-content: center; width: 3em; height: 3em; box-sizing: border-box; border-radius: 50%; font-size: .9cqw; font-weight: 700; line-height: 1; color: #000; background: #fff; transform: translate(-50%,-50%); pointer-events: none}
.circuit-radar-pit-mark {stroke-width: calc(0.5px * var(--radar-k,1))}

/* новое добавление */
.circuit-sector-km{position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:.35em;font-size:.9em;font-weight:600;letter-spacing:.04em;text-transform:none;white-space:nowrap;pointer-events:none;color:var(--north-color);text-shadow:0 0 4px rgba(0,0,0,.7)}
.circuit-sector-up .circuit-sector-km{top:auto;bottom:100%;margin:0 0 .35em}
.circuit-turn-text {font-size: 1.2cqw; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; fill: currentColor; opacity: 1; filter: drop-shadow(0 0 3px rgba(0,0,0,.8)); transition: opacity .25s ease}
.circuit-panel {position: absolute; top: var(--north-offset); left: var(--north-offset); right: var(--north-offset); z-index: 6; display: flex; flex-wrap: nowrap; align-items: flex-start; gap: .5cqw; pointer-events: none}
.circuit-turn.circuit-turn-tab {position: relative; transform: none; flex: 1 1 0; min-width: 0; flex-direction: column; align-items: stretch; gap: .25em; padding: .32em; border: 0; border-radius: .3em; font-size: 1cqw; background: var(--radar-num-bg); box-shadow: inset 0 0 0 .1em rgba(0,0,0,.25); transition: background .25s ease, opacity .4s ease, box-shadow .25s ease}
.circuit-turn.circuit-turn-tab.circuit-turn-s1 {background: var(--sector-1)}
.circuit-turn.circuit-turn-tab.circuit-turn-s2 {background: var(--sector-2)}
.circuit-turn.circuit-turn-tab.circuit-turn-s3 {background: var(--sector-3)}
.circuit-turn.circuit-turn-tab.circuit-turn-s4 {background: var(--sector-4)}
.circuit-turn.circuit-turn-tab.circuit-turn-s5 {background: var(--sector-5)}
.circuit-turn.circuit-turn-tab.is-active {background: #c6ed00; box-shadow: inset 0 0 0 .1em rgba(0,0,0,.25)}
.circuit-turn.circuit-turn-tab.is-past {opacity: .35}
.circuit-turn.circuit-turn-tab b, .circuit-turn.circuit-turn-tab.is-active b {justify-content: center; padding: .3em; border-radius: .15em; font-weight: 700; color: #c6ed00; background: #000}
.circuit-turn-tab-n {padding: .15em .3em; border-radius: .15em; font-size: 1.5em; font-weight: 700; line-height: 1.1; text-align: center; letter-spacing: .08em; color: #c6ed00; background: #000}

/* цветные сектора схемы: рисует скрипт, только если у конфигурации задана --sector-width (толщина как у линии схемы) */
.circuit-sector-path { fill: none; stroke-width: var(--sector-width); stroke-linecap: butt; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.circuit-sector-path-1 { stroke: var(--sector-1); }
.circuit-sector-path-2 { stroke: var(--sector-2); }
.circuit-sector-path-3 { stroke: var(--sector-3); }
.circuit-sector-path-4 { stroke: var(--sector-4); }
.circuit-sector-path-5 { stroke: var(--sector-5); }



/* --- Circuit - Relief --- */
.circuit-relief {
--relief-tunnel-scale: 3; --relief-road-scale: 3; --relief-glass: .22; --relief-glass-width: 90; --relief-cut-length: 260; --relief-shaft-hidden: #ffffff; --relief-road-access: #d6e4ff;
 --relief-exag: 3; --relief-wall: 8; --relief-sign: 1; --relief-low: #004ece; --relief-high: #de0000; --relief-surface: #1f3d78; --relief-grid: #7fb5ff;
 --relief-far: 2.25; --relief-near: 0.45; --relief-tilt: 80; --relief-rotate: 0deg; --relief-start-tilt: 48.7; --relief-fov: 40; --relief-fit: .72; --relief-damping: .08; --relief-ambient: .55; --relief-sun: .9; --relief-sun-azimuth: -140; --relief-sun-elevation: 27; --relief-sector: #ffd400; --relief-finish: #fff; --relief-post: #d8dde6; --relief-spin: 60;
 --relief-pit: #f1efe6; --relief-pit-text: #111; --relief-pit-size: 1.5; --relief-road: #6f86ad; --relief-pitlane: #b9c8e4; --relief-gravel: #d9c58b; --relief-pit-in: #ffd400; --relief-pit-out: #2ecc71;
 --relief-sector-size: 2.25; --relief-finish-size: 2.25; --relief-finish-text: #ffffff; --relief-finish-shift: 0; --relief-finish-gap: 0; --relief-finish-side: 0; --relief-chequer-light: #ffffff; --relief-chequer-dark: #111111; --relief-finish-line: #ffffff; --relief-arrow: #ffffff;
 position: relative; width: 100%; height: 700px; overflow: hidden; container-type: inline-size; background: #0b1730; }
.circuit-relief canvas { display: block; width: 100%; height: 100%; cursor: grab; }
.circuit-relief canvas:active { cursor: grabbing; }
.circuit-relief .circuit-sector { font-size: 1.1cqw; transform: translate(-50%, -100%); background: #ffd400; }
.circuit-relief .circuit-sector-fl { background: #fff; }
.circuit-relief-legend { position: absolute; right: 14px; bottom: 58px; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: 11px; font-weight: 600; color: rgba(255, 255, 255, .85); text-shadow: 0 0 4px rgba(0, 0, 0, .7); }
.circuit-relief-legend > i { display: block; width: 8px; height: 96px; border-radius: 4px; background: linear-gradient(0deg, var(--relief-low), var(--relief-high)); }
.circuit-relief-legend > small { font-size: 11px; letter-spacing: .04em; }
.circuit-relief-legend > .circuit-relief-exag { margin-top: 6px; font-size: 10px; font-weight: 600; letter-spacing: .03em; opacity: .7; }
.circuit-relief-info { position: absolute; left: 14px; bottom: 12px; font-size: 11px; font-weight: 600; color: rgba(255, 255, 255, .7); text-shadow: 0 0 4px rgba(0, 0, 0, .7); }
.circuit-relief-scale { width: 88px; margin-top: 8px; font-size: 11px; font-weight: 600; }
.circuit-relief-scale-top { display: flex; justify-content: space-between; align-items: baseline; font-size: 11px; font-weight: 700; }
.circuit-relief-scale i { display: block; height: 7px; margin: 3px 1px 4px; border: 2px solid var(--relief-grid, #7fb5ff); border-top: 0; }
.circuit-relief-spin { position: absolute; right: 14px; bottom: 14px; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; background: rgba(11, 23, 48, .65); color: rgba(255, 255, 255, .85); cursor: pointer; transition: background .2s, color .2s; }
.circuit-relief-spin:hover { background: rgba(11, 23, 48, .9); color: #fff; }
.circuit-relief-spin.on { background: var(--relief-high); border-color: var(--relief-high); color: #fff; }
 
/* --- Relief - Zoom --- */
.circuit-relief[data-config="brands_hatch_grand_prix"] { --relief-zoom: 1.15; --relief-rotate: 0deg; }
.circuit-relief[data-config="brands_hatch_indy"] { --relief-zoom: 1.0; --relief-rotate: 0deg; }
.circuit-relief[data-config="croft"] { --relief-zoom: 1.15; --relief-rotate: 0deg; }
.circuit-relief[data-config="donington_park_grand_prix"] { --relief-zoom: 1.15; --relief-rotate: 0deg; }
.circuit-relief[data-config="donington_park_national"] { --relief-zoom: 1.15; --relief-rotate: 0deg; }
.circuit-relief[data-config="knockhill"] { --relief-zoom: 1.15; --relief-rotate: 0deg; }
.circuit-relief[data-config="oulton_park_island"] { --relief-zoom: 1.0; --relief-rotate: 0deg; }
.circuit-relief[data-config="silverstone_national"] { --relief-zoom: 1.0; --relief-rotate: 0deg; }
.circuit-relief[data-config="snetterton_300"] { --relief-zoom: 1.15; --relief-rotate: 0deg; }
.circuit-relief[data-config="thruxton"] { --relief-zoom: 1.15; --relief-rotate: 0deg; }
.circuit-relief[data-config="catesby_tunnel"] { --relief-zoom: 1.0; --relief-rotate: 0deg; }
 
/* --- Relief - Start/Finish --- */
.circuit-relief[data-config="brands_hatch_grand_prix"] {--relief-finish-side: 1;}
.circuit-relief[data-config="brands_hatch_indy"] {--relief-finish-side: 1;}
.circuit-relief[data-config="croft"] {--relief-finish-side: -1; --relief-finish-gap: 1; --relief-finish-shift: -40;}
.circuit-relief[data-config="donington_park_grand_prix"] {--relief-finish-side: 1; --relief-finish-shift: 60;}
.circuit-relief[data-config="donington_park_national"] {--relief-finish-side: 1; --relief-finish-shift: 60;}
.circuit-relief[data-config="knockhill"] {--relief-finish-side: -1; --relief-finish-shift: 60;}
.circuit-relief[data-config="oulton_park_island"] {--relief-finish-side: 1; --relief-finish-shift: 90;}
.circuit-relief[data-config="silverstone_national"] {--relief-finish-side: 1; --relief-finish-gap: -10;}
.circuit-relief[data-config="snetterton_300"] {--relief-finish-side: -1; --relief-finish-shift: 30;}
.circuit-relief[data-config="thruxton"] {--relief-finish-side: -1; --relief-finish-shift: 0;}



























/* --- TV Broadcast Graphics Legend --- */
.sector {display: inline-flex; align-items: center;}
.sector::before {content: ''; display: inline-block; width: 5px; height: 1.4em; border-radius: 2.5px;}
.pace1::before {background: #4f4f4f;}
.pace2::before {background: #e1dfdb;}
.pace3::before {background: #ebc806;}
.pace4::before {background: #03c808;}
.pace5::before {background: #b109f8;}
.tire-badge {display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; font-weight: 700; box-sizing: border-box;}
.tire-badge.tire-s {border: 3px solid #dcdcdc; color: #dcdcdc; box-shadow: 0 0 2px rgba(220, 220, 220, 0.6);}
.tire-badge.tire-m {border: 3px solid #ffd700; color: #ffd700; box-shadow: 0 0 2px rgba(255, 215, 0, 0.6);}
.tire-badge.tire-w {border: 3px solid #5691df; color: #5691df; box-shadow: 0 0 2px rgba(30, 144, 255, 0.6);}
.tire-badge.tire-h {border: 3px solid #ea0000; color: #ea0000; box-shadow: 0 0 2px rgba(50, 205, 50, 0.6);}
.warning-badge {display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 22px; background-color: #d32f2f; font-weight: 700; font-size: 17px;}
.logo-ttb {display: inline-block; vertical-align: middle; width: 18px; height: 22px; background-color: currentColor; -webkit-mask: url('/content/other/ttb.svg') no-repeat center / contain; mask: url('/content/other/ttb.svg') no-repeat center / contain;}
.logo-ttb.grey {color: #888888;}
.logo-ttb.green {color: #32cd32;}
.logo-ttb-img {display: inline-block; vertical-align: middle; width: auto; height: 22px;}
.stop-badge {display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 28px; background-color: #900; box-sizing: border-box; vertical-align: middle; user-select: none;}
.stop-badge-circle {display: flex; align-items: center; justify-content: center; width: 23px; height: 23px; border: 2px solid #dcdcdc; border-radius: 50%; box-sizing: border-box;}
.stop-badge-circle::after {content: ""; display: block; width: 11px; height: 3px; background-color: #dcdcdc; margin-top: px;}












/* --- News Carousel --- */
.ncarousel { position: relative; width: 517px; height: 291px; overflow: hidden; user-select: none; background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0px 4px; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6); }
.ncarousel-track { position: relative; width: 100%; height: 100%; }

/* --- News Carousel Слайд --- */
.ncarousel-slide { display: block; position: absolute; inset: 0; text-decoration: none; opacity: 0; transition: opacity 0.6s ease; pointer-events: none; }
.ncarousel-slide.active { opacity: 1; pointer-events: auto; }
.ncarousel-bg { width: 100%; height: 100%; object-fit: cover; display: block; }

/* --- News Carousel Оверлей --- */
.ncarousel-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.45) 40%, transparent 70%); display: flex; flex-direction: column; justify-content: flex-start; padding: 3px 16px; box-sizing: border-box; pointer-events: none; }

/* --- News Carousel Верхний блок: лого + инфо --- */
.ncarousel-top { display: flex; flex-direction: row; align-items: flex-start; gap: 16px; }
.ncarousel-logo { width: 60px; height: 60px; object-fit: contain; flex-shrink: 0; align-self: center; }
.ncarousel-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

/* --- News Carousel Заголовок --- */
.ncarousel-title { font-size: 15pt; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ncarousel-slash { color: #1e90ff; }

/* --- News Carousel Мета --- */
.ncarousel-meta { display: flex; align-items: center; gap: 10px; }
.ncarousel-source { font-size: 9pt; color: #1e90ff; }
.ncarousel-date { font-size: 9pt; color: #1e90ff; }

/* --- News Carousel Стрелки --- */
.ncarousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: rgba(220,220,220,0.5); font-size: 28px; padding: 0; transition: color 0.2s ease; z-index: 10; }
.ncarousel-arrow:hover { color: #dcdcdc; }
.ncarousel-arrow-left  { left: 16px; }
.ncarousel-arrow-right { right: 16px; }

/* --- News Carousel Индикаторы --- */
.ncarousel-dots { position: absolute; bottom: 9px; left: 0; right: 0; display: flex; justify-content: center; align-items: center; gap: 16px; }
.ncarousel-dot { width: 18px; height: 18px; border: none; background: linear-gradient(-45deg, #000080, #1e90ff); cursor: pointer; padding: 0; transition: background 0.3s ease, width 0.3s ease, height 0.3s ease; }
.ncarousel-dot.active { width: 22px; height: 22px; background: linear-gradient(-45deg, #8b0000, #ff0000); }

/* --- News Carousel Пусто --- */
.ncarousel-empty { width: 517px; height: 291px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.3); }

/* --- News Column --- */
.rss-widget {position: relative; width: 517px; height: 354px; overflow-y: auto; scrollbar-width: thin; background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0 4px; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6);}
.rss-item {display: flex; align-items: flex-start; gap: 9px; padding: 9px 9px 9px 9px;}
.rss-body {flex: 1;}

/* --- News Column Lines --- */
.rss-list {margin: 0; padding: 0; list-style: none;}
.rss-item:nth-child(odd) {background: rgba(0, 0, 0, 0.31);}
.rss-item:nth-child(even) {background: transparent;}

/* --- News Column Logo --- */
.rss-logo {width: 40px; height: 40px; object-fit: contain; object-position: top center; flex-shrink: 0; align-self: flex-start; margin-top: 3px;}
.rss-thumb {width: 107px; height: 60px; object-fit: cover; flex-shrink: 0; align-self: center; border-radius: 0px;}

/* --- News Column Date --- */
.rss-meta {font-size: 9pt; color: #1e90ff; display: flex;}
.rss-today {color: #ea0000; font-weight: 700;}
.rss-yesterday {color: #e6c800; font-weight: 700;}
.rss-title { }
.rss-slash {color: #1e90ff;}
.rss-status {padding: 9px;}
.rss-status-center {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 0; background: transparent;}

/* --- News Articles List --- */
.articles-list {display: flex; flex-direction: column; gap: 10px;}
.articles-item {padding: 8px 0; border-bottom: 1px solid var(--border-color, #ddd);}
.articles-title {margin-bottom: 3px;}
.articles-meta {font-size: 0.85em; opacity: 0.7;}



/* --- News List --- */
.news-list-item {font-size: 12.5pt; font-weight: normal; line-height: 1.35; margin-top: 9px; margin-bottom: 6px;}
.news-list-item:first-child {margin-top: 0;}
.news-error {font-size: 12pt; color: #888; padding: 20px; text-align: center;}

/* --- News Theme --- */
	.pc[data-theme="day"] {background: url('/style/design/bg/page_02.png') repeat-y center; color: #1a1a1a;}
	.pc[data-theme="day"] h1,
	.pc[data-theme="day"] h2,
	.pc[data-theme="day"] h3 {color: #1a1a1a;}
	.pc[data-theme="day"] a:link,
	.pc[data-theme="day"] a:visited {color: #0a4fb0;}
	.pc[data-theme="day"] a:hover,
	.pc[data-theme="day"] a:active {color: #c40000;}
	.pc[data-theme="day"] .lblue {color: #0a4fb0;}

#article-title-text { min-width: 0; }

/* --- News Data --- */
.news-divider {width: 2px; background: #dcdcdc; align-self: stretch;}
.news-date {color: #1e90ff;}
.news-source {color: #1e90ff;}
.news-views {color:; }
.news-label {color: #1e90ff;}

/* --- News Data - Theme --- */
	.pc[data-theme="day"] .news-date,
	.pc[data-theme="day"] .news-source,
	.pc[data-theme="day"] .news-label {color: #0a4fb0;}
	.pc[data-theme="day"] .news-divider {background: rgba(0, 0, 0, 0.2);}
	.pc[data-theme="day"] .rss-yesterday {color: #9a7600;}

/* --- News Full Text --- */
.article-body {font-size: 12.5pt; font-weight: normal; line-height: 1.35; margin-top: 17px; margin-bottom: 0px;}
.article-body p {margin: 0 0 16px 0;}
.article-body p + p {margin-top: 0;}
.article-body .news-quote + p {margin-top: 0;}
.article-body p + .news-quote {margin-top: 16px;}
.article-body p:empty, .article-body p:blank {display: none;}
.article-body p:has(> br:only-child), .article-body p:-moz-only-whitespace {display: none;}
.article-body p:last-child {margin-bottom: 0;}

/* --- News Quotes --- */
.news-quote { position: relative; margin: 16px 0 16px 32px; padding: 8px 14px 8px 18px; background: rgba(30, 144, 255, 0.07); color: #c8d8f0; font-style: italic; }
.news-quote::before { content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: #1e90ff; z-index: 1; }
.news-quote::after { content: ""; position: absolute; top: 0; left: -28px; width: 32px; height: 100%; background: linear-gradient(to right, rgba(30, 144, 255, 0) 0%, rgba(30, 144, 255, 0.18) 55%, rgba(30, 144, 255, 0.6) 100%); pointer-events: none; z-index: 0; }

/* --- News Quotes - Theme --- */
	.pc[data-theme="day"] .news-quote {background: rgba(30, 144, 255, 0.08); color: #1a2f4a;}

/* --- News Photo --- */
.news-thumb {position: relative; z-index: 2; margin-bottom: 14px; filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.9)); background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0px 4px;}
.news-thumb img {width: 540px; height: 304px; object-fit: cover; display: block;}
.news-thumb::before {content: "BTCC-eSports.com"; position: absolute; top: 9px; right: 9px; z-index: 1; font-size: 22px; font-weight: 700; color: rgba(220, 220, 220, 0.65); pointer-events: none;}
.news-thumb::after {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6); pointer-events: none;}
.news-thumb-float {float: left; margin: 16px 16px 12px 0;}
.news-thumb-float.news-thumb {margin-bottom: 0;}
.news-clear {clear: both;}



/* --- News Search Large --- */
.search-form {display: flex; align-items: center; gap: 16px; max-width: 100%; margin-top: 20px; margin-bottom: 20px;}
.search-form input[type="text"] {flex: 1; height: 40px; padding: 0 9px; background: rgba(0, 0, 0, 0.35) !important; border: none; outline: none; color: #dcdcdc !important; caret-color: #1e90ff; transition: background-color 0.15s ease-in-out;}
.search-form input[type="text"]::placeholder {color: rgba(220,220,220,0.5);}
.search-form input[type="text"]:hover, 
.search-form input[type="text"]:focus, 
.search-form input[type="text"]:active,
.search-form input[type="text"]:not(:placeholder-shown) {background: rgba(0, 0, 0, 0.55) !important; color: #dcdcdc !important;}
.search-form input[type="text"]:-webkit-autofill,
.search-form input[type="text"]:-webkit-autofill:hover, 
.search-form input[type="text"]:-webkit-autofill:focus,
.search-form input[type="text"]:-webkit-autofill:active {transition: background-color 5000000s ease-in-out 0s, color 5000000s ease-in-out 0s; -webkit-text-fill-color: #dcdcdc !important; background: rgba(0, 0, 0, 0.55) !important; box-shadow: none !important; color: #dcdcdc !important;}
.search-form button {height: 40px; color: #dcdcdc; background: #033e8c; padding: 0 25px 0 65px; border: none; cursor: pointer; position: relative; font-weight: 700; text-transform: uppercase;}
.search-form button::before {width: 40px; height: 100%; color: #dcdcdc; background: #b20000; left: 0; top: 0; position: absolute; display: flex; align-items: center; justify-content: center; content: "\f002"; font-family: "Font Awesome 6 Free";}
.search-form button:hover {background:;}
.search-form button:active {background:;}

/* --- News Search Large - Theme --- */
	.pc[data-theme="day"] .search-form input[type="text"] { background: rgba(0, 0, 0, 0.06) !important; color: #1a1a1a !important; }
	.pc[data-theme="day"] .search-form input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.4); }
	.pc[data-theme="day"] .search-form input[type="text"]:hover,
	.pc[data-theme="day"] .search-form input[type="text"]:focus,
	.pc[data-theme="day"] .search-form input[type="text"]:active,
	.pc[data-theme="day"] .search-form input[type="text"]:not(:placeholder-shown) { background: rgba(0, 0, 0, 0.1) !important; color: #1a1a1a !important; }

/* --- News Search Mini --- */
.search-form-mini {display: inline-flex; align-items: center; gap: 6px; vertical-align: middle;}
.search-form-mini input[type="text"] {height: 22px; width: 360px; padding: 0 8px; background: rgba(0, 0, 0, 0.35) !important; border: none; outline: none; color: #dcdcdc !important; font-size: 12px; caret-color: #1e90ff; transition: background-color 0.15s ease-in-out;}
.search-form-mini input[type="text"]::placeholder {color: rgba(220,220,220,0.5);}
.search-form-mini input[type="text"]:hover,
.search-form-mini input[type="text"]:focus,
.search-form-mini input[type="text"]:active,
.search-form-mini input[type="text"]:not(:placeholder-shown) {background: rgba(0, 0, 0, 0.55) !important; color: #dcdcdc !important;}
.search-form-mini button {width: 26px; height: 26px; flex-shrink: 0; color: #dcdcdc; background: #b20000; border: none; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 11px;}
.search-form-mini button::before {content: "\f002"; font-family: "Font Awesome 6 Free"; font-weight: 900;}
.search-form-mini button:hover {background: #033e8c;}

/* --- News Search Mini - Theme --- */
	.pc[data-theme="day"] .search-form-mini input[type="text"] { background: rgba(0, 0, 0, 0.06); color: #1a1a1a; }
	.pc[data-theme="day"] .search-form-mini input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.4); }
	.pc[data-theme="day"] .search-form-mini input[type="text"]:hover,
	.pc[data-theme="day"] .search-form-mini input[type="text"]:focus,
	.pc[data-theme="day"] .search-form-mini input[type="text"]:active,
	.pc[data-theme="day"] .search-form-mini input[type="text"]:not(:placeholder-shown) { background: rgba(0, 0, 0, 0.1); color: #1a1a1a; }

/* --- News Theme Button --- */
.theme-toggle-wrap { float: right; margin: 2px 0 10px 12px; }
.theme-toggle-btn { width: 34px; height: 34px; border: 1px solid rgb(73, 73, 73); border-radius: 50%; background: rgba(0, 0, 0, 0.35); color: #dcdcdc; cursor: pointer; font-size: 15px; line-height: 1; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.theme-toggle-btn:hover { background: rgba(0, 0, 0, 0.55); }
.page-header-row { position: relative; }
.page-header-row .theme-toggle-wrap,
.page-header-row .lang-toggle-wrap { position: absolute; top: 50%; transform: translateY(-50%); float: none; margin: 0; z-index: 2; }
.page-header-row .theme-toggle-wrap { right: 0; }
.page-header-row .lang-toggle-wrap { right: 46px; }
.page-header-row h1 { padding-right: 140px; }

/* --- News Theme Button - Theme --- */
	.pc[data-theme="day"] .theme-toggle-btn { background: rgba(0, 0, 0, 0.06); color: #1a1a1a; border-color: rgba(0, 0, 0, 0.25); }
	.pc[data-theme="day"] .theme-toggle-btn:hover { background: rgba(0, 0, 0, 0.12); }

/* --- News Original Text Button --- */
.lang-toggle-wrap {float: right; margin: 2px 12px 10px 0; display: flex; gap: 8px;}
.lang-flag-btn {display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(0, 0, 0, 0.35); overflow: hidden; opacity: 0.4; text-decoration: none; transition: opacity 0.2s ease, background-color 0.2s ease;}
.lang-flag-btn .fi {width: 22px; height: 22px; border-radius: 50%; background-size: cover; background-position: center;}
.lang-flag-btn.active {opacity: 1; background: rgba(0, 0, 0, 0.55);}
.lang-flag-btn:hover {opacity: 0.75;}
.lang-flag-btn.active:hover {opacity: 1; cursor: default;}
.lang-flag-btn .fi::before {content: none;}

/* --- News Original Text Button - Theme --- */
	.pc[data-theme="day"] .lang-flag-btn {background: rgba(0, 0, 0, 0.08);}
	.pc[data-theme="day"] .lang-flag-btn.active {background: rgba(0, 0, 0, 0.18);}

/* --- News Share Button --- */
.news-share {display: flex; align-items: center; gap: 10px; margin-top: 9px; padding-top: 16px; border-top: none; position: relative;}
.news-share::before {content: ""; display: block; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(to right, rgba(30,144,255,0) 0%, #1e90ff 15.7%, #0d5fb3 84.3%, rgba(30,144,255,0) 100%);}
.news-share-label {color: rgba(220, 220, 220, 0.65); font-size: 14px; margin-right: 2px;}
.news-share-btn {display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,0.06); border: 1px solid rgba(220,220,220,0.3); color: rgba(220,220,220,0.85); font-size: 16px; text-decoration: none; transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.15s;}
.news-share-btn:link,
.news-share-btn:visited {text-decoration: none; color: rgba(220,220,220,0.85);}
.news-share-btn:hover {transform: translateY(-2px); border-color: transparent; color: #fff;}
.news-share-tg:hover {background: #26A5E4;}
.news-share-vk:hover {background: #0077FF;}
.news-share-fb:hover {background: #1877F2;}
.news-share-x:hover {background: #000000; border-color: rgba(255,255,255,0.3);}
.news-share-wa:hover {background: #25D366;}
.news-share-ds:hover {background: #5865F2;}
.news-share-cl:hover {background: #1e90ff;}
.news-share-toast {position: fixed; bottom: 30px; right: 30px; background: #1e1e24; color: #fff; border: 1px solid #1e90ff; padding: 12px 20px; border-radius: 8px; font-size: 14px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5); display: flex; align-items: center; gap: 10px; z-index: 9999; opacity: 0; transform: translateY(20px); transition: opacity 0.3s ease, transform 0.3s ease;}
.news-share-toast i {color: #1e90ff; font-size: 18px;}
.news-share-toast-ds {border-color: #5865F2;}
.news-share-toast-ds i {color: #5865F2;}
.news-share-toast.show {opacity: 1; transform: translateY(0);}

/* --- News Share Button - Theme --- */
	.pc[data-theme="day"] .news-share-btn:link,
	.pc[data-theme="day"] .news-share-btn:visited {color: #1a1a1a;}
	.pc[data-theme="day"] .news-share-btn:hover {border-color: transparent; color: #dcdcdc;}
	.pc[data-theme="day"] .news-share-btn {background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 0, 0, 0.25);}
	.pc[data-theme="day"] .news-share-label {color: rgba(0, 0, 0, 0.55);}
	.pc[data-theme="day"] .news-share-tg:hover {background: #26A5E4;}
	.pc[data-theme="day"] .news-share-vk:hover {background: #0077FF;}
	.pc[data-theme="day"] .news-share-fb:hover {background: #1877F2;}
	.pc[data-theme="day"] .news-share-x:hover {background: #000000;}
	.pc[data-theme="day"] .news-share-wa:hover {background: #25D366;}
	.pc[data-theme="day"] .news-share-ds:hover {background: #5865F2;}
	.pc[data-theme="day"] .news-share-cl:hover {background: #1a1a1a;}

/* --- News Menu - Theme --- */
	.pc[data-theme="day"] .wmenu-logo {filter: brightness(0);}
	.pc[data-theme="day"] .wmenu-logo:hover {filter: brightness(0) drop-shadow(0 6px 8px rgba(0, 0, 0, 0.35));}
	.pc[data-theme="day"] .logobtcc3,
	.pc[data-theme="day"] .logotouringcartimes3,
	.pc[data-theme="day"] .logoautosport3,
	.pc[data-theme="day"] .logotouringcars3 {filter: brightness(0);}
	.pc[data-theme="day"] .logobtcc3:hover,
	.pc[data-theme="day"] .logobtcc3.active {filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, 0.9));}
	.pc[data-theme="day"] .logotouringcartimes3:hover,
	.pc[data-theme="day"] .logotouringcartimes3.active {filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, 0.9));}
	.pc[data-theme="day"] .logoautosport3:hover,
	.pc[data-theme="day"] .logoautosport3.active {filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, 0.9));}
	.pc[data-theme="day"] .logotouringcars3:hover,
	.pc[data-theme="day"] .logotouringcars3.active {filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, 0.9));}




/* --- Photo Gallery 12 --- */
.pgallery-12-grid { display: grid; grid-template-columns: repeat(4, 245px); grid-template-rows: repeat(3, 245px); gap: 1px; width: 983px; height: 737px; }
.pgallery-12-grid a { display: block; text-decoration: none; width: 100%; height: 100%; position: relative; overflow: hidden; }
.pgallery-12-grid a::after { content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.85); transition: box-shadow 0.25s ease; pointer-events: none; }
.pgallery-12-grid a:hover::after { box-shadow: inset 0 0 0px rgba(0,0,0,0); }
.pgallery-12-grid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.25s ease, filter 0.25s ease; filter: blur(0.3px); }
.pgallery-12-grid img.pgallery-crop-top { object-position: center top; }
.pgallery-12-grid img:hover { transform: scale(1.08) rotate(1.5deg); filter: blur(0px); }

/* --- Photo Gallery 12: fill layouts by photo count (no empty cells) --- */
.pgallery-12-grid-1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.pgallery-12-grid-2 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
.pgallery-12-grid-3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.pgallery-12-grid-3 a:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.pgallery-12-grid-3 a:nth-child(2) { grid-column: 2; grid-row: 1; }
.pgallery-12-grid-3 a:nth-child(3) { grid-column: 2; grid-row: 2; }
.pgallery-12-grid-4 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.pgallery-12-grid-5 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; }
.pgallery-12-grid-5 a:nth-child(1) { grid-column: 1 / 3; grid-row: 1; }
.pgallery-12-grid-5 a:nth-child(2) { grid-column: 1; grid-row: 2; }
.pgallery-12-grid-5 a:nth-child(3) { grid-column: 2; grid-row: 2; }
.pgallery-12-grid-5 a:nth-child(4) { grid-column: 1; grid-row: 3; }
.pgallery-12-grid-5 a:nth-child(5) { grid-column: 2; grid-row: 3; }
.pgallery-12-grid-6 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.pgallery-12-grid-7 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; }
.pgallery-12-grid-7 a:nth-child(1) { grid-column: 1 / 4; grid-row: 1; }
.pgallery-12-grid-8 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; }
.pgallery-12-grid-8 a:nth-child(8) { grid-column: 3; grid-row: 2 / 4; }
.pgallery-12-grid-9 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; }
.pgallery-12-grid-10 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr 1fr; }
.pgallery-12-grid-10 a:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.pgallery-12-grid-10 a:nth-child(10) { grid-column: 3; grid-row: 3 / 5; }
.pgallery-12-grid-11 { grid-template-columns: 1fr 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; }
.pgallery-12-grid-11 a:nth-child(1) { grid-column: 1 / 3; grid-row: 1; }
.pgallery-12-grid-12 { grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(3, 1fr); }

/* --- Photo Gallery 9 --- */
.pgallery-9-cell { float: right; width: 425px; height: 425px; margin: 7px 0 10px 16px; position: relative; z-index: 999; }
.pgallery-9-grid { display: grid; grid-template-columns: repeat(3, 141px); grid-template-rows: repeat(3, 141px); gap: 1px; }
.pgallery-9-grid a { display: contents; }
.pgallery-9-grid img { width: 141px; height: 141px; object-fit: cover; display: block; cursor: pointer; transition: transform 0.3s ease; }
.pgallery-9-grid img:hover { transform: scale(1.5); }

/* --- Photo Gallery Best Moments --- */
.pgallery-bm-cell { display: grid; grid-template-columns: 171px 173px 171px; grid-template-rows: 171px 171px 171px; gap: 1px; width: 517px; height: 515px; justify-content: center; overflow: visible; background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0px 4px; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6); }
.pgallery-bm-item { width: 100%; height: 100%; background-size: cover; background-position: center; cursor: pointer; position: relative; overflow: hidden; filter: blur(0.5px); box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5); transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease; will-change: transform; }
.pgallery-bm-item:hover { transform: scale(1.15) rotate(5deg); filter: blur(0px); box-shadow: none; z-index: 10; overflow: visible; }
.pgallery-bm-item:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; height: 343px; }
.pgallery-bm-item:nth-child(2) { grid-column: 2; grid-row: 1; }
.pgallery-bm-item:nth-child(3) { grid-column: 3; grid-row: 1; }
.pgallery-bm-item:nth-child(4) { grid-column: 2; grid-row: 2; }
.pgallery-bm-item:nth-child(5) { grid-column: 3; grid-row: 2 / span 2; height: 343px; }
.pgallery-bm-item:nth-child(6) { grid-column: 1; grid-row: 3; }
.pgallery-bm-item:nth-child(7) { grid-column: 2; grid-row: 3; }




/* --- Photo Gallery - Google Drive --- */
.pgallery-gdrive-cell {width: 100%; height: 100%; margin: 0; padding: 0}
.pgallery-gdrive-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px}
.pgallery-gdrive-item {display: block; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; cursor: pointer; position: relative}
.pgallery-gdrive-thumb {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease}
.pgallery-gdrive-thumb:hover {transform: scale(1.05)}
.pgallery-gdrive-empty {color: rgba(150, 170, 200, 0.4); font-size: 13px; padding: 10px 0}

/* --- Photo Gallery - Google Drive - Page Number --- */
.pgallery-gdrive-pages a {padding: 0 4px; transition: all 0.15s}
.pgallery-gdrive-pages a:hover {text-decoration: none}
.pgallery-gdrive-pages a.pgallery-gdrive-page-active {text-decoration: none; cursor: default; pointer-events: none}
.pgallery-gdrive-pages a:first-child {padding-left: 0}
.pgallery-gdrive-count {opacity: 0.6}

/* --- Photo Gallery - Google Drive - New --- */
.pgallery-gdrive-new-badge {position: absolute; top: 4px; right: 4px; background: #c00; color: #fff; font-size: 10px; font-weight: bold; padding: 2px 6px; border-radius: 3px; pointer-events: none; line-height: 1.4; z-index: 2}
.pgallery-gdrive-new-item a {display: block; position: relative; text-decoration: none}
.pgallery-gdrive-new-label {position: absolute; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.55); color: #fff; font-size: 11px; padding: 4px 6px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis}

.pgallery-gdrive-pile-grid {display: grid; grid-template-columns: repeat(4, 238px); justify-content: center; gap: 14px 6px; padding: 14px 0 10px; box-sizing: border-box; width: 100%}
.pgallery-gdrive-pile {display: block; position: relative; cursor: pointer; text-align: center; color: inherit; text-decoration: none}
.pgallery-gdrive-pile:hover {z-index: 3; color: inherit; text-decoration: none}
.pgallery-gdrive-pile-stack {position: relative}
.pgallery-gdrive-pile-spacer {display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; visibility: hidden}
.pgallery-gdrive-pile-photo {position: absolute; left: 0; top: 0; width: 66%; aspect-ratio: 3 / 2; object-fit: cover; box-sizing: border-box; border: 4px solid #f2f2f2; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.55); transform: translate(calc(var(--tx) * 1%), calc(var(--ty) * 1%)) rotate(var(--rot)); transition: transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.5s ease; will-change: transform; backface-visibility: hidden}
.pgallery-gdrive-pile-leave {transform: translate(calc(var(--tx) * 1% + 125% * var(--dir)), calc(var(--ty) * 1% - 15%)) rotate(calc(10deg * var(--dir))); transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s ease}
.pgallery-gdrive-pile:hover .pgallery-gdrive-pile-photo {box-shadow: 0 6px 16px rgba(0, 0, 0, 0.7)}
.pgallery-gdrive-pile-label {display: block; margin-top: 16px; font-size: 12px; line-height: 1.3}
.pgallery-gdrive-pile-more {display: block; font-size: 11px; opacity: 0.7}
.pgallery-gdrive-pile-grid a.pgallery-gdrive-pile, .pgallery-gdrive-pile-grid a.pgallery-gdrive-pile:hover {text-decoration: none; border-bottom: none}
.pgallery-gdrive-pile-label, .pgallery-gdrive-pile-more {text-decoration: none}




/* --- Photo Gallery - Event - Page Number --- */
.pgallery-pages { gap: 9px; transition: all 0.15s; }
.pgallery-page { }
.pgallery-page-active { pointer-events: none; text-decoration: none !important; }
.pgallery-page:hover { }

/* --- Photo Gallery - Event - Name --- */
.pgallery-event-link {position: relative; display: block; overflow: hidden;}
.pgallery-event-author {position: absolute; right: 0px; bottom: 5px; padding: 2px 7px; background: rgba(0, 0, 0, 0.6); color:; font-size: 12px; line-height: 1.4; border-radius:; white-space: nowrap; max-width: calc(100% - 12px); overflow: hidden; text-overflow: ellipsis; pointer-events: none;}

/* --- Photo Gallery - Event - Update --- */
.gallery-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 10px; font-size:; color:; }
.gallery-meta strong { color:; }
.gallery-meta-sep { color:; }
.celltop .pgallery-pages { display: inline-flex; margin: 0; vertical-align: middle; }
.cellbottom .pgallery-pages { display: inline-flex; margin: 0; vertical-align: middle; }

/* --- Photo Gallery - Event - Grid --- */
.pgallery-event-cell { width: 100%; height: 100%; margin: 0; padding: 0; }
.pgallery-event-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; }
.pgallery-event-link { display: block; text-decoration: none; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; }
.pgallery-event-thumb { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
.pgallery-event-thumb:hover { transform: scale(1.05); }
.pgallery-event-empty { padding: 10px 0; }








/* --- Replays - Season --- */
/* Виджет «Повторы квалификаций и гонок» /widget/replays/season/ (встраивается в общий стиль, ссылку <link> не добавлять). Цвет шрифта не задается: его назначает общий стиль сайта */
.replays { width: 100%; box-sizing: border-box; --rp-blue: #004ece; --rp-green: #1fc65a; --rp-red: #de0000; --rp-gap: 9px; --k: 1; }
.replays button { font: inherit; color: inherit; }
.replays button:focus-visible { outline: 2px solid #4d86ff; outline-offset: 2px; }

/* Полоса этапов */
.replays-strip { position: relative; display: flex; }
.replays-strip::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--rp-blue); transform-origin: left; }
.replays .replays-stage { position: relative; z-index: 1; flex: 1 1 0; min-width: 0; padding: 8px 2px 10px; background: none; border: 0; border-bottom: 3px solid transparent; text-align: center; cursor: pointer; }
.replays .replays-stage.is-on { border-bottom-color: var(--rp-red); }
.replays .replays-stage:disabled { opacity: .4; cursor: default; }
.replays-stage-n { display: block; font-size: 13px; }
.replays .replays-stage:not(.is-on) .replays-stage-n { opacity: .7; }
.replays .replays-logo { display: block; width: 64px; height: 34px; margin: 6px auto 0; background-repeat: no-repeat; background-position: center; background-size: contain; opacity: .5; transition: opacity .2s; }
.replays .replays-stage.is-on .replays-logo { opacity: 1; }
.replays .replays-stage:not(:disabled):not(.is-on):hover .replays-logo { opacity: .85; }

/* Тело: слева название, схема и меню, справа записи */
.replays-body { display: grid; grid-template-columns: 272px minmax(0, 1fr); gap: 26px; padding: 20px 9px 0; min-height: 240px; }
.replays-main { min-width: 0; }
.replays-track { font-size: 18px; font-weight: 600; line-height: 1.2; }
.replays-sub { margin-top: 3px; font-size: 13px; }
.replays-pair { display: flex; gap: 14px; margin-top: 14px; }
.replays .replays-map { flex: 0 0 96px; background-repeat: no-repeat; background-position: center; background-size: contain; }
.replays-menu { position: relative; flex: 1 1 0; min-width: 0; list-style: none; margin: 0; padding: 0 0 0 24px; }
.replays-menu::before { content: ''; position: absolute; left: 5px; top: 16px; bottom: 16px; width: 2px; background: var(--rp-blue); transform-origin: top; }
.replays .replays-item { position: relative; display: block; width: 100%; padding: 7px 0; background: none; border: 0; font-size: 14px; line-height: 18px; text-align: left; cursor: pointer; }
.replays .replays-item i { position: absolute; left: -24px; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%; background: var(--rp-blue); }
.replays .replays-item .replays-lbl { transition: opacity .3s; }
.replays .replays-item:not(.has) .replays-lbl { opacity: .5; }
.replays .replays-item.is-on { font-weight: 600; }
.replays-menu::after { content: ''; position: absolute; left: 0; top: 10px; z-index: 1; width: 12px; height: 12px; border-radius: 50%; background: var(--rp-green); box-shadow: 0 0 8px 2px rgba(31, 198, 90, .55); pointer-events: none; transform: translateY(calc(var(--at, 0) * 32px)); transition: transform .4s cubic-bezier(.3, 1.5, .5, 1); }
.replays-menu.at-0 { --at: 0; }
.replays-menu.at-1 { --at: 1; }
.replays-menu.at-2 { --at: 2; }
.replays-menu.at-3 { --at: 3; }
.replays-menu.at-4 { --at: 4; }

/* Узлы: линия идет от точки до точки, точки по центру превью; карточки прижаты к правому краю, ширина до предела, в ряду не больше четырех */
.replays-nodes { --rp-max: 340px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px var(--rp-gap); }
.replays-nodes.is-list { --rp-max: 240px; }
.replays-nodes.n1 { --n: 1; }
.replays-nodes.n2 { --n: 2; }
.replays-nodes.n3 { --n: 3; }
.replays-nodes.n4 { --n: 4; }
.replays-node { flex: 0 0 auto; min-width: 0; width: min(var(--rp-max), calc((100% - (var(--n, 2) - 1) * var(--rp-gap)) / var(--n, 2))); }
.replays-node-name { min-height: 20px; margin-bottom: 4px; font-size: 14px; line-height: 20px; white-space: nowrap; }
.replays-rail { position: relative; height: 12px; margin-bottom: 12px; }
.replays-rail::before { content: ''; position: absolute; left: 50%; top: 5px; width: calc(100% + var(--rp-gap)); height: 2px; background: var(--rp-blue); transform-origin: left; }
.replays-node:last-child .replays-rail::before, .replays-node:nth-child(4n) .replays-rail::before { display: none; }
.replays-dot { position: absolute; left: 50%; top: 0; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--rp-blue); }
.replays-dot.is-active { background: var(--rp-green); box-shadow: 0 0 8px 2px rgba(31, 198, 90, .55); }

/* Превью: без рамок и эффектов */
.replays .replays-card { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; overflow: hidden; border: 0; background: #0c1220; cursor: pointer; }
.replays .replays-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.replays .replays-card.is-cover { background: linear-gradient(135deg, #5ec8f2, #0d5aa7); }
.replays .replays-card .replays-cover-logo { position: absolute; top: 50%; left: 50%; width: auto; height: auto; max-width: 40%; max-height: 40%; transform: translate(-50%, -50%); }
.replays .replays-card::before { content: ''; position: absolute; left: 50%; top: 50%; z-index: 1; margin: -9px 0 0 -5px; border-left: 14px solid #fff; border-top: 9px solid transparent; border-bottom: 9px solid transparent; }
.replays .replays-card::after { content: ''; position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: rgba(0, 0, 0, .55); }
.replays .replays-card.is-none { display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .05); font-size: 14px; cursor: default; }
.replays .replays-card.is-none::before, .replays .replays-card.is-none::after { display: none; }
.replays-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.replays .replays-chip { padding: 4px 9px; border: 1px solid #27407a; border-radius: 3px; background: none; font-size: 12px; cursor: pointer; }
.replays .replays-chip.is-on { background: var(--rp-blue); border-color: var(--rp-blue); }
.replays-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.replays-flag { display: inline-block; width: 17px; height: 11px; margin-right: 6px; vertical-align: -1px; }
.replays .replays-chip.is-miss { border-style: dashed; text-decoration: line-through; opacity: .55; cursor: default; }
.replays-cap { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; height: 48px; margin-top: 8px; overflow: hidden; font-size: 12px; line-height: 16px; }

/* Плеер: без рамки, лишний 1px по краям VK скрыт */
.replays-player { margin-top: 14px; }
.replays-screen { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #05080f; }
.replays-screen iframe { position: absolute; top: -1px; left: -1px; width: calc(100% + 2px); height: calc(100% + 2px); border: 0; }

/* Анимация (как у календаря: бегут линии, по очереди загораются точки). Состояния живут только под классами, без JS все показано сразу */
@keyframes rp-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes rp-line-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes rp-line-y { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes rp-appear { from { opacity: 0; } to { opacity: 1; } }
@keyframes rp-pulse { 0% { transform: scale(1); } 40% { transform: scale(1.7); } 100% { transform: scale(1); } }
@keyframes rp-dot { 0% { transform: scale(0); opacity: 0; } 60% { transform: scale(1.6); opacity: 1; } 100% { transform: scale(1); opacity: 1; } }
.replays .rp-intro, .replays .rp-enter { --k: 1; }
.replays .rp-enter.rp-fast { --k: .5; }
.replays.rp-pending .replays-strip::after { transform: scaleX(0); }
.replays.rp-pending .replays-stage { opacity: 0; }
.replays.rp-pending .replays-body { visibility: hidden; }
.rp-swap { animation: rp-fade .35s ease-out backwards; }
.rp-intro::after { animation: rp-line-x calc(.9s * var(--k)) ease-out backwards; }
.rp-intro .replays-stage { animation: rp-fade calc(.45s * var(--k)) ease-out backwards; animation-delay: calc(var(--d) * .07s); }
.rp-enter .replays-head, .rp-enter .replays-map { animation: rp-fade calc(.5s * var(--k)) ease-out backwards; }
.rp-enter .replays-map { animation-delay: calc(.1s * var(--k)); }
.rp-enter .replays-menu::before { animation: rp-line-y calc(.8s * var(--k)) ease-out backwards; animation-delay: calc(.15s * var(--k)); }
.rp-enter .replays-menu li { animation: rp-fade calc(.4s * var(--k)) ease-out backwards; animation-delay: calc((.15s + var(--d) * .16s) * var(--k)); }
.replays-menu.rp-pulse .replays-item i { animation: rp-pulse .5s ease-out backwards; animation-delay: calc(var(--d) * .07s); }
.rp-enter .replays-menu::after { animation: rp-appear calc(.4s * var(--k)) ease-out backwards; animation-delay: calc((.15s + var(--at, 0) * .16s) * var(--k)); }
.rp-enter .replays-item i { animation: rp-dot calc(.4s * var(--k)) ease-out backwards; animation-delay: calc((.15s + var(--d) * .16s) * var(--k)); }
.rp-enter .replays-node-name { animation: rp-fade calc(.4s * var(--k)) ease-out backwards; animation-delay: calc(var(--d) * .75s * var(--k)); }
.rp-enter .replays-rail::before { animation: rp-line-x calc(.5s * var(--k)) linear backwards; animation-delay: calc((var(--d) * .75s + .25s) * var(--k)); }
.rp-enter .replays-dot { animation: rp-dot calc(.4s * var(--k)) ease-out backwards; animation-delay: calc(var(--d) * .75s * var(--k)); }
.rp-enter .replays-card { animation: rp-fade calc(.45s * var(--k)) ease-out backwards; animation-delay: calc((var(--d) * .75s + .3s) * var(--k)); }
.rp-enter .replays-chips, .rp-enter .replays-cap { animation: rp-fade calc(.4s * var(--k)) ease-out backwards; animation-delay: calc((var(--d) * .75s + .6s) * var(--k)); }
.replays-stage:nth-child(1) { --d: 0; }
.replays-stage:nth-child(2) { --d: 1; }
.replays-stage:nth-child(3) { --d: 2; }
.replays-stage:nth-child(4) { --d: 3; }
.replays-stage:nth-child(5) { --d: 4; }
.replays-stage:nth-child(6) { --d: 5; }
.replays-stage:nth-child(7) { --d: 6; }
.replays-stage:nth-child(8) { --d: 7; }
.replays-stage:nth-child(9) { --d: 8; }
.replays-stage:nth-child(10) { --d: 9; }
.replays-menu li:nth-child(1) { --d: 0; }
.replays-menu li:nth-child(2) { --d: 1; }
.replays-menu li:nth-child(3) { --d: 2; }
.replays-menu li:nth-child(4) { --d: 3; }
.replays-menu li:nth-child(5) { --d: 4; }
.replays-node:nth-child(1) { --d: 0; }
.replays-node:nth-child(2) { --d: 1; }
.replays-node:nth-child(3) { --d: 2; }
.replays-node:nth-child(4) { --d: 3; }
.replays-node:nth-child(5) { --d: 4; }
.replays-node:nth-child(6) { --d: 5; }
.replays-node:nth-child(7) { --d: 6; }
.replays-node:nth-child(8) { --d: 7; }
.replays-node:nth-child(9) { --d: 8; }
.replays-node:nth-child(10) { --d: 9; }
.replays-node:nth-child(11) { --d: 10; }
.replays-node:nth-child(12) { --d: 11; }
@media (prefers-reduced-motion: reduce) { .replays *, .replays *::before, .replays *::after { animation: none !important; transition: none !important; } }






















/* --- Carousel Calendar --- */
.carousel { width: 100%; height: 90px; user-select: none; overflow: hidden; display: flex; justify-content: center; align-items: center; position: relative; background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0px 4px; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6); }
.carousel ul { width: 1006px; height: 90px; visibility: hidden; list-style: none; }

/* --- Carousel Calendar - Event Cell --- */
.carousel li { width: 212px; height: 90px; margin-left: 5px; display: flex; justify-content: center; align-items: center; transform-origin: center center; cursor: pointer; }
.calendarlogobg { width: 92px; height: 80px; padding: 5px 0; display: flex; flex-direction: column; text-align: center; position: relative; font-family: 'DecimaNovaPro'; font-weight: 700; background: linear-gradient(-25deg, rgb(0, 30, 90) 25%, rgb(0, 70, 160) 100%); }

/* --- Carousel Calendar - Sign --- */
.carousel li.roundabout-in-focus { cursor: default; }
.carousel-prev,
.carousel-next { font-size: 28px; cursor: pointer; z-index: 300; position: absolute; color: rgba(220, 220, 220, 0.35); top: 50%; transform: translateY(-50%); -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; transition: color 0.3s; }
.carousel-prev:hover,
.carousel-next:hover { color: rgba(220, 220, 220, 0.85); }
.carousel-prev { left: 36.3%; }
.carousel-next { right: 36.3%; }


/* --- Countdown - Event --- */
.cdevent-cell { width: 517px; background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0px 4px; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6); user-select: none; display: block; padding-bottom: 15px; }
.cdevent-header { width: 100%; display: flex; align-items: center; padding-top: 10px; }
.cdevent-logo { min-width: 123px; display: flex; justify-content: center; align-items: center; }
.cdevent-name { flex: 1; padding-top: 5px; padding-bottom: 6px; padding-left:; font-family: 'GeometricSlabserif712'; font-weight: 700; font-size: 13.5pt; text-align: left; }
.cdevent-time { width: 100%; height: auto; margin-top: 10px; }
.time_circles { text-align: center; display: flex; justify-content: center; align-items: center; position: relative; }
.time_circles > div { font-size: 23pt; font-family: 'DecimaNovaPro'; font-weight: 700; text-align: center; display: flex; justify-content: center; align-items: center; position: absolute; }
.time_circles > div > h4 { font-size: 8pt; font-family: 'DecimaNovaPro'; font-weight: 400; color: #777777; transform: translateY(29px); position: absolute; }



/* --- Countdown - Timetable --- */
.timetable { --timetable-blue: #004ece; --timetable-red: #de0000; --timetable-muted: #9a9a9a;
  --timetable-line-y: 70px; --timetable-row-h: 72px; /* высота над линией (подпись дня) и минимальная высота строки сессии */
  --timetable-nx: 76px; /* положение точки и линии ветки от левого края колонки */
  --tline-color: var(--timetable-blue); --tline-dot-color: var(--timetable-red); /* цвета линий и точек (блок Timeline) */
  position: relative; width: 100%; box-sizing: border-box; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; padding: 14px 24px 22px; text-align: left; }
.timetable-col { position: relative; min-width: 0; }

/* --- Шаг на главной линии: подпись над линией, точка на ней. Линия (.tline-h) идёт от точки предыдущей колонки до точки этой --- */
.timetable-step { position: relative; height: var(--timetable-line-y); }
.timetable-step::before { left: calc(var(--timetable-nx) - 100%); top: calc(100% - 1.5px); }
.timetable-node { position: absolute; left: var(--timetable-nx); top: 100%; width: 0; height: 0; }
.timetable-node > .tline-dot { position: absolute; left: -6px; top: -6px; }

/* подпись над точкой: этап, трасса, день, прогноз — по центру */
.timetable-label { position: absolute; left: calc(var(--timetable-nx) - 90px); width: 180px; bottom: 14px; text-align: center; font-size: 14px; line-height: 17px; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85); }
.timetable-label b { display: block; font-weight: 700; }
.timetable-label span { display: block; }
.timetable-label .timetable-tz { font-size: 12px; line-height: 15px; color: #1e90ff; }

/* логотип этапа и схема трассы: по центру под своей точкой (в колонках без ветки под линией пусто) */
.timetable-logo, .timetable-map { position: absolute; top: calc(100% + 18px); background-size: contain; background-repeat: no-repeat; background-position: center; filter: drop-shadow(2px 3px 3px rgba(0, 0, 0, 0.75)); }
.timetable-logo { left: calc(var(--timetable-nx) - 56px); width: 112px; height: 84px; }
.timetable-map { left: calc(var(--timetable-nx) - 62px); width: 124px; height: 150px; }

/* --- Ветка вниз: строки сессий и слоты прогноза. Время слева от линии (над ним таймер), название и дистанция справа; на линии — точка --- */
.timetable-row { display: grid; grid-template-columns: var(--timetable-nx) 0 minmax(0, 1fr); min-height: var(--timetable-row-h); }
.timetable-time { padding: 8px 14px 8px 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; text-align: right; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85); }
.timetable-timer { font-size: 11px; line-height: 14px; color: #1e90ff; } /* «5 дн. 02:03.04» при нехватке места переносится после «дн.» */
.timetable-timer:empty { display: none; }
.timetable-clock { font-size: 14px; line-height: 18px; font-weight: 700; }
.timetable-mid { position: relative; } /* хост линии ветки (.tline-v) нулевой ширины: линия по его левому краю, точка по центру высоты */
.timetable-mid::before { left: -1.5px; }
.timetable-mid > .tline-dot { position: absolute; left: -6px; top: 50%; margin-top: -6px; }
.timetable-name { padding: 8px 0 8px 14px; align-self: center; font-size: 13px; line-height: 16px; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85); }
.timetable-sub { display: block; font-size: 11px; line-height: 14px; color: var(--timetable-muted); }

/* --- Countdown - Timetable - Past Sessions --- */
.timetable-row.is-past .timetable-name, .timetable-row.is-past .timetable-clock {color: rgba(255, 255, 255, 0.5);}
.timetable-row.is-tba .timetable-name {color: rgba(255, 255, 255, 0.45);}
.timetable-row.is-tba .timetable-clock {font-size: 13px; font-weight: 400; color: var(--timetable-muted);}

/* --- Countdown - Timetable - Weather Forecast --- */
.timetable-fc-title {font-size: 12px; line-height: 15px; color: var(--timetable-muted);}
.timetable-wx {font-size: 11px; line-height: 14px;}
.timetable-wx-main {display: flex; align-items: center; gap: 6px;}
.timetable-wx-icon {width: 26px; height: 26px; display: block; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));}
.timetable-wx-temp {font-size: 13px; line-height: 16px; font-weight: 700;}
.timetable-wx-desc {display: block; color: #1e90ff;}
.timetable-wx-det {display: block; color: #ccc; white-space: nowrap;}
.timetable-wx-det i {margin: 0 2px 0 8px;}
.timetable-wx-det i:first-child {margin-left: 0;}











/* Other Cell Cover*/
.cellcountdownsession { width: 100%; display: flex; }

/* Countdown Session */
#timer1,
#timer2,
#timer3,
#timer4,
#timer5 { margin-right: 9px; color: #777777; display: inline; }
.timegrey { margin-right: 9px; color: #777777; display: inline; }
.box { flex: 1; box-sizing: border-box; display: flex; justify-content: center; align-items: center; }
.box2 { padding: 9px 0; font-family: 'GeometricSlabserif712'; font-weight: 700; font-size: 13pt; white-space: nowrap; filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.9)); }
.local-time { margin-left: 9px; margin-right: 9px; display: inline; }














/* --- Circuit Logotype & Circuit Map --- */
.ttable-side { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.ttable-side .logocountdown { margin-bottom: 4px; }
.mapcountdown { width: 150px; height: 130px; background-size: contain; background-repeat: no-repeat; background-position: center; margin: 0 20px 20px 20px; }



/* --- Table Results - Events & Standings --- */
.tresults-title-suffix { color: #1e90ff; }
.tresults-cell {width: 100%;}
.tresults-table {width: 100%; border-collapse: collapse;}
.tresults-table thead tr.tresults-header th {height: 50px; text-align: center; font-weight: normal; padding: 4px 4px; border-bottom: 2px solid #1e90ff; white-space: nowrap;}
.tresults-table thead tr.tresults-header th.tresults-driver, .tresults-table thead tr.tresults-header th.tresults-team, .tresults-table thead tr.tresults-header th.tresults-team-name, .tresults-table thead tr.tresults-header th.tresults-car {text-align: left;}
.tresults-table thead tr.tresults-header th.tresults-time {text-align: right;}
.tresults-table td {padding: 5px 4px; vertical-align: middle; white-space: nowrap; height: 42px; box-sizing: border-box;}

/* --- Glow --- */
.tresults-table tbody tr:nth-child(odd) {background: rgba(0, 0, 0, 0.31);}
.tresults-table tbody tr:nth-child(even) {background: transparent;}
.table tbody tr:hover, .tresults-table tbody tr:not(.tresults-separator):hover {background-color: rgba(30, 144, 255, 0.45);}
.table tbody tr, .tresults-table tbody tr {-o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;}

/* --- Results Name --- */
.tresults-separator td {color: #1e90ff; padding: 6px; border-top: 1px solid #333; border-bottom: 1px solid #333;}
.tresults-penalty-notes-title {text-align: center; color: #1e90ff; padding: 6px; border-top: 1px solid #333; border-bottom: 1px solid #333; height: 42px; box-sizing: border-box; display: flex; align-items: center; justify-content: center;}
.tresults-penalty-note {text-align: left; padding: 4px 9px;}
.tresults-separator td::after, .tresults-penalty-notes-title::after {content: "/"; color: #dcdcdc;}

/* --- Position --- */
.tresults-pos {display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; font-size: 9pt; font-weight: bold; background: linear-gradient(135deg, #f5d020, #c8a200); color: #000;}
.tresults-pos sup {font-size: 7pt; margin-left: 1px; vertical-align: text-bottom; position: relative; top: 1px;}
.tresults-pos-1 {background: linear-gradient(135deg, #f5d020, #c8a200); color: #000;}
.tresults-pos-2 {background: linear-gradient(135deg, #f5d020, #c8a200); color: #000;}
.tresults-pos-3 {background: linear-gradient(135deg, #f5d020, #c8a200); color: #000;}
.tresults-pos-up {color: #00ff24;}
.tresults-pos-down {color: #ea0000;}

/* --- Class --- */
.tresults-class {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; font-size: 9pt; font-weight: 700;}
.tresults-class-m {background: #b00; color: #fff;}
.tresults-class-i {background: #1a5fb4; color: #fff;}

/* --- Number --- */
.tresults-num {font-size: 16.5pt; font-family: 'NimbusSanPBlaCon'; font-weight:300; color: #C6ED00; display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 22px; background:; }

/* --- Car Color --- */
.tresults-car-color {width: 5px; height: 24px; margin: 0 auto;}

/* --- Flag --- */
.tresults-flag-cell {text-align: center;}
.tresults-flag {width: 20px; height: auto; display: block; margin: 0 auto;}

/* --- Driver --- */
.tresults-driver {text-align: left;}
.tresults-driver-first-name { }
.tresults-driver-last-name {font-weight: 700; text-transform: uppercase;}

/* --- Team --- */
.tresults-team {text-align: left;}
.tresults-team-sub {color: grey;}
.tresults-team-name {text-align: left;}
.tresults-team-logo-cell {text-align: center;}
/* .tresults-team-logo — общий наклонный стиль, см. "Наклонное лого" ниже */

/* --- Car --- */
.tresults-car {text-align: left;}
td.tresults-car {text-align: left; font-size: 9pt;}
.tresults-car-brand {font-weight: 700; text-transform: uppercase;}
.tresults-car-logo-cell {text-align: center;}
/* .tresults-car-logo — общий наклонный стиль, см. "Наклонное лого" ниже */

/* --- Points --- */
.tresults-points {text-align: center; font-weight: 700;}
.tresults-gap {color: grey;}
.tresults-gap-dash {color: grey;}
.tresults-gap-calc {color: grey; font-size: 9px; vertical-align: super; margin-left: 1px; cursor: help;}

/* --- Wins --- */
.tresults-wincell {text-align: center;}
.tresults-win {color: #f0c000;}
.tresults-win-dash {color: #555;}
.tresults-dnf-count {color: #ea0000;}
.tresults-dnf-count-dash {color: #555;}

/* --- Team Drivers --- */
.tresults-drivers {text-align: left;}
.tresults-table thead tr.tresults-header th.tresults-drivers {text-align: left;}
.tresults-table td.tresults-drivers {color: grey;}

/* --- Results --- */
.tresults-time {text-align: right; font-size:;}
.tresults-time-sub {font-size: 11px; color: rgba(220, 220, 220, 0.5);}
.tresults-bl {color: grey;}
.tresults-bl-m {text-decoration: underline; text-decoration-color: #b00; text-decoration-thickness: 2px;}
.tresults-bl-i {text-decoration: underline; text-decoration-color: #1a5fb4; text-decoration-thickness: 2px;}
.tresults-bl-none {color: grey;}
.tresults-dnf {color: grey;}

/* --- Penalty --- */
.tresults-penalty {color: #ea0000; font-size: 9pt;}

.tresults-combined-best,
.tresults-combined-best .tresults-bl-none {font-weight: 700; color: #dcdcdc;}
.tresults-combined-column-best {font-weight: 700; text-decoration: underline;}


/* Подзаголовок секции (стартовый лист, название сессии) */
.tresults-subtitle {font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: #888; margin-bottom: 6px;}
/* Overflow-обёртка таблицы сессий */
.tresults-wrap {overflow-x: auto;}

/* --- System --- */
.tresults-state { }
.tresults-state-title { }
.tresults-state p { }
.tresults-empty { }
.tresults-error { }




















/* --- Table Results - Standings Graph --- */
.tresults-graph-widget {min-width: 0;}
.tresults-graph-scroll {overflow-x: auto; overflow-y: hidden; width: 100%; min-width: 0; scrollbar-width: thin;}
.tresults-graph-chart-wrap {position: relative;}
.tresults-graph-table {border-collapse: collapse; table-layout: fixed; width: 100%;}
.tresults-graph-table th, .tresults-graph-table td {box-sizing: border-box; padding: 0px 4px;}
.tresults-graph-table tbody td {height: 42px;}
.tresults-graph-table tbody td.tresults-graph-round-cell {border: 1px solid #4e4e4e;}
.tresults-graph-table tbody tr td:first-child {border-left: none;}
.tresults-graph-table tbody tr td:last-child {border-right: none;}
.tresults-graph-table tbody tr:first-child td {border-top: none;}
.tresults-graph-table tbody tr:last-child td {border-bottom: none;}
.tresults-graph-table.tresults-table tbody tr:nth-child(odd),
.tresults-graph-table.tresults-table tbody tr:nth-child(even),
.tresults-graph-table.tresults-table tbody tr:hover {background-color: transparent;}
.tresults-graph-table.tresults-table tbody tr:nth-child(odd) td:not(.tresults-graph-round-cell) {background-color: rgba(0, 0, 0, 0.31);}

.tresults-graph-th-pos, .tresults-graph-td-pos,
.tresults-graph-th-dot, .tresults-graph-td-dot,
.tresults-graph-th-icon, .tresults-graph-td-icon,
.tresults-graph-th-pts, .tresults-graph-td-pts {text-align: center;}
.tresults-graph-td-pts {font-weight: 700;}
.tresults-graph-td-pts span {cursor: help;}
.tresults-graph-th-icon, .tresults-graph-td-icon {padding-left: 2px; padding-right: 2px; padding-top: 1px; padding-bottom: 1px;}
.tresults-graph-table td.tresults-graph-td-dot {padding-left: 0; padding-right: 5px;}
.tresults-graph-table td.tresults-driver {padding-top: 0; padding-bottom: 0;}
.tresults-graph-table.tresults-table thead tr.tresults-header th.tresults-graph-th-dot {padding-left: 0; padding-right: 5px;}

.tresults-graph-col-pos {width: 46px;}
.tresults-graph-col-dot {width: 30px;}
.tresults-graph-col-icon {width: 64px;}
.tresults-graph-col-pts {width: 60px;}
.tresults-graph-col-round {width: 63px;}
.tresults-graph-table th.tresults-graph-th-name,
.tresults-graph-table td.tresults-driver {min-width: 0;}
.tresults-graph-table.tresults-table thead tr th.tresults-graph-round-th {vertical-align: middle; white-space: nowrap; padding-left: 0; padding-right: 0;}
.tresults-graph-round-label {display: block;}
.tresults-graph-table.tresults-table thead tr.tresults-header th {height: 72px;}
.tresults-graph-round-logo {display: block; height: 34px; margin: 4px 4px 0; background-size: contain; background-repeat: no-repeat; background-position: center;}
.tresults-graph-row-cell {cursor: pointer;}


/* --- Содержимое в колонках пилотов и команд --- */
.tresults-graph-pill-dot {width: 12px; height: 12px; border-radius: 50%; display: inline-block; background: #555; opacity: .2;}
.tresults-graph-pill-dot.active {opacity: 1; box-shadow: 0 0 4px currentColor, 0 0 4px currentColor;}
.tresults-graph-pill-name {color: #777;}
.tresults-graph-name-main {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.tresults-graph-pill-name.active {color: #dcdcdc; text-decoration: underline;}
.tresults-graph-pill-name:hover {color: #ea0000; text-decoration: none;}
.tresults-graph-pill-name:hover .tresults-team-sub {color: #ea0000;}
.tresults-graph-pill-name .tresults-driver-first-name, .tresults-graph-pill-name .tresults-driver-last-name {font-weight: 400; text-transform: uppercase;}

.tresults-graph-table td.tresults-driver,
.tresults-graph-table .tresults-team-sub {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.tresults-graph-chart-svg {position: absolute; pointer-events: none;}
.tresults-graph-chart-svg circle {pointer-events: auto;}
.tresults-graph-axis-label {fill: rgba(220, 220, 220, 0.5); text-anchor: middle; dominant-baseline: central;}

/* --- Линии и точки графика --- */
.tresults-graph-line-active {fill: none; stroke: currentColor; stroke-width: 3; filter: drop-shadow(0 0 3px currentColor);}
.tresults-graph-line-inactive {fill: none; stroke: #555; stroke-width: 2; opacity: .5;}
.tresults-graph-dot-active {fill: currentColor; r: 6; filter: drop-shadow(0 0 3px currentColor);}
.tresults-graph-dot-inactive {fill: #555; r: 4;}

.tresults-graph-empty {color: rgba(220, 220, 220, 0.6); padding: 20px; font-size: 11.5pt;}





/* --- Table Results - Standings Graph Points ---
   Таблица, колонки, ячейки, пилюли, линии, точки и барабаны у графика очков
   те же, что в блоке Standings Graph выше (классы .tresults-graph-*) — здесь
   только то, чего у графика позиций нет: раскладка «график + легенда» и
   собственная сетка очков (рисуется в SVG, а не границами ячеек). --- */
.tresults-graph-points-layout {display: flex; align-items: flex-start;}
.tresults-graph-points-chart {flex: 0 0 auto;}
.tresults-graph-points-legend {flex: 1 1 0; min-width: 340px;}
.tresults-graph-points-canvas {line-height: 0;}

/* --- Сетка и подписи шкалы очков --- */
.tresults-graph-points-svg {display: block;}
.tresults-graph-points-grid-line {stroke: #4e4e4e; stroke-width: 1; shape-rendering: crispEdges;}
.tresults-graph-points-axis-label {fill: rgba(220, 220, 220, 0.5); text-anchor: start; dominant-baseline: central;}


/* --- Анимация "Очков" (барабаны) — общая для графика позиций и графика очков --- */
.tresults-graph-reel {display: inline-block; height: 1.25em; line-height: 1.25em; overflow: hidden; vertical-align: bottom;}
.tresults-graph-reel-strip {display: block;}
.tresults-graph-reel-digit {display: block; height: 1.25em; line-height: 1.25em;}




/* --- ЕДИНЫЙ стиль наклонного увеличенного лого команд/машин (обрезка+поворот) —
   используется ВСЕМИ виджетами с логотипами, включая leaders: events/standings/
   points/testing/leaders (через .tresults-team-logo-cell/.tresults-car-logo-cell
   на <td>) и оба графика (через .tresults-graph-logo-tilt/
   .tresults-graph-points-logo-tilt на обёртке <span>, т.к. там <td> — часть
   построчного SVG/легенды, не обычная таблица). Сам <img> у всех несёт класс
   .tresults-team-logo/.tresults-car-logo — поэтому объявление
   вращения/масштаба одно, ниже, применяется ко всем сразу. Менять
   размер/наклон/масштаб — ТОЛЬКО здесь, отдельных копий этих чисел больше
   нигде в файле нет. --- */
.tresults-team-logo-cell, .tresults-car-logo-cell,
.tresults-graph-logo-tilt, .tresults-graph-points-logo-tilt {
  position: relative; width: 60px; height: 38px; overflow: hidden;
}
.tresults-graph-logo-tilt, .tresults-graph-points-logo-tilt {
  display: block; margin: 0 auto;
}
.tresults-team-logo, .tresults-car-logo {
  position: absolute; top: 50%; left: 50%; max-width: 110px; max-height: 70px;
  width: auto; height: auto;
  transform: translate(-50%, -50%) rotate(-22.5deg) scale(0.75);
  transform-origin: center center;
}









/* --- Table Results - Standings Points --- */
.tresults-points-table {table-layout: fixed;}
.tresults-table.tresults-points-table tbody tr:nth-child(odd):not(.tresults-separator):hover  {background-color: rgba(0, 0, 0, 0.31);}
.tresults-table.tresults-points-table tbody tr:nth-child(even):not(.tresults-separator):hover {background-color: transparent;}
.tresults-points-table td, .tresults-points-table th {vertical-align: middle;}
.tresults-points-table th:nth-child(1), .tresults-points-table td:nth-child(1) {width: 34px;}
.tresults-points-table th:last-child, .tresults-points-table td:last-child {width: 44px;}
.tresults-points-table-drivers th:nth-child(3), .tresults-points-table-drivers td:nth-child(3) {width: 46px;}
.tresults-points-table-manufacturers th:nth-child(2), .tresults-points-table-manufacturers td:nth-child(2) {width: 60px;}
.tresults-points-table-drivers td.tresults-driver {max-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.tresults-points-table-teams td.tresults-team-name, .tresults-points-table-manufacturers td.tresults-team-name {max-width: 0; overflow: hidden;}
.tresults-points-table-teams .tresults-team-main, .tresults-points-table-teams .tresults-team-sub,
.tresults-points-table-manufacturers .tresults-team-main, .tresults-points-table-manufacturers .tresults-team-sub {display: block; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.tresults-points-cell {width: 68px; padding: 0 2px !important; vertical-align: top;}
.tresults-table thead tr.tresults-header th.tresults-points-cell {padding: 4px 2px !important; white-space: normal;}
.tresults-points-round-logo {display: block; height: 34px; margin: 4px 4px 0; background-size: contain; background-repeat: no-repeat; background-position: center;}
.tresults-points-qr-row {display: block; height: 21px;}
.tresults-points-races-row {position: relative; display: flex; height: 21px;}
.tresults-points-races-row > .tresults-points-val {flex: 0 0 33.3333%; min-width: 0;}
.tresults-points-races-row > .tresults-points-val:nth-child(3) {position: absolute; top: 0; bottom: 0; left: 66.6666%; right: 0; width: auto;}
.tresults-points-races-row.tresults-points-races-full {height: 100%;}
.tresults-points-qr-row .tresults-points-val {width: 100%; height: 100%;}
.tresults-points-val {display: flex; align-items: center; justify-content: center; text-align: center; padding: 3px 1px; font-size: 8.5pt; line-height: 1.2; box-sizing: border-box; min-height: 18px; min-width: 0;}
.tresults-points-rank-1 {background: linear-gradient(135deg, #f5d020, #c8a200); color: #000; font-weight: 700;}
.tresults-points-rank-2 {background: linear-gradient(135deg, #e0e0e0, #a8a8a8); color: #000; font-weight: 700;}
.tresults-points-rank-3 {background: linear-gradient(135deg, #cd7f32, #8b5a2b); color: #000; font-weight: 700;}
.tresults-points-scored {background: rgba(30, 144, 255, 0.18); color: #dcdcdc;}
.tresults-points-empty {color: #555;}
.tresults-points-status-dnf, .tresults-points-status-dq, .tresults-points-status-dns {color: #999; font-weight: normal; font-size: 7.5pt; letter-spacing: -0.2px; text-transform: none;}
.tresults-points-status-zero {color: #dcdcdc;}



/* --- Table Results - Leaders --- */
.tresults-leaders-wrap {background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0px 4px; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6); padding: 0; width: 100%; box-sizing: border-box;}
.tresults-leaders-table {width: 100%; border-collapse: collapse; table-layout: fixed;}

/* --- Standings Name --- */
.tresults-leaders-title {position: relative; color: #1e90ff; text-align: center; border-top: 1px solid #333; border-bottom: 1px solid #333; padding: 6px 0; margin: 0;}
.tresults-leaders-section:first-child .tresults-leaders-title {border-top: none;}
.tresults-leaders-title::after {content: "/"; color: #dcdcdc;}
.tresults-leaders-more {position: absolute; right: 12px; top: 50%; transform: translateY(-50%); }
.tresults-leaders-more:hover { }

/* --- Data Background --- */
.tresults-leaders-row td {height: 46px; padding: 4px 8px; vertical-align: middle; font-size:; box-sizing: border-box; white-space: normal;}
.tresults-leaders-row:nth-child(odd)  td {background: rgba(0, 0, 0, 0.31);}
.tresults-leaders-row:nth-child(even) td {background: transparent;}

/* --- Data --- */
.tresults-leaders-pos-badge {display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; font-size:; background: linear-gradient(135deg, #f5d020, #c8a200); color: #000;}
.tresults-leaders-pos {text-align: center; font-weight: 700;}
.tresults-leaders-name {text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.tresults-leaders-team {text-align: left;}
.tresults-leaders-team-main,
.tresults-leaders-team-sub {display: block; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.tresults-leaders-team-sub {color: #888; font-size: 9pt;}
.tresults-leaders-points {text-align: right; font-weight: bold;}

/* --- System --- */
.tresults-leaders-empty { }












/* --- YouTube - Dualscreen --- */

/* --- Overlay --- */
.yt-dualscreen-overlay {display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.93); z-index: 9999; padding: 0px; box-sizing: border-box; overflow-y: auto;}
.yt-dualscreen-overlay.active {display: flex; align-items: center; justify-content: center;}
.yt-dualscreen-overlay.active.yt-dualscreen-vertical-mode {align-items: flex-start;}

/* --- Row layout: horizontal (default) / vertical --- */
.yt-dualscreen-row {display: flex; align-items: flex-start; justify-content: center; gap: 9px; width: 100%;}
.yt-dualscreen-video-wrap,
.yt-dualscreen-timing-wrap {flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0px;}
.yt-dualscreen-row.vertical {--ds-w: min(100vw, calc((50dvh - 25px) * 16 / 9)); --ds-timing-w: min(100vw, max(var(--ds-w), 600px)); flex-direction: column; align-items: center; height: calc(100vh - 40px); height: calc(100dvh - 40px);}
.yt-dualscreen-row.vertical .yt-dualscreen-video-wrap {flex: 0 0 auto; width: var(--ds-w); max-width: none; margin: 0 auto; aspect-ratio: 16 / 9; min-height: 0;}
.yt-dualscreen-row.vertical .yt-dualscreen-timing-wrap {flex: 1 1 0; width: var(--ds-w); max-width: none; margin: 0 auto; min-height: 0;}
.yt-dualscreen-row.vertical .yt-dualscreen-video-slot {flex: 1 1 0; min-height: 0; position: relative; overflow: hidden;}
.yt-dualscreen-row.vertical .yt-dualscreen-video-slot > * {position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; display: flex; align-items: center; justify-content: center; box-sizing: border-box !important;}
.yt-dualscreen-row.vertical .yt-dualscreen-video-slot iframe {position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; border: 0 !important;}
.yt-dualscreen-row.vertical .yt-dualscreen-video-slot .vk-player iframe {top: -1px !important; left: -1px !important; inset: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.yt-dualscreen-row.vertical .yt-dualscreen-timing-slot {flex: 1 1 0; min-height: 0; overflow: hidden;}
.yt-dualscreen-row.vertical .yt-dualscreen-timing-slot object, .yt-dualscreen-row.vertical .yt-dualscreen-timing-slot iframe, .yt-dualscreen-row.vertical .yt-dualscreen-timing-slot embed {width: 100% !important; height: 100% !important; min-height: 0 !important;}
.yt-dualscreen-row.vertical .yt-dualscreen-timing-slot > * {min-height: 0 !important; align-self: stretch; height: 100%;}
.yt-dualscreen-row.vertical .yt-dualscreen-video-wrap .yt-dualscreen-layout-switcher {display: none;}
.yt-dualscreen-row.vertical .yt-dualscreen-layout-switcher--inline,
.yt-dualscreen-row.vertical .yt-dualscreen-bottom-separator {display: inline; margin-top: 9px; margin-left: 9px; margin-right: -5px;}
.yt-dualscreen-row.vertical .yt-dualscreen-bottom-switchers {position: fixed; left: 0; right: 0; bottom: 0; width: var(--ds-timing-w); max-width: none; margin: 0 auto; height: 40px; margin-top: 0; align-items: center; background: rgba(0,0,0,0.85);}
.yt-dualscreen-row.vertical .yt-dualscreen-switcher,
.yt-dualscreen-row.vertical .yt-dualscreen-layout-switcher--inline,
.yt-dualscreen-row.vertical .yt-dualscreen-bottom-separator {margin-top: 0;}
@media (max-width: 768px), (orientation: portrait) {.yt-dualscreen-row {flex-direction: column; align-items: stretch;} .yt-dualscreen-row.vertical {--ds-w: min(100vw, calc((50dvh - 25px) * 16 / 9)); align-items: center;}}
@media (hover: none) and (orientation: landscape) {.yt-dualscreen-row.vertical .yt-dualscreen-timing-wrap {width: var(--ds-w);}}


/* --- Video / timing slots --- */
.yt-dualscreen-video-slot {width: 100%;}
.yt-dualscreen-video-slot > * {width: 100%; box-sizing: border-box;}
.yt-dualscreen-video-slot > *:not(:has(iframe)) {min-height: 552px; display: flex; align-items: center; justify-content: center;}
.yt-dualscreen-timing-slot {display: flex; align-items: center; justify-content: center; min-height: 552px;}
.yt-dualscreen-timing-slot > * {width: 100%; min-height: 552px; display: flex; align-items: center; justify-content: center; box-sizing: border-box;}
.yt-dualscreen-video-slot *,
.yt-dualscreen-timing-slot * {border-radius: 0 !important;}
/* Horizontal mode: timing height = video height (both 16:9 of the same column width) */
.yt-dualscreen-row:not(.vertical) .yt-dualscreen-timing-slot {min-height: 0; aspect-ratio: 16 / 9; overflow: hidden;}
.yt-dualscreen-row:not(.vertical) .yt-dualscreen-timing-slot > * {min-height: 0; align-self: stretch; height: 100%;}
.yt-dualscreen-row:not(.vertical) .yt-dualscreen-timing-slot object, .yt-dualscreen-row:not(.vertical) .yt-dualscreen-timing-slot iframe, .yt-dualscreen-row:not(.vertical) .yt-dualscreen-timing-slot embed {width: 100% !important; height: 100% !important; min-height: 0 !important;}

/* --- Switchers: text style + link colors --- */
.yt-dualscreen-switcher,
.yt-dualscreen-layout-switcher {text-align: center; font-size: 12.5pt; font-family: 'GeometricSlabserif712'; font-weight: 700; margin-top: 9px;}
.yt-dualscreen-switch,
.yt-dualscreen-layout-switch {cursor: pointer; color: #414141 !important; text-decoration: none !important; transition: color 0.2s ease;}
.yt-dualscreen-switch:hover,
.yt-dualscreen-layout-switch:hover {color: #ea0000 !important;}
.yt-dualscreen-switch.active,
.yt-dualscreen-layout-switch.active {color: #dcdcdc !important; text-decoration: none !important;}
.yt-dualscreen-switch.active:hover,
.yt-dualscreen-layout-switch.active:hover {color: #ea0000 !important;}
.yt-dualscreen-switcher i,
.yt-dualscreen-layout-switcher i,
.yt-dualscreen-bottom-switchers i {margin-right: 9px; margin-left: 9px;}

/* --- Bottom switchers row (vertical mode) --- */
.yt-dualscreen-bottom-switchers {display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 6px; font-family: 'GeometricSlabserif712'; font-weight: 700;}
.yt-dualscreen-layout-switcher--inline,
.yt-dualscreen-bottom-separator {display: none;}






/* --- Facebook --- */
.fb-cell { width: 472px; height: 601px; margin: -130px -1px -1px -1px; border: none; }



/* --- Telegram --- */

/* --- Telegram - Wall --- */
.tg-cell { height: 500px; width: 517px; box-sizing: border-box; padding: 9px 3px 0 9px; overflow-y: auto; scrollbar-width: thin; scrollbar-gutter: stable; background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0 4px; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6); }
/* --- Ячейка --- */
.tg-post { position: relative; padding-bottom: 11px; margin-bottom: 9px; }
/* --- Разделитель --- */
.tg-post::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(to right, rgba(0,78,206,0) 0%, #004ece 15.7%, #003399 84.3%, rgba(0,78,206,0) 100%); }
/* --- Дата и текст --- */
.tg-date { font-size: 9pt; color: #1e90ff; }
.tg-date-today { color: #ea0000 !important; font-weight: 700 !important; font-family: 'DecimaNovaPro' !important; }
.tg-date-yesterday { color: #e0c000 !important; font-weight: 700 !important; font-family: 'DecimaNovaPro' !important; }
.tg-date-rest { color: #1e90ff !important; font-weight: 700 !important; font-family: 'DecimaNovaPro' !important; }
.tg-text, .tg-caption { }
.tg-text a, .tg-caption a { }
.tg-text a:hover, .tg-caption a:hover { }
.tg-post-link { }
/* --- Фото --- */
.tg-photo-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; padding: 9px 0 0; }
.tg-photo-grid-1 { grid-template-columns: 1fr; }
.tg-photo-grid-2 { grid-template-columns: 1fr 1fr; }
.tg-photo-grid-3 { grid-template-columns: 1fr 1fr 1fr; }
.tg-photo-grid-4 { grid-template-columns: 1fr 1fr 1fr; }
.tg-photo-grid-5 { grid-template-columns: 1fr 1fr 1fr; }
.tg-photo-grid-7 { grid-template-columns: 1fr 1fr 1fr; }
.tg-photo-grid-8 { grid-template-columns: 1fr 1fr 1fr; }
.tg-photo-grid-10 { grid-template-columns: 1fr 1fr 1fr; }
.tg-photo-grid a { display: block; overflow: hidden; height: 160px; position: relative; }
.tg-photo-grid a::after { content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.85); transition: box-shadow 0.25s ease; pointer-events: none; }
.tg-photo-grid a:hover::after { box-shadow: inset 0 0 0px rgba(0,0,0,0); }
.tg-photo-grid-1 a { height: 278px; }
.tg-photo-grid-2 a { height: 220px; }
.tg-photo-grid-3 a { height: 160px; }
.tg-photo-grid-4 a { height: 160px; }
.tg-photo-grid-5 a { height: 110px; }
.tg-photo-grid-6 a { height: 110px; }
.tg-photo-grid-7 a { height: 110px; }
.tg-photo-grid-8 a { height: 110px; }
.tg-photo-grid-9 a { height: 110px; }
.tg-photo-grid-10 a { height: 110px; }
.tg-photo-grid a.span2 { height: calc(220px + 1px); grid-row: span 2; }
.tg-photo-grid a.span3 { grid-row: span 3; }
.tg-photo-grid a.fullwidth { height: 160px; grid-column: span 3; }
.tg-photo-grid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.25s ease, filter 0.25s ease; filter: blur(0.3px); }
.tg-photo-grid img:hover { transform: scale(1.08) rotate(1.5deg); filter: blur(0px); }
/* --- Видео --- */
.tg-video-wrap { display: block; overflow: hidden; }
.tg-video-wrap video { width: 100%; height: 160px; object-fit: cover; display: block; }
/* --- Вложения --- */
.tg-attachments { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding: 9px 0 0; }
.tg-attachments:has(> :only-child) { grid-template-columns: 1fr; }
.tg-attachments:has(> :only-child) .tg-video-wrap video { height: 278px; }
/* --- Ссылка на видео --- */
.tg-video-error { display: flex; justify-content: flex-end; gap: 5px; }
.tg-video-error a { }
.tg-video-error a:hover { }
/* --- Пустое состояние: надпись по центру --- */
.tg-cell > p:only-child { height: 100%; margin: 0; display: flex; align-items: center; justify-content: center; text-align: center; }


/* --- VKontakte - Wall --- */
.vknews-cell { height: 500px; width: 517px; box-sizing: border-box; padding: 9px 3px 0 9px; overflow-y: auto; scrollbar-width: thin; background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0 4px; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6); }
/* --- Ячейка --- */
.vknews-post { }
/* --- Разделитель --- */
.vknews-divider { margin: 9px 0; border: none; height: 2px; background: linear-gradient(to right, rgba(0, 78, 206, 0) 0%, #004ece 15.7%, #003399 84.3%, rgba(0, 78, 206, 0) 100%); }
/* --- Дата и текст --- */
.vknews-date { font-size: 9pt; color: #1e90ff; }
.vknews-date-today { color: #ea0000; font-weight: 700; font-family: 'DecimaNovaPro'; }
.vknews-date-yesterday { color: #e0c000; font-weight: 700; font-family: 'DecimaNovaPro'; }
.vknews-date-rest { color: #1e90ff; font-weight: 700; font-family: 'DecimaNovaPro'; }
/* --- Фото --- */
.vknews-photo-grid { display: grid; gap: 1px; padding: 9px 0 0; }
.vknews-photo-grid a { display: block; overflow: hidden; position: relative; }
.vknews-photo-grid a::after { content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.85); transition: box-shadow 0.25s ease; pointer-events: none; }
.vknews-photo-grid a:hover::after { box-shadow: inset 0 0 0px rgba(0,0,0,0); }
.vknews-photo-grid img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 0.25s ease, filter 0.25s ease; filter: blur(0.3px); }
.vknews-photo-grid img:hover { transform: scale(1.08) rotate(1.5deg); filter: blur(0px); }
.vknews-photo-grid-1 { grid-template-columns: 1fr; }
.vknews-photo-grid-1 a { height: 220px; }
.vknews-photo-grid-2 { grid-template-columns: 1fr 1fr; }
.vknews-photo-grid-2 a { height: 165px; }
.vknews-photo-grid-3 { grid-template-columns: 1fr 1fr; grid-template-rows: 110px 110px; }
.vknews-photo-grid-3 .vknews-photo-1 { grid-row: 1 / 3; }
.vknews-photo-grid-3 a { height: 100%; min-height: 110px; }
.vknews-photo-grid-4 { grid-template-columns: 1fr 1fr; }
.vknews-photo-grid-4 a { height: 110px; }
.vknews-photo-grid-5 { grid-template-columns: 1fr 1fr; grid-template-rows: 110px 110px 110px; }
.vknews-photo-grid-5 .vknews-photo-1 { grid-column: 1 / 3; }
.vknews-photo-grid-5 a { height: 100%; }
.vknews-photo-grid-6 { grid-template-columns: 1fr 1fr 1fr; }
.vknews-photo-grid-6 a { height: 110px; }
.vknews-photo-grid-7 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 110px 110px 110px; }
.vknews-photo-grid-7 .vknews-photo-1 { grid-column: 1 / 4; }
.vknews-photo-grid-7 a { height: 100%; }
.vknews-photo-grid-8 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 110px 110px 110px; }
.vknews-photo-grid-8 .vknews-photo-8 { grid-row: 2 / 4; grid-column: 3; }
.vknews-photo-grid-8 a { height: 100%; min-height: 110px; }
.vknews-photo-grid-9 { grid-template-columns: 1fr 1fr 1fr; }
.vknews-photo-grid-9 a { height: 110px; }
.vknews-photo-grid-10 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 110px 110px 110px 110px; }
.vknews-photo-grid-10 .vknews-photo-1 { grid-row: 1 / 3; grid-column: 1; }
.vknews-photo-grid-10 .vknews-photo-8 { grid-row: 3 / 5; grid-column: 3; }
.vknews-photo-grid-10 a { height: 100%; min-height: 110px; }
/* --- Видео --- */
.vknews-video-cell { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding: 9px 0 0; }
.vknews-video-item { position: relative; overflow: hidden; }
.vknews-video-item img { width: 100%; height: 160px; object-fit: cover; display: block; transition: opacity 0.2s; }
.vknews-video-item img:hover { opacity: 0.75; }
.vknews-video-item iframe { width: 100%; height: 139px; display: block; }
.vknews-video-cell:has(> .vknews-video-item:only-child) { grid-template-columns: 1fr; }
.vknews-video-cell:has(> .vknews-video-item:only-child) iframe { height: 278px; }
.vknews-video-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 32px; height: 32px; background: rgba(0,0,0,0.6); border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.vknews-video-play::after { content: ''; border-style: solid; border-width: 7px 0 7px 14px; border-color: transparent transparent transparent #fff; margin-left: 3px; }
/* --- Превью ссылки --- */
.vknews-link-preview { display: block; margin-top: 9px; overflow: hidden; text-decoration: none !important; background: rgba(0, 0, 0, 0.31); }
.vknews-link-preview-img { width: 100%; height: 160px; object-fit: cover; display: block; }
.vknews-link-preview-body { padding: 9px; }
.vknews-link-preview-title { font-weight: 700; line-height: 1.3; color: #dcdcdc; text-decoration: underline !important; }
.vknews-link-preview:hover .vknews-link-preview-title { color: #ea0000; text-decoration: none !important; }
.vknews-link-preview-domain { font-size: 9pt; color: #1e90ff; margin-top: 3px; text-decoration: none !important; }
/* --- Читать далее --- */
.vknews-more { }
.vknews-more:hover { }
/* --- System --- */
.vknews-empty { padding: 9px; }



/* --- VKontakte - Video --- */
.vkvideo-cell {width: 517px; height: 291px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: url('/style/design/bg/cell_01.png') repeat-x, url('/style/design/bg/cell_02.png') repeat 0 4px; box-shadow: inset 1px 1px 25px 10px rgba(0, 0, 0, 0.6);}



/* --- VKontakte - Live --- */
.vk-cover {position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; cursor: pointer; background: linear-gradient(135deg, #5ec8f2, #0d5aa7);}
.vk-cover-logo {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 40%; max-height: 40%;}
.vk-cover-play {position: absolute; top: 50%; left: 50%; width: 96px; height: 96px; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; color: #fff;}
.vk-cover-play::before {content: ''; position: absolute; inset: 0; border-radius: 50%; background: rgba(0, 0, 0, .55); transform: scale(1); transition: transform .25s ease, background .25s ease;}
.vk-cover-play svg {position: relative; width: 64px; height: 64px; margin-left: 8px; z-index: 1;}
.vk-cover:hover
.vk-cover-play::before {transform: scale(1.15); background: rgba(0, 0, 0, .60);}
.vk-player {position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden;}
.vk-player iframe {position: absolute; top: -1px; left: -1px; width: calc(100% + 2px); height: calc(100% + 2px); border: 0;}
.vk-player-loading {z-index: 3; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #5ec8f2, #0d5aa7); transition: opacity .25s ease;}
.vk-player-loading-done {opacity: 0; pointer-events: none;}

/* --- VKontakte - Live - Overlays --- */
.vk-live::before,
.vk-live::after {content: ""; position: absolute; z-index: 2; pointer-events: none; transition: opacity .25s ease;}
.vk-live::before {top: 0.9%; right: 0.9%; width: 19.25%; height: 13.0%; background: url("/content/other/btcc_02.png") center / contain no-repeat; background-origin: content-box; box-sizing: border-box; padding: .5%; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);}
.vk-live::after {left: 0; right: 0; bottom: 0; height: 9.6%; background: url("/content/other/vkontakte_02.png") right 0.0% bottom 0.0% / auto 96% no-repeat, linear-gradient(to top, rgba(0,0,0,.98) 0, rgba(0,0,0,.98) 25%, rgba(0,0,0,0) 39%);}
.vk-live:hover::after {opacity: 0;}