.igro-s2{--s2-text:#eef4ff;--s2-muted:#b9c8dc;--s2-border:#33445f;--s2-accent:#84d4ff;max-width:1160px;margin:28px auto 65px;padding:0 18px;color:var(--s2-text);font-family:inherit}.igro-s2 *{box-sizing:border-box}.igro-s2-hero,.igro-s2-lesson-head{padding:42px 40px;border:1px solid #354f70;border-radius:24px;background:radial-gradient(circle at 90% 5%,#22486a 0%,transparent 43%),linear-gradient(125deg,#18283e,#202d46 66%,#273652)}.igro-s2-eyebrow{font-size:12px;letter-spacing:.13em;font-weight:800;color:#9bdeff}.igro-s2 h1{color:#fff;font-size:clamp(32px,5vw,54px);line-height:1.1;margin:12px 0 16px}.igro-s2-hero p,.igro-s2-lesson-head p{color:#d3e3f6;font-size:17px;max-width:750px;line-height:1.7}.igro-s2-hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.igro-s2-hero-tags span,.igro-s2-pill{border:1px solid #426287;background:#263b55;color:#d5ecff;padding:6px 11px;border-radius:999px;font-size:12px}.igro-s2-toolbar{display:flex;flex-wrap:wrap;gap:15px;margin:28px 0 20px}.igro-s2-toolbar label{display:flex;flex-direction:column;gap:6px;color:#e6f0fb;font-size:13px;font-weight:650;min-width:170px;flex:1}.igro-s2-toolbar .igro-s2-search-label{flex:2;min-width:220px}.igro-s2-toolbar input,.igro-s2-toolbar select{border:1px solid #455873;border-radius:12px;padding:12px 14px;min-height:45px;background:#1b2b40;color:#fff;width:100%;font:inherit}.igro-s2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:16px}.igro-s2-card{display:flex;flex-direction:column;min-height:235px;background:linear-gradient(150deg,#21334d,#1b293e);border:1px solid #344762;border-radius:18px;padding:22px}.igro-s2-card-top,.igro-s2-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.igro-s2-num{font-size:24px;font-weight:900;color:#84d4ff}.igro-s2-card h2{font-size:22px;line-height:1.25;margin:16px 0 9px}.igro-s2-card h2 a{color:#fff;text-decoration:none}.igro-s2-card h2 a:hover{color:#8fd8ff}.igro-s2-card p{color:#c5d5e9;font-size:14px;line-height:1.6;margin:0 0 20px}.igro-s2-card-foot{margin-top:auto;font-size:12px;color:#bacce1}.igro-s2-card-foot a{color:#8cdbff;text-decoration:none;font-weight:700}.igro-s2-empty{padding:18px}.igro-s2-back{display:inline-block;color:#8cdbff;text-decoration:none;margin-bottom:20px}.igro-s2-lesson-head{margin-bottom:24px}.igro-s2-lesson h2{color:#edf5ff;font-size:25px;margin:30px 0 14px}.igro-s2-lesson .igro-s2-result,.igro-s2-challenge{background:#1b3244;border-left:4px solid #85d8ff;padding:18px 22px;border-radius:12px}.igro-s2-challenge{border-left-color:#ffd36e;margin-top:30px}.igro-s2-result p,.igro-s2-challenge p{color:#e1eaf6;margin-bottom:0}.igro-s2-placement,.igro-s2-steps{color:#e0eaf7;line-height:1.8}.igro-s2-steps li{margin:5px 0}.igro-s2-code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#25354b;border:1px solid #47566e;border-bottom:0;border-radius:12px 12px 0 0;padding:10px 14px;color:#d4e6f6}.igro-s2-copy{background:#91d9ff!important;border:0!important;color:#16283b!important;border-radius:9px!important;padding:9px 13px!important;font-size:13px!important;font-weight:800!important;cursor:pointer}.igro-s2-code{margin:0!important;border:1px solid #47566e!important;border-radius:0 0 12px 12px!important;background:#101b2a!important;color:#d9edff!important;padding:22px!important;white-space:pre!important;overflow:auto!important;line-height:1.65!important;font-size:13px!important;tab-size:4}.igro-s2-code code{background:transparent!important;padding:0!important;color:inherit!important;font-size:inherit!important;white-space:inherit!important}.igro-s2 [hidden]{display:none!important}@media(max-width:640px){.igro-s2-hero,.igro-s2-lesson-head{padding:28px 22px}.igro-s2-card{min-height:220px}.igro-s2-code{font-size:12px!important}}

.igro-s2-challenge-step{margin-top:15px;padding:12px 14px;background:rgba(255,255,255,.045);border-radius:10px}.igro-s2-challenge-step b{color:#ffe6a2}.igro-s2-challenge-step p{margin:7px 0 0}.igro-s2-trouble{border:1px solid #536882;background:#1a2c41;border-radius:12px;margin-top:18px;padding:18px 22px}.igro-s2-trouble p{margin:9px 0 0;color:#dce8f5;line-height:1.6}

.igro-s2-code-wrap{margin:20px 0 24px}.igro-s2-code-head span{overflow-wrap:anywhere;font-size:13px}.igro-s2-related{margin-top:28px;border:1px solid var(--s2-border);border-radius:16px;padding:20px 24px;background:#203147}.igro-s2-related h2{margin-top:0}.igro-s2-related ul{padding-left:20px;line-height:2}.igro-s2-related a{color:#9bdfff}.igro-s2-copy:focus-visible,.igro-s2 a:focus-visible{outline:3px solid #ffdf87;outline-offset:3px}

/* Версия 1.7: самопроверка */
.igro-s2-quiz{margin:28px 0;padding:22px;border-radius:16px;background:rgba(55,119,180,.10);border:1px solid rgba(120,158,215,.28)}
.igro-s2-quiz-options{display:grid;gap:10px;margin:14px 0}
.igro-s2-quiz-options label{display:block;padding:10px;border-radius:9px;background:rgba(128,148,166,.12);cursor:pointer}
.igro-s2-quiz-check{padding:10px 16px;border-radius:9px;border:0;background:#447cd7;color:#fff;cursor:pointer}
.igro-s2-quiz-feedback{min-height:1.5em;font-weight:600}.igro-s2-quiz-feedback.is-correct{color:#26975b}

/* Версия 1.8: дерево Explorer, инструкция и комфортное чтение */
.igro-s2-explorer{margin:16px 0;background:#14243a;border:1px solid #49617e;border-radius:13px;padding:18px 20px}
.igro-s2-explorer strong{color:#a7e3ff}
.igro-s2-explorer pre{white-space:pre;overflow-x:auto;margin:12px 0 0;color:#e1edfa;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}
.igro-s2-setup{white-space:normal;color:#dce8f5;line-height:1.75}
.igro-s2-quiz-options label:has(input:focus-visible){outline:2px solid #ffd36e}
.igro-s2-quiz-feedback:not(:empty){padding:8px 0}
@media(prefers-reduced-motion:reduce){.igro-s2 *{scroll-behavior:auto!important;transition:none!important}}

/* 1.9: фильтры, читаемость кода и доступность клавиатуры */
.igro-s2-reset{align-self:end;cursor:pointer;border:1px solid #71849a;border-radius:10px;padding:10px 15px;background:transparent;color:inherit;font:inherit}
.igro-s2-count{margin:10px 0 18px;color:inherit;opacity:.85}
.igro-s2 :is(a,button,input,select):focus-visible{outline:3px solid #e5a939;outline-offset:3px}
.igro-s2-code{overflow-x:auto;tab-size:4;white-space:pre;max-width:100%}
.igro-s2-card[hidden]{display:none!important}
@media(max-width:600px){.igro-s2-code{font-size:12px;line-height:1.55}.igro-s2-reset{width:100%}}

.igro-s2-track-steps{padding-left:1.4rem;line-height:1.9}.igro-s2-track-steps li{margin:.5rem 0}.igro-s2-path-link{display:inline-block;padding:.7rem 1rem;border:1px solid currentColor;border-radius:12px;font-weight:700}.igro-s2-paths .igro-s2-card{min-width:0}

/* 2.1: учебные маршруты и отметки прогресса */
.igro-s2-progress-panel,.igro-s2-combine-note,.igro-s2-path-help,.igro-s2-project-tips{border:1px solid #4d6582;border-radius:14px;padding:18px 20px;background:#1b3047;margin:20px 0;color:#e4eefb}
.igro-s2-progress-panel p,.igro-s2-combine-note p{margin:7px 0;line-height:1.6}
.igro-s2-progress-panel button,.igro-s2-track-reset{border:1px solid #8ddcff;border-radius:9px;background:#27435e;color:#fff;padding:10px 13px;cursor:pointer;font:inherit}
.igro-s2-progress-panel button[aria-pressed="true"]{background:#245743;border-color:#8fdbb5}
.igro-s2-progress-feedback{font-size:13px;color:#bfe3fb}
.igro-s2-track-progress{margin:5px 0 14px;color:#d6e6fa;font-size:13px}
.igro-s2-track-meter{height:8px;background:#102237;border-radius:99px;overflow:hidden;margin-top:8px}
.igro-s2-track-meter span{display:block;height:100%;width:0;background:#82d5b0;transition:width .15s ease}
.igro-s2-track-steps{margin-top:8px;padding-left:1.5rem}
.igro-s2-track-steps li{position:relative;padding-left:4px}
.igro-s2-track-steps li.is-complete a{color:#a9e9c6}
.igro-s2-step-check{display:inline-block;width:14px;margin-right:4px}
.igro-s2-track-steps li.is-complete .igro-s2-step-check::before{content:'✓';color:#8fe5b8;font-weight:800}
.igro-s2-track-reset{font-size:12px;margin-top:auto}
.igro-s2-track-reset:disabled{opacity:.5;cursor:not-allowed}
.igro-s2-project-tips ol{padding-left:1.3rem;line-height:1.8}
@media(prefers-reduced-motion:reduce){.igro-s2-track-meter span{transition:none}}

/* 2.2: обратная связь после мини-теста */
.igro-s2-quiz-feedback{line-height:1.6;overflow-wrap:anywhere}
.igro-s2-quiz-feedback:not(.is-correct):not(:empty){color:#ffe3a1}
.igro-s2-quiz-feedback.is-correct{color:#b6f2d0}

/* v2.6: практический курс и предупреждения о совместимости */
.igro-s2-compat,.igro-s2-lab-intro{border:1px solid #947846;background:#382f27;border-radius:14px;padding:17px 20px;margin:20px 0;color:#fff1d7}
.igro-s2-compat p,.igro-s2-lab-intro p{margin:8px 0 0;line-height:1.7;color:inherit}
.igro-s2-lab-intro{background:#1c3447;border-color:#527c97;color:#e9f6ff}
.igro-s2-lab-steps{list-style:none;margin:25px 0;padding:0;display:grid;gap:16px}
.igro-s2-lab-step{border:1px solid #415977;border-radius:16px;padding:20px 24px;background:#20344e}
.igro-s2-lab-step-head span{font-size:13px;color:#b8e6ff;font-weight:700}
.igro-s2-lab-step h2{margin:7px 0 10px;font-size:22px}
.igro-s2-lab-step p{line-height:1.7;color:#e2efff}
.igro-s2-lab-step a{color:#9ce0ff;font-weight:750}
.igro-s2-unavailable{color:#ffe0a2}
.igro-s2-lab .igro-s2-project-tips ul{line-height:1.85;padding-left:1.5rem}
@media(max-width:600px){.igro-s2-lab-step{padding:16px}.igro-s2-lab-step h2{font-size:20px}}

/* 2.9: персональные векторные обложки практик */
.igro-s2-card-art{display:block;margin:14px -8px 4px;border-radius:12px;overflow:hidden;aspect-ratio:2/1;background:#1a3551;border:1px solid #4b6582}
.igro-s2-cover-img{display:block;width:100%;height:100%;object-fit:cover}
.igro-s2-card-art .igro-s2-cover-img{transition:transform .18s ease}
.igro-s2-card-art:hover .igro-s2-cover-img{transform:scale(1.035)}
.igro-s2-lesson-art{max-width:600px;aspect-ratio:2/1;border:1px solid #55708e;border-radius:16px;overflow:hidden;margin-top:22px}
.igro-s2-card-art:focus-visible{outline:3px solid #ffdf87;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.igro-s2-card-art .igro-s2-cover-img{transition:none}}

/* 2.10: навигация внутри практики, проверенная карта файлов Explorer, соседние уроки */
.igro-s2-toc{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:14px 16px;border:1px solid #405c7b;border-radius:14px;background:#1a2c43;margin:18px 0 22px}
.igro-s2-toc strong{color:#e8f5ff;margin-right:8px}
.igro-s2-toc a{display:inline-block;color:#b8e9ff;background:#263d57;border:1px solid #466886;padding:6px 10px;border-radius:8px;text-decoration:none;font-size:13px}
.igro-s2-toc a:hover{background:#355675}
.igro-s2-lesson [id^="igro-s2-"]{scroll-margin-top:95px}
.igro-s2-file-map p{color:#c7d8ea;font-size:13px;line-height:1.55;margin:7px 0 0}
.igro-s2-neighbors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:32px 0 0}
.igro-s2-neighbors a{display:flex;flex-direction:column;gap:7px;padding:17px 20px;border:1px solid #456582;background:#1e344c;border-radius:14px;color:#e7f4ff;text-decoration:none;min-width:0}
.igro-s2-neighbors a:hover{border-color:#89d7f9;background:#284663}
.igro-s2-neighbors a small{font-size:12px;color:#a6def7}
.igro-s2-neighbors a strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:620px){.igro-s2-toc{gap:7px}.igro-s2-neighbors{grid-template-columns:1fr}}

/* 2.11: supplementary teacher content in standard WordPress editor */
.igro-s2-teacher-notes{margin:26px 0;padding:20px 22px;border:1px solid #496984;background:#1b3048;border-radius:16px;color:#e9f4ff;overflow-wrap:anywhere}
.igro-s2-teacher-notes h2{margin-top:0}
.igro-s2-teacher-notes img{max-width:100%;height:auto;border-radius:10px}
.igro-s2-teacher-notes pre{max-width:100%;overflow-x:auto}

/* 2.15.1: predictable width when the theme skips its regular content wrapper */
.igro-s2-template-main{width:100%;max-width:1180px;margin:0 auto;padding:clamp(16px,3vw,36px) 18px 70px;box-sizing:border-box}
.igro-s2-template-main .igro-s2{max-width:100%}
