/* Страницы платформы: блоки стоят по ролям, всё в долях ширины, поэтому страница одинакова на любом экране */
.sld.view { aspect-ratio:auto !important; display:block }
.pg { position:relative; min-height:56.25cqw; padding:4.4cqw 5.4cqw; display:flex; flex-direction:column; gap:1.5cqw; font-size:2.25cqw; line-height:1.4 }
.pg > .b { position:relative; left:auto; top:auto; width:auto; height:auto; overflow:visible; font-size:inherit; padding:0 }
.sld.view .r-head { font-family:var(--t-head, inherit); font-size:3.7cqw; font-weight:700; line-height:1.15 }
.sld.view .r-sub { font-size:2.3cqw; color:var(--t-muted, #6b7280) }
.sld.view .r-note { font-size:1.8cqw; color:var(--t-muted, #6b7280) }
.v-title .pg { justify-content:center; text-align:center; gap:2cqw }
.sld.v-title .r-head { font-size:6cqw }
.sld.v-title .r-sub { font-size:2.8cqw }
.v-title.has-pic .pg { display:grid; grid-template-columns:1.25fr 1fr; column-gap:3cqw; align-content:center; text-align:left } .sld.v-title.has-pic .r-head { font-size:4.8cqw; grid-column:1 } .sld.v-title.has-pic .r-sub { grid-column:1; font-size:2.3cqw } .v-title.has-pic .r-pic { grid-column:2; grid-row:1 / span 2; align-self:center }
.v-theory.has-pic .pg { display:grid; grid-template-columns:1.3fr 1fr; column-gap:3cqw; align-content:start }
.v-theory.has-pic .r-head, .v-theory.has-pic .r-sub { grid-column:1 / -1 }
.sld.view .b-image img { width:100%; height:auto; max-height:44cqw; object-fit:contain; border-radius:1cqw }
.sld.view .r-cond { padding:1.3cqw 1.8cqw; background:var(--t-card, #f4f7ff); border-left:.5cqw solid var(--t-accent, #2f6df6); border-radius:.6cqw }
.sld.view .r-step { padding-left:3.6cqw; counter-increment:pg-step }
.sld.view .r-step::before { content:counter(pg-step); position:absolute; left:0; top:.1em; width:2.4cqw; height:2.4cqw; line-height:2.4cqw; border-radius:50%; text-align:center; font-size:1.6cqw; font-weight:700; background:var(--t-accent, #2f6df6); color:var(--t-on, #fff) }
.v-example .pg { counter-reset:pg-step }
.sld.view .r-step.hide, .sld.view .r-answer.hide { display:none }
.sld.view .r-answer { font-weight:600; color:var(--t-accent, #2f6df6) }
.pg-next { align-self:flex-start; font:inherit; border:0; border-radius:.6cqw; padding:.7cqw 1.8cqw; background:#2f6df6; color:#fff; cursor:pointer }
.v-tasks .pg { counter-reset:pg-task; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.4cqw; align-content:start }
.v-tasks .pg > .r-head, .v-tasks .pg > .r-sub, .v-tasks .pg > .b-set { grid-column:1 / -1 }
.sld.view .b-task { display:flex; flex-direction:column; gap:.8cqw; padding:1.4cqw 1.7cqw 1.4cqw 3.6cqw; border-radius:1cqw; overflow:visible; font-size:2.1cqw; counter-increment:pg-task }
.sld.view .b-task::before { content:counter(pg-task); position:absolute; left:1.1cqw; top:1.4cqw; font-weight:700; color:var(--t-accent, #2f6df6) }
.b-set { font-size:inherit }
.set-h { display:flex; gap:1cqw; align-items:center; color:var(--t-muted, #6b7280); font-size:1.7cqw; margin-bottom:.8cqw }
.set-l { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1cqw; margin:0; padding:0; list-style:none }
.set-l li { position:relative; padding:1.2cqw 1.6cqw 1.2cqw 3.4cqw; border:.08cqw solid var(--t-line, #d6e0f5); background:var(--t-card, #f4f7ff); border-radius:1cqw; counter-increment:pg-task }
.set-l li::before { content:counter(pg-task); position:absolute; left:1.1cqw; font-weight:700; color:var(--t-accent, #2f6df6) }
.set-l li p { margin:0 } .set-l li i { display:block; font-style:normal; font-size:1.6cqw; color:var(--t-muted, #6b7280) }
.v-game .pg { justify-content:center }
.sld.view.v-game .b-game { align-self:center; width:60%; padding:3cqw; font-size:2.4cqw }
.sld.view.v-game .b-game.live { width:100%; height:46cqw; padding:0 }
.sld.view .r-hw { padding:1.4cqw 1.8cqw; border:.1cqw dashed var(--t-line, #d6e0f5); border-radius:1cqw }
.sld.view.flow { padding:0; container-type:normal; min-width:0 }
.sld.view.flow .pg > .b { position:relative }
.flow .pg { padding:18px; gap:12px; font-size:16px; min-height:0; display:flex; flex-direction:column; min-width:0 }
.sld.view.flow .r-head { font-size:24px } .sld.view.flow .r-sub { font-size:16px } .sld.view.flow .b-task { font-size:17px; padding:12px 12px 12px 34px } .sld.view.flow .b-task::before { left:12px; top:12px }
.sld.view.flow .r-step { padding-left:32px } .sld.view.flow .r-step::before { width:24px; height:24px; line-height:24px; font-size:14px }
.flow .tk-f { flex-wrap:wrap } .flow .tk-f input { min-width:120px }
