/* «Повтори свет» в блоге: тёмная студия на всю ширину внутри светлой страницы. Цвета — из темы «Декан Маркина». */
.dekan-igra, .dekan-lidery, .dekan-vhod {
	--di-bg: #0f1012; --di-panel: #15171a; --di-line: #2a2d31; --di-fg: #F7F5EF; --di-tusk: #B9B5AA;
	--di-akcent: #1E7D6A; --di-akcent-svet: #5fc0a9; --di-ok: #5fc0a9; --di-bad: #d9826b;
	--di-l1: #e2a64a; --di-l2: #7fb6c9; --di-l3: #c98fa3;
}
.dekan-igra [hidden] { display: none !important; }
.is-layout-constrained > .dekan-igra, .dekan-tekst > .dekan-igra, .dekan-igra {
	width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important;
	background: var(--di-bg); color: var(--di-fg); box-sizing: border-box;
	padding: clamp(18px, 3vw, 36px) max(16px, calc((100vw - 1280px) / 2)) clamp(28px, 4vw, 48px);
	font: 15px/1.5 Manrope, 'Segoe UI', Arial, sans-serif;
}
.dekan-igra * { box-sizing: border-box; }
.dekan-igra a { color: var(--di-akcent-svet); }
.dekan-igra__verh { display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between; align-items: baseline; margin-bottom: 16px; }
.dekan-igra__logo { flex: 0 0 100%; display: block; line-height: 0; }
.dekan-igra__logo img { display: block; width: 200px !important; max-width: 60vw; height: auto !important; margin: 0 !important; }
.dekan-igra--gost .dekan-igra__logo img { margin: 0 auto 20px !important; }
.dekan-igra__kto { margin: 0; color: var(--di-tusk); }
.dekan-igra__kto b { color: var(--di-fg); }
.dekan-igra__skryt { color: var(--di-tusk); font-size: 13px; display: flex; gap: 8px; align-items: center; }
.dekan-igra__scena { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 24px; align-items: start; }
.dekan-igra__kadry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.dekan-igra figure { margin: 0; min-width: 0; }
.dekan-igra__ramka { position: relative; aspect-ratio: 533 / 568; width: 100%; background: #000; border-radius: 6px; overflow: hidden; }
.dekan-igra__ramka canvas { width: 100%; height: 100%; display: block; }
.dekan-igra__zhdi { position: absolute; inset: 0; display: grid; place-items: center; color: var(--di-tusk); font-size: 13px; }
.dekan-tekst .dekan-igra figcaption, .dekan-igra figcaption { font: 400 13px/1.45 Manrope, 'Segoe UI', Arial, sans-serif !important; font-style: normal !important; color: var(--di-tusk) !important; margin-top: 8px; }
.dekan-tekst .dekan-igra p, .dekan-tekst .dekan-igra li { color: inherit; }
.dekan-igra figcaption b { color: var(--di-fg); font-weight: 600; }
.dekan-igra__maks { color: var(--di-akcent-svet); white-space: nowrap; }
.dekan-igra__pult { display: grid; gap: 14px; min-width: 0; }
.dekan-igra__karta { background: var(--di-panel); border: 1px solid var(--di-line); border-radius: 14px; padding: 14px; min-width: 0; }
.dekan-igra__karta h2 { font: 600 11px/1 Manrope, sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: var(--di-tusk) !important; margin: 0 0 10px !important; }
.dekan-igra__zametka { color: var(--di-tusk); font-size: 13px; margin: 8px 0 0; }
.dekan-igra__zametka b { color: var(--di-fg); }
.dekan-igra__plan { width: 100%; height: auto; display: block; touch-action: manipulation; }
.dekan-igra__plan .ring { fill: none; stroke: var(--di-line); }
.dekan-igra__plan .tick { font: 9px Manrope, sans-serif; fill: var(--di-tusk); }
.dekan-igra__plan .dot { fill: var(--di-panel); stroke: var(--di-tusk); stroke-width: 1.2; cursor: pointer; }
.dekan-igra__plan .pt { cursor: pointer; outline: none; }
.dekan-igra__plan .pt:hover .dot, .dekan-igra__plan .pt:focus-visible .dot { stroke: var(--di-akcent-svet); stroke-width: 2; }
.dekan-igra__plan .dot.off { fill: none; stroke: var(--di-line); stroke-dasharray: 2 2; cursor: default; }
.dekan-igra__plan .lamp { stroke: var(--di-bg); stroke-width: 2; }
.dekan-igra__plan .ghost { fill: none; stroke-width: 2; stroke-dasharray: 3 3; }
.dekan-igra__pribory { display: grid; gap: 10px; }
.dekan-igra__pribor { border: 1px solid var(--di-line); border-radius: 10px; padding: 10px 12px; display: grid; gap: 8px; cursor: pointer; }
.dekan-igra__pribor[aria-current="true"] { border-color: var(--c); box-shadow: inset 3px 0 0 var(--c); }
.dekan-igra__pribor .row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dekan-igra__pribor .name { font: 600 13px Manrope, sans-serif; display: flex; align-items: center; gap: 8px; background: none; border: 0; color: var(--di-fg); padding: 2px 0; cursor: pointer; }
.dekan-igra__pribor .name i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); display: inline-block; }
.dekan-igra__pribor .pos { font-size: 12px; color: var(--di-tusk); margin-left: auto; }
.dekan-igra__pribor .x { background: none; border: 0; color: var(--di-tusk); cursor: pointer; font-size: 18px; line-height: 1; padding: 6px 8px; }
.dekan-igra .seg { display: inline-flex; border: 1px solid var(--di-line); border-radius: 8px; overflow: hidden; flex-wrap: wrap; }
.dekan-igra .seg button { font: 12px Manrope, sans-serif; background: transparent; color: var(--di-tusk); border: 0; padding: 7px 9px; cursor: pointer; }
.dekan-igra .seg button[aria-pressed="true"] { background: var(--di-line); color: var(--di-fg); }
.dekan-igra .seg button:disabled { opacity: .35; cursor: default; }
.dekan-igra .pow { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--di-tusk); }
.dekan-igra .pow input { flex: 1; min-width: 0; accent-color: var(--c); }
.dekan-igra .pow output { font-size: 12px; width: 6ch; text-align: right; color: var(--di-fg); }
.dekan-igra__deystviya { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.dekan-igra__btn, .dekan-igra__knopka {
	font: 600 13px/1 Manrope, sans-serif; color: var(--di-fg); background: transparent; text-decoration: none;
	border: 1px solid rgba(247,245,239,.25); border-radius: 999px; padding: 11px 16px; cursor: pointer; display: inline-block;
}
.dekan-igra__btn--glavn, .dekan-igra__knopka { background: var(--di-akcent); border-color: var(--di-akcent); color: #fff !important; }
.dekan-igra__knopka--vtor { background: transparent; color: var(--di-fg) !important; border-color: rgba(247,245,239,.25); }
.dekan-igra__btn:disabled { opacity: .45; cursor: default; }
.dekan-igra__btn[aria-pressed="true"] { border-color: var(--di-akcent-svet); }
.dekan-igra button:focus-visible, .dekan-igra input:focus-visible { outline: 2px solid var(--di-akcent-svet); outline-offset: 2px; }
.dekan-igra__ball { font: 600 44px/1 Unbounded, Manrope, sans-serif; }
.dekan-igra__ball small { font: 500 13px Manrope, sans-serif; color: var(--di-tusk); margin-left: 8px; }
.dekan-igra__oshibka { color: var(--di-bad); margin: 0; }
.dekan-igra__pravila { margin-top: 28px; max-width: 80ch; color: var(--di-tusk); }
.dekan-igra__pravila summary { cursor: pointer; color: var(--di-fg); font-weight: 600; }
.dekan-igra__pravila p { color: var(--di-tusk) !important; }
.dekan-igra__titry { margin-top: 18px; font-size: 12px; color: var(--di-tusk); }
.dekan-igra--gost { text-align: center; padding-top: 48px; padding-bottom: 56px; }
.dekan-igra--gost p { color: var(--di-fg) !important; }
@media (max-width: 900px) {
	.dekan-igra__scena { grid-template-columns: minmax(0, 1fr); }
	.dekan-igra__kadry { position: sticky; top: 0; z-index: 2; background: var(--di-bg); padding-bottom: 6px; }
	.dekan-igra figcaption { font-size: 12px; }
}

/* таблица лидеров — на светлой странице */
.dekan-lidery__upr { display: flex; flex-wrap: wrap; gap: 10px 16px; justify-content: space-between; margin-bottom: 14px; }
.dekan-lidery__vkl { display: inline-flex; border: 1px solid var(--line, #ddd8cc); border-radius: 999px; overflow: hidden; }
.dekan-lidery__vkl button { font: 600 13px Manrope, sans-serif; background: transparent; border: 0; padding: 9px 14px; cursor: pointer; color: #33363b; }
.dekan-lidery__vkl button[aria-pressed="true"] { background: #0f1012; color: #F7F5EF; }
.dekan-lidery__obertka { overflow-x: auto; }
.dekan-lidery__tabl { width: 100%; border-collapse: collapse; font-size: 15px; }
.dekan-lidery__tabl th { text-align: left; font: 600 11px Manrope, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6f6b63; border-bottom: 1px solid #ddd8cc; padding: 8px 10px; }
.dekan-lidery__tabl td { border-bottom: 1px solid #ece8de; padding: 9px 10px; }
.dekan-lidery__tabl td:first-child { font-weight: 700; width: 3.5em; }
.dekan-lidery__ya td { background: rgba(30,125,106,.1); font-weight: 600; }
.dekan-lidery__moya { background: rgba(30,125,106,.1); padding: 10px 14px; border-radius: 10px; }
.dekan-lidery__pojasn { color: #6f6b63; font-size: 14px; }

/* вход и регистрация */
.dekan-vhod { max-width: 460px; }
.dekan-forma { display: grid; gap: 14px; }
.dekan-forma[hidden] { display: none !important; }
.dekan-forma h2 { margin: 0; }
.dekan-forma label { display: grid; gap: 6px; font-weight: 600; font-size: 14px; }
.dekan-forma label small { font-weight: 400; color: #6f6b63; }
.dekan-forma input[type=text], .dekan-forma input[type=email], .dekan-forma input[type=password] {
	font: 16px Manrope, sans-serif; padding: 11px 14px; border: 1px solid #cfcac0; border-radius: 10px; background: #fff;
}
.dekan-forma__galka { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; }
.dekan-forma__galka input { margin-top: 4px; }
.dekan-forma button { justify-self: start; font: 600 15px Manrope, sans-serif; background: #1E7D6A; color: #fff; border: 0; border-radius: 999px; padding: 12px 22px; cursor: pointer; }
.dekan-forma__niz { font-size: 14px; margin: 0; }
.dekan-forma__oshibka { background: #fbe9e5; color: #8a2b1a; padding: 10px 14px; border-radius: 10px; }
.dekan-forma__lovushka { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* 1.4: подсказка «как играть» на первые три задания; узкий экран — без колонки «Серия» */
.dekan-igra__kak { margin: 0 0 16px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; color: var(--di-fg); font-size: 15px; line-height: 1.5; }
@media (max-width: 520px) { .dekan-lidery__tabl th:nth-child(6), .dekan-lidery__tabl td:nth-child(6) { display: none; } }
