/* Единый файл стилей сайта: style + refinements + navigation + redesign, порядок слоёв сохранён; удалено только перекрытое позже. */
/* ===== style.css (слито в site.css) ===== */
:root{font:16px/1.6 system-ui,Segoe UI,sans-serif}
*{box-sizing:border-box}
body{margin:0}
button,a,input{font:inherit}
a{color:inherit;text-underline-offset:4px}
button,.button{cursor:pointer}
header{padding:24px 5%;border-bottom:1px solid #e0e4e1;display:flex;align-items:center;justify-content:space-between;gap:25px;background:white}
.brand{text-decoration:none;font-size:25px;line-height:1.2}
.brand small{display:block;font:12px system-ui;letter-spacing:2px;margin-bottom:5px}
nav{display:flex;gap:24px;align-items:center}
nav a{text-decoration:none}
nav a[aria-current=page]{color:var(--accent);text-decoration:underline}
main{max-width:1160px;margin:auto;padding:50px 28px}
h1,h2{font-weight:400;line-height:1.12}
h1{font-size:clamp(38px,6vw,68px);margin:14px 0 24px}
h2{font-size:34px}
h3{font-size:20px;line-height:1.4;margin-top:0}
.eyebrow{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}
.lead{font-size:20px;max-width:660px}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center;padding:25px 0 45px}
.path{color:white;padding:35px}
.path li{padding:14px 0;border-bottom:1px solid #ffffff30}
.path ol{padding-left:22px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{padding:27px}
.tag{font-size:13px;font-weight:600}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.section{margin-top:55px}
.modules{display:grid;gap:16px}
.module{display:grid;grid-template-columns:55px 1fr auto;gap:20px;padding:25px;align-items:center}
.number{font:34px Georgia}
.module p{margin:5px 0}
.lesson{display:grid;grid-template-columns:1fr 300px;gap:32px}
.lesson h1{font-size:44px}
.aside{padding:24px;align-self:start}
.video{color:white;padding:38px;margin:25px 0}
.video a{background:white;color:#243532}
.video a.vk{background:#087bfb;color:white;border-color:#087bfb}
.locked{padding:40px;border:1px dashed #bd6a85}
.chapters{padding-left:20px}
.chapters li{padding:9px 0}
.checklist label{display:block;margin:12px 0}
input{accent-color:#a7375a}
fieldset{border:0;padding:0;margin:20px 0}
legend{font-weight:600}
fieldset label{display:block;margin:8px 0}
#feedback{padding:15px;margin-top:15px}
footer{padding:25px 5%;border-top:1px solid #dce1df;color:#61726c;font-size:14px}
dialog{max-width:520px;border:1px solid #dce1df;padding:30px}
dialog::backdrop{background:#24353290}
[hidden]{display:none!important}
@media(max-width:800px){
.hero,.lesson,.grid{grid-template-columns:1fr}
.hero{gap:25px}
.module{grid-template-columns:35px 1fr}
.module .button{grid-column:2}
header{flex-wrap:wrap}
nav{gap:15px;flex-wrap:wrap}
main{padding:30px 20px}
.lesson h1{font-size:34px}
}
.list{display:grid}
.pill{font-size:14px}
.stats{display:flex;gap:30px;flex-wrap:wrap;padding:25px;margin:25px 0}
.stats strong{font-size:30px;display:block}
.notice{padding:18px;border-left:3px solid #b57a24}
.aside ol{padding-left:20px}
.aside li{margin:12px 0}
.aside a[aria-current=page]{font-weight:700}
.actions .disabled{opacity:.6}
.practice label{display:block;margin:12px 0}
.error{color:#873046}
.module .number{min-width:30px}
@media(max-width:700px){
.lesson-row{grid-template-columns:30px 1fr}
.lesson-row>.button{grid-column:2}
}
#status:not(:empty){padding:18px;border-left:3px solid #b57a24}
.path .eyebrow{color:#f1b5c8}
nav .button{padding:9px 14px}
.start-step .lesson-row{margin-top:12px}
.path a{color:inherit}
.module-study{margin:28px 0}
.module-study li{margin-bottom:12px}
.module-study fieldset{min-width:0}
.module-study legend{font-weight:600}
.module-study label{display:block}
.notebook{margin:28px 0}
.notebook textarea{display:block;width:100%;box-sizing:border-box;font:inherit;border:1px solid #bfcac4;padding:14px;margin:12px 0;resize:vertical}
.notebook textarea:disabled{opacity:.7}
.module-study button:disabled,.notebook button:disabled{opacity:.65;cursor:wait}
.notebook p{overflow-wrap:anywhere}
.help-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:28px 0}
section[id]{scroll-margin-top:24px}
section[id]>h3{margin-top:28px}
.lesson>div{min-width:0}
.lesson-jumps button{padding:8px 12px;font-size:15px}
.lesson [tabindex="-1"]{scroll-margin-top:18px}
.practice-completion label{display:flex;align-items:center;gap:10px}
.module-study fieldset label{display:flex;gap:10px;border-radius:6px}
.module-study input[type=radio],.practice-completion input{flex-shrink:0}
.module-study,.notebook,.lesson-row,.card{overflow-wrap:anywhere}
@media(max-width:480px){
.lesson-jumps button{flex:1 1 130px}
.module-study,.notebook{padding:18px}
.module-study fieldset{padding:12px}
.lesson h1{font-size:32px}
}
.lesson-feedback{margin:28px 0}
.lesson-feedback label{display:block;margin:16px 0 8px}
.lesson-feedback select,.lesson-feedback textarea{display:block;font:inherit;width:100%;max-width:100%;padding:12px;border:1px solid #bfcac4;margin-bottom:16px;background:white}
.lesson-feedback textarea{resize:vertical}
.lesson-feedback button:disabled{opacity:.65}
.feedback-comment{white-space:pre-wrap;overflow-wrap:anywhere;border-left:3px solid #20746b;padding:12px 18px;margin:16px 0}
.brand small{max-width:260px}
#admin-search{display:block;width:100%;max-width:640px;padding:12px;margin:8px 0 18px;font:inherit;border:1px solid #bfcac4;border-radius:8px}
#admin-filter{max-width:100%;padding:10px;font:inherit}
[data-admin-lesson][hidden]{display:none}
.flower-editor{margin:24px 0}
.flower-editor label{display:block;margin:16px 0}
.flower-editor textarea,.flower-editor select,.flower-editor input:not([type=checkbox]){display:block;width:100%;max-width:100%;font:inherit;padding:10px;box-sizing:border-box}
.flower-editor blockquote{white-space:pre-wrap;overflow-wrap:anywhere}
.flower-editor input[type=checkbox]{width:20px;height:20px}
.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.video-card{padding-bottom:14px}
.video-card h2{font-size:16px;line-height:1.35;margin:12px 12px 8px;overflow-wrap:anywhere}
.video-card time,.video-card>p{font-size:13px;margin:12px;display:block}
.video-placeholder{height:100%;display:grid;place-items:center;font-size:14px;text-align:center;padding:10px;box-sizing:border-box}
.video-lock{position:absolute;top:7px;right:7px;width:40px;height:40px;background:transparent url(/subscriber-coin-s.png) no-repeat center/40px 40px}
.video-links{display:flex;flex-wrap:wrap;margin:12px}
.video-filters{flex-wrap:wrap;align-items:end}
.video-filters label{flex:1;min-width:160px}
.video-filters input,.video-filters select{display:block;width:100%;font:inherit;padding:10px;box-sizing:border-box}
.cover-upload{font-size:12px;display:block;margin:12px}
.cover-upload input{display:block;width:100%;margin-top:6px;font-size:11px}
#video-more{margin:24px 0}
@media(max-width:1000px){
.video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
.video-card h2{font-size:14px;margin:9px}
.video-links{margin:9px}
.video-links .button{padding:6px;font-size:11px}
.video-filters label{min-width:100%}
}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0 28px}
.guide-card{min-width:0}
.guide-card h3{margin:8px 0}
.guide-years{display:flex;gap:10px;margin:20px 0}
.guide-sources{margin:30px 0}
.video-card h3{margin:12px;font-size:16px}
.guide-grid a{overflow-wrap:anywhere}
@media(max-width:850px){
.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
.guide-grid{grid-template-columns:1fr}
}
.guide-sections{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.guide-sections a{white-space:normal;text-align:center}
.guide-sections a[aria-current="page"]{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 0 0 2px var(--green);text-decoration:none}
.guide-sections a:focus-visible{outline:3px solid var(--green);outline-offset:4px}
@media(max-width:600px){
.guide-sections{gap:6px}
.guide-sections a{flex:1 1 95px;font-size:13px;padding:10px 8px}
}
.stats-table-wrap{overflow:auto}
.stats-table{border-collapse:collapse;width:100%;margin:20px 0}
.stats-table th,.stats-table td{text-align:left;padding:12px;border-bottom:1px solid #dce1df}
.stats-table th{background:#f0f3f1}
.daily-stats{max-height:420px;overflow:auto;margin:24px 0}
.daily-stats>div{display:grid;grid-template-columns:110px 1fr 45px;gap:12px;align-items:center}
.daily-stats meter{width:100%;height:26px}
.feedback-comment small{display:block}
.recommendation-sections{display:flex;flex-wrap:wrap;gap:10px 24px;margin:24px 0 40px}
.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.recommendation-card{display:flex;align-items:flex-start;min-width:0}
.recommendation-art{aspect-ratio:1}
.recommendation-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:12px}
.recommendation-placeholder>span:first-child{font-size:36px;line-height:1.2}
.recommendation-copy{min-width:0;flex:1}
.recommendation-copy p{overflow-wrap:anywhere}
.rec-editor-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;margin-top:25px}
.rec-order-row{display:flex;gap:5px;margin:7px 0}
.rec-order-row [data-select]{flex:1;text-align:left}
.rec-order-row button{padding:8px 10px}
.rec-editor-list h2{font-size:24px}
.rec-edit-card label{display:block;margin:14px 0}
.rec-edit-card input:not([type=file]),.rec-edit-card textarea,.rec-edit-card select,#rec-intro textarea{width:100%;display:block;padding:10px;border:1px solid #a8bcae;border-radius:6px;font:inherit}
.rec-edit-card textarea{resize:vertical}
.rec-edit-image{width:160px;height:160px;margin:15px 0}
.rec-edit-image img{width:100%;height:100%;object-fit:contain}
.rec-editor-layout button:disabled{opacity:.5;cursor:default}
#rec-message{position:sticky;top:0;background:#fafafa;z-index:2;padding:10px 0}
@media(max-width:850px){
.recommendation-art{aspect-ratio:auto}
.rec-editor-layout{grid-template-columns:1fr}
}
@media(max-width:600px){
.recommendation-grid{grid-template-columns:1fr}
.recommendation-card{flex-direction:row;padding:16px;gap:14px}
.recommendation-art{width:90px;height:110px;flex:0 0 90px}
}
header nav{flex-wrap:wrap;gap:12px 20px}
header .brand{flex-shrink:0}
@media(max-width:1200px){
header{flex-wrap:wrap}
}
.flower-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.flower-public img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.flower-gallery{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}
.flower-gallery img{width:min(100%,360px);height:auto;object-fit:contain}
.flower-editor-photos{display:flex;flex-wrap:wrap;gap:20px}
.flower-editor-photos img{object-fit:contain;max-width:100%}
#flower-work label{display:block;margin:14px 0}
#flower-work textarea,#flower-work input:not([type=checkbox]),#flower-work select{width:100%;max-width:100%;box-sizing:border-box}
#flower-message{position:sticky;top:0;background:var(--cream,#fffaf2);padding:12px;z-index:2}
#flower-work form{margin-bottom:24px}
@media(max-width:800px){
.flower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
.flower-grid{grid-template-columns:1fr}
}
#flower-work input:not([type=checkbox]):not([type=file]),#flower-work textarea,#flower-work select{padding:10px 12px;border:1px solid #ccd5d1;border-radius:8px;font:inherit;margin-top:6px;background:#fff;color:#203630}
#flower-work input[type=checkbox]{width:18px;height:18px;vertical-align:middle}
/* ===== refinements.css (слито в site.css) ===== */
.home-hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;padding:8px 0 36px}
.home-hero h1{font-size:clamp(38px,4.6vw,60px);max-width:650px}
.home-intro .lead{max-width:580px}
.home-hero .actions{align-items:center}
.home-secondary{padding:10px 0}
.home-access{font-size:14px;max-width:520px;margin-top:22px}
.home-portrait{margin:0;min-width:0}
.home-portrait img{display:block;width:100%;height:420px;object-fit:cover}
.home-portrait figcaption{font-size:14px;margin-top:10px}
.home-path{padding:22px 0 36px;border-top:1px solid #dce1df;margin:8px 0 25px}
.home-path h2{font-size:30px}
.home-path ol{display:flex;gap:40px;padding-left:22px;margin:22px 0 28px}
.home-path li{flex:1;padding-left:3px}
.lesson-code-label{display:none}
.route-stage{margin-top:46px;font-size:30px}
.start-step{border:0;border-top:1px solid #dce1df;border-radius:0;background:transparent;padding:24px 0;margin:0}
.start-step .lesson-row{background:transparent;border:0;border-radius:0;padding:14px 0;grid-template-columns:1fr auto;gap:8px 20px}
.start-step .lesson-row .number{grid-column:1/-1;font:14px/1.5 system-ui;color:#61726c}
.start-step .lesson-code-label{display:inline}
.start-step h2{font-size:28px;max-width:820px}
.loading-state{padding:24px 0;color:#61726c;min-height:180px}
.video-search{max-width:620px;margin:22px 0 12px}
.video-search label{display:block;font-weight:600;margin-bottom:6px}
#video-filter-summary{font-size:14px;color:#61726c}
.video-links{gap:8px}
.video-links .button{font-size:14px;min-height:44px;min-width:44px;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center}
h1[tabindex="-1"]:focus:not(:focus-visible){outline:0}
@media(min-width:1024px){
main{line-height:1.5}
main h1,.lesson h1{font-size:var(--title-size);line-height:1.18;margin:10px 0 16px}
main h2{font-size:var(--section-size);line-height:1.25}
main h3{line-height:1.35;margin-bottom:8px}
main>.lead,#content>.lead,.home-intro .lead{max-width:72ch}
main>p,#content>p{max-width:75ch}
#status:empty{display:none}
main .actions{margin-top:16px}
main .section{margin-top:32px}
.home-hero{align-items:start;padding:4px 0 24px}
.home-intro{padding-top:12px}
.home-hero h1{line-height:1.12;margin:10px 0 16px}
.home-intro .lead{max-width:54ch}
.home-portrait figcaption{margin-top:8px}
.home-access{margin-top:14px;line-height:1.5}
.home-path{padding:16px 0 24px;margin:4px 0 20px}
.home-path h2{margin:0 0 14px}
.home-path ol{gap:28px;margin:14px 0 18px}
.route-stage{margin:28px 0 12px}
main .start-step{padding:18px 0}
.start-step h2{margin:8px 0 10px}
.start-step>p{max-width:75ch}
.start-step .lesson-row{padding:10px 0;margin-top:4px;gap:6px 20px}
.start-step .lesson-row p{max-width:75ch}
.lesson-row{gap:12px}
.guide-sections{margin-bottom:18px}
.guide-years{margin-block:16px}
.recommendation-sections{margin:16px 0 24px}
.recommendation-grid{gap:18px;margin-bottom:28px}
.recommendation-card{padding:18px;gap:16px}
.recommendation-copy h3{margin-bottom:8px}
.video-search{margin-top:18px}
.video-card h2{font-size:16px;line-height:1.35;margin:12px 12px 8px}
}
@media(max-width:800px){
.home-hero{grid-template-columns:minmax(0,1fr) 160px;gap:20px}
.home-hero h1{font-size:40px}
.home-portrait img{height:240px}
.home-path ol{display:block}
.home-path li{margin:12px 0}
}
@media(max-width:600px){
.home-hero{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding-top:0}
.home-hero h1{font-size:40px;margin-top:10px}
.home-intro .lead{font-size:18px}
.home-hero .actions{gap:10px;margin-top:20px;align-items:flex-start;flex-direction:column}
.home-portrait img{height:320px}
.home-access{margin-bottom:0}
.home-path h2,.route-stage{font-size:27px}
.start-step h2{font-size:26px}
.start-step .lesson-row{display:block}
.start-step .lesson-row .number{display:block;margin-bottom:6px}
.start-step .lesson-row>.button{margin-top:12px}
.video-links{gap:6px}
.video-links .button{font-size:13px;padding:10px 8px;min-height:44px;min-width:44px}
.video-card h2{overflow-wrap:anywhere}
}
/* ===== navigation.css (слито в site.css) ===== */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;padding:12px max(24px,calc((100% - 1280px)/2));background:rgba(247,244,239,.96);border-bottom:1px solid var(--line);transition:padding .2s,box-shadow .2s}
@supports(backdrop-filter:blur(8px)){
.site-header{background:rgba(247,244,239,.88);backdrop-filter:blur(10px)}
}
.site-header .brand{margin-right:auto;flex-shrink:0;font-size:22px;line-height:1.2;text-decoration:none}
.site-header .brand small{display:block;max-width:none;margin-bottom:2px;font:600 10.5px/1.3 var(--font-text);letter-spacing:.16em;color:var(--peony)}
.site-header.is-stuck{padding-top:7px;padding-bottom:7px;box-shadow:0 6px 18px rgba(30,43,38,.08)}
.site-header.is-stuck .brand{font-size:19px}
.site-header.is-stuck .brand small{display:none}
.site-header ::selection{background:#dce9e2;color:var(--ink)}
.site-navigation{display:flex;align-items:center;gap:2px}
.site-navigation>a{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:999px;font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}
.site-navigation>a:hover{background:#ECE6DB}
.site-navigation>a[aria-current=page]{background:var(--peony-tint);color:var(--peony);font-weight:600}
.nav-account{display:flex;margin-left:10px}
.nav-account .button,.nav-account button{min-height:40px;padding:0 18px;font-size:14px;background:transparent;color:var(--ink);border:1.5px solid #C6BFB1;border-radius:999px;font-weight:500;filter:none}
.nav-account .button:hover,.nav-account button:hover{background:#fff;border-color:var(--green)}
.site-header .login-mobile{display:none}
.site-header a:focus-visible,.site-header button:focus-visible{outline:3px solid var(--peony);outline-offset:3px}
.header-progress{display:none;position:absolute;left:0;right:0;bottom:-1px;height:3px;background:transparent;pointer-events:none}
.header-progress i{display:block;width:0;height:100%;background:var(--green);border-radius:0 3px 3px 0}
body[data-route=lesson] .header-progress{display:block}
.tabbar,.more-layer{display:none}
@media(max-width:1100px){
.site-header{gap:14px}
.site-navigation>a{padding:0 10px}
}
@media(max-width:900px){
.site-navigation{display:none}
.site-header .login-mobile{display:inline-flex;min-height:40px;padding:0 16px;font-size:14px;background:transparent;color:var(--ink);border:1.5px solid #C6BFB1;border-radius:999px;font-weight:500}
.site-header{padding:8px 16px;gap:10px}
.site-header .brand{font-size:20px}
.site-header.is-stuck{padding-top:6px;padding-bottom:6px}
body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
body.sheet-open{overflow:hidden}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px 6px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
.tabbar .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;padding:0;border:0;border-radius:14px;background:transparent;color:var(--muted);font:500 11px/1.2 var(--font-text);text-decoration:none;filter:none}
.tabbar .tab:hover{background:transparent;color:var(--ink);filter:none}
.tabbar .ico{display:flex;align-items:center;justify-content:center;width:48px;height:28px;border-radius:999px}
.tabbar .tab[aria-current=page]{color:var(--peony);font-weight:600}
.tabbar .tab[aria-current=page] .ico{background:var(--peony-tint)}
.tabbar .tab:focus-visible{outline:3px solid var(--peony);outline-offset:-3px}
body[data-route=lesson] .tabbar{display:none}
body[data-route=lesson]{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.more-layer{position:fixed;inset:0;z-index:80;display:block}
.more-layer[hidden]{display:none}
.more-scrim{position:absolute;inset:0;background:rgba(30,43,38,.45)}
.more-sheet{position:absolute;left:0;right:0;bottom:0;padding:10px 16px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.18)}
.more-grab{width:40px;height:4px;margin:0 auto 14px;border-radius:2px;background:#C6BFB1}
.more-title{margin:0 6px 6px;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.more-sheet .item{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:0 6px;border-top:1px solid var(--line);font-size:16px;text-decoration:none}
.more-sheet .item:first-of-type{border-top:0}
.more-sheet .item svg{color:var(--muted);flex:none}
.more-account{display:grid;gap:10px;padding:14px 6px 0}
.more-account .button,.more-account button{min-height:48px;font-size:16px;width:100%}
}
/* ===== redesign.css (слито в site.css) ===== */
@font-face{font-family:'Prata';src:url(/fonts/prata-cyrillic.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Prata';src:url(/fonts/prata-latin.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';src:url(/fonts/golos-text-cyrillic.woff2) format('woff2');font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';src:url(/fonts/golos-text-latin.woff2) format('woff2');font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#F7F4EF;--surface:#FFFFFF;--ink:#1E2B26;--muted:#5A6862;--line:#E2DCD1;--green:#25423A;--green-deep:#1B312B;--sage:#E6EDE4;--peony:#A8325A;--accent:#A8325A;--peony-tint:#F4E1E7;--font-display:'Prata',Georgia,serif;--font-text:'Golos Text',system-ui,'Segoe UI',sans-serif;font-family:var(--font-text);color:var(--ink);background:var(--paper)}
body{background:var(--paper);font-family:var(--font-text)}
h1,h2,.brand{font-family:var(--font-display)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--peony);outline-offset:3px}
footer.site-footer{margin-top:72px;padding:48px 5%;border:0;background:var(--green-deep);color:#DCE6DF}
.site-footer-in{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;max-width:1280px;margin:0 auto}
.site-footer .footer-brand{margin:0 0 6px;font:24px/1.2 var(--font-display);color:#fff}
.site-footer p{margin:0;font-size:14px;line-height:1.6}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:0 24px;font-size:14px}
.site-footer .footer-links a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-underline-offset:4px}
@media(max-width:700px){
footer.site-footer{padding:32px 16px 36px}
.site-footer-in{grid-template-columns:1fr;gap:12px}
.site-footer .footer-links{flex-direction:column}
}
body[data-route=videos] main{max-width:1360px;padding:0 40px 24px}
body[data-route=videos] #status:empty{display:none}
body[data-route=videos] #content>*{max-width:none}
.video-intro{display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:end;padding:36px 0 24px}
.video-intro .eyebrow{margin:0 0 12px;font-size:12px;letter-spacing:.14em;font-weight:600}
body[data-route=videos] h1{margin:0 0 12px;font-size:44px;line-height:1.08;font-weight:400}
.video-intro .lead{margin:0;max-width:56ch;font-size:16px;line-height:1.55;color:var(--muted)}
.video-search{position:relative}
.video-search svg{position:absolute;left:18px;top:14px;color:var(--muted)}
.video-search input{width:100%;height:50px;padding:0 18px 0 48px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:400 16px var(--font-text);color:var(--ink)}
.video-search input:hover{border-color:#C6BFB1}
.video-search input:focus{border-color:var(--green);outline-offset:2px}
.vbtn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:999px;font:500 14.5px/1 var(--font-text);text-decoration:none;border:1.5px solid transparent;background:transparent;color:var(--ink);white-space:nowrap;cursor:pointer;filter:none}
.vbtn:hover{filter:none}
.vbtn-main{background:var(--green);border-color:var(--green);color:#fff}
.vbtn-main:hover{background:var(--green-deep);border-color:var(--green-deep)}
.vbtn-ghost{border-color:#C6BFB1}
.vbtn-ghost:hover{background:#fff;border-color:var(--green)}
.vbtn-outline{border-color:var(--green);color:var(--green)}
.vbtn-outline:hover{background:var(--green);color:#fff}
.vbtn-large{min-height:46px;padding:0 32px;font-size:15px}
.video-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;align-items:center;background:var(--sage);border-radius:24px;padding:16px 40px 16px 16px}
.video-art{position:relative;aspect-ratio:16/9;background:#E8E2D6;border-radius:14px;overflow:hidden}
.video-art img{display:block;width:100%;height:100%;object-fit:cover}
.video-art-link{display:block;width:100%;height:100%}
.video-art-large{border-radius:18px;background:#cfd9cd}
.video-badge{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:999px;background:var(--paper);font-size:12px;font-weight:600;letter-spacing:.02em}
.video-play{position:absolute;right:14px;bottom:14px;width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--green);box-shadow:0 4px 14px rgba(0,0,0,.25);pointer-events:none}
.video-feature-body{min-width:0}
.video-feature-body .video-meta{margin:0 0 10px;font-size:13px}
.video-feature h2{margin:0 0 12px;font-size:26px;line-height:1.22;font-weight:400}
.video-tags{margin:0 0 20px;font-size:13px;color:var(--muted)}
.video-feature-actions{display:flex;flex-wrap:wrap;gap:10px}
.video-feature .vbtn-ghost{background:rgba(255,255,255,.55)}
.video-feature .vbtn-ghost:hover{background:#fff}
.video-feature .cover-upload{margin:16px 0 0}
.video-filters{display:grid;gap:8px;padding:28px 0 4px}
.video-frow{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:start}
.video-flabel{padding-top:9px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.video-chips{display:flex;flex-wrap:wrap;gap:8px}
.vchip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:400 14px var(--font-text);filter:none}
.vchip:hover{border-color:var(--green);filter:none}
.vchip[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.vchip-count{font-size:12px;color:var(--muted)}
.vchip[aria-pressed=true] .vchip-count{color:#C9D8CF}
.vchip-more{border-style:dashed;color:var(--muted);background:transparent}
.video-bar{display:flex;align-items:baseline;gap:20px;padding:32px 0 16px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.video-bar h2{margin:0;margin-right:auto;font-size:24px;font-weight:400}
.video-bar p{margin:0;font-size:13px;color:var(--muted)}
.video-bar .link-button{min-height:44px;font-size:14px;color:var(--ink)}
body[data-route=videos] .video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.video-card{display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;transition:border-color .15s,box-shadow .15s}
.video-card:hover{border-color:#C6BFB1;box-shadow:0 6px 20px rgba(30,43,38,.07)}
.video-card .video-art{border-radius:0}
.video-meta{margin:12px 0 5px;font-size:12.5px;color:var(--muted)}
.video-card .video-meta{display:block;margin:12px 14px 5px}
.video-card time{display:inline;margin:0;font-size:inherit}
.video-kicker{color:var(--peony);font-weight:600}
.video-title{flex:1;margin:0 14px 14px;font:500 15.5px/1.4 var(--font-text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.video-title a{text-decoration:none}
.video-title a:hover{text-decoration:underline;text-underline-offset:3px}
.video-card .video-links{display:flex;flex-wrap:nowrap;gap:6px;margin:0 14px 14px}
.video-card .video-links .vbtn{flex:1;min-width:0;min-height:44px;padding:0 8px;font-size:14px}
.video-card .video-links .vbtn-wide{flex:2}
.video-card .cover-upload{margin:0 14px 14px}
.video-placeholder{background:var(--sage);color:var(--muted)}
.video-more{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 0 32px}
.video-more p{margin:0;font-size:14px;color:var(--muted)}
body[data-route=videos] #video-more{margin:0}
@media(max-width:1000px){
body[data-route=videos] main{padding:0 24px 24px}
.video-intro{grid-template-columns:1fr;gap:24px}
body[data-route=videos] .video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.video-feature{grid-template-columns:1fr;gap:24px;padding:20px}
}
@media(max-width:640px){
body[data-route=videos] main{padding:0 16px 16px}
.video-intro{padding:24px 0 8px}
body[data-route=videos] h1{font-size:34px;margin-bottom:10px}
.video-intro .lead{font-size:15px}
.video-search{margin-top:8px}
.video-search input{height:52px}
.video-search svg{top:15px;left:18px}
.video-filters{padding-top:20px;gap:4px}
.video-frow{grid-template-columns:1fr;gap:0}
.video-flabel{padding:14px 0 8px}
.video-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px 6px;scroll-snap-type:x proximity;scroll-padding:0 16px;scrollbar-width:none}
.video-chips::-webkit-scrollbar{display:none}
.vchip{flex:none;min-height:40px;white-space:nowrap;scroll-snap-align:start}
.video-feature{margin-top:28px;border-radius:24px;padding:12px 12px 20px;gap:0}
.video-art-large{border-radius:14px}
.video-badge{top:10px;right:10px;padding:6px 12px;font-size:12px}
.video-play{right:12px;bottom:12px;width:48px;height:48px}
.video-feature-body{padding:16px 6px 0}
.video-feature-body .video-meta{margin-bottom:8px;font-size:13px}
.video-feature h2{margin-bottom:10px;font-size:21px;line-height:1.25}
.video-tags{margin-bottom:18px;font-size:13px}
.video-feature-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.video-feature-actions .vbtn-main,.video-feature-actions .vbtn-wide{grid-column:1/-1;min-height:48px}
.video-bar{flex-wrap:wrap;gap:4px 12px;padding:36px 0 14px;margin-bottom:0}
.video-bar h2{font-size:22px}
.video-bar p{font-size:13px;order:3;flex-basis:100%}
body[data-route=videos] .video-grid{grid-template-columns:1fr;gap:12px}
.video-card{display:grid;grid-template-columns:136px 1fr;grid-template-rows:auto 1fr;gap:0 14px;padding:12px}
.video-card .video-art{grid-row:1/3;align-self:start;border-radius:10px}
.video-card .video-lock{transform:scale(.65);transform-origin:top right;top:3px;right:3px}
.video-card .video-meta{margin:0 0 6px;font-size:12.5px;line-height:1.35;align-self:start}
.video-card .video-kicker,.video-card time{display:block}
.video-card .video-sep{display:none}
.video-card .video-title{grid-column:2;margin:0;font-size:15px;line-height:1.35;-webkit-line-clamp:4;align-self:start}
.video-card .video-links{grid-column:1/-1;margin:12px 0 0}
.video-card .video-links .vbtn{padding:0 6px}
.video-card .cover-upload,.video-card [data-cover-status]{grid-column:1/-1;margin:10px 0 0}
.video-more{padding:36px 0 32px}
.video-more .vbtn{width:100%}
}
button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border:1.5px solid var(--green);border-radius:999px;background:var(--green);color:#fff;font:500 15px/1.2 var(--font-text);text-decoration:none;filter:none}
button:hover,.button:hover{background:var(--green-deep);border-color:var(--green-deep);filter:none}
.secondary{background:transparent;color:var(--ink);border-color:#C6BFB1}
.secondary:hover{background:#fff;color:var(--ink);border-color:var(--green)}
button:disabled{opacity:.6;cursor:default}
.link-button{display:inline;min-height:0;padding:4px;border:0;background:transparent;color:var(--ink);text-decoration:underline;border-radius:0}
.link-button:hover{background:transparent;color:var(--peony)}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-family:var(--font-text)}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):hover,select:hover,textarea:hover{border-color:#C6BFB1}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus,select:focus,textarea:focus{border-color:var(--green)}
input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--green)}
.card,.lesson-row,.module,.recommendation-card{border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.aside{background:#EFEAE0;border-radius:16px}
.stats{background:var(--sage);border-radius:16px}
.number{font-family:var(--font-display);color:var(--peony)}
.tag,.aside a[aria-current=page]{color:var(--peony)}
.muted,.pill,.home-portrait figcaption{color:var(--muted)}
.path{background:var(--green);border-radius:20px}
.video{background:var(--green);border-radius:18px}
.locked{border-color:#D8A6B6;background:#FBEFF2;border-radius:16px}
.notice,#status:not(:empty){background:#FFF3DE;border-left-color:#C28A2B;border-radius:0 12px 12px 0}
#feedback{background:#EFEAE0;border-radius:12px}
.module-study fieldset{border:1px solid var(--line);border-radius:14px}
.module-study fieldset label:has(input:checked){background:var(--sage)}
.lesson-jumps button{background:#fff;color:var(--ink);border-color:var(--line);border-radius:999px;min-height:40px}
.lesson-jumps button:hover{border-color:var(--green);background:#fff}
.lesson-feedback select,.lesson-feedback textarea,.notebook textarea{border-radius:12px}
dialog{border-radius:20px;border-color:var(--line)}
.guide-years [aria-current=page],.guide-sections a[aria-current=page],.rec-order-row [aria-current=true]{background:var(--green);color:#fff;border-color:var(--green)}
.home-portrait img{border-radius:20px}
.start-step,.home-path,.start-step .lesson-row{border-color:var(--line)}
.home-path{border-top-color:var(--line)}
@media(min-width:1024px){
footer.site-footer{margin-top:48px;padding:32px 5%}
.site-footer .footer-brand{font-size:20px}
.site-footer p,.site-footer .footer-links{font-size:13.5px}
.site-footer .footer-links a{min-height:40px}
}
@media(min-width:1024px){
:root{font-size:15px}
main{--title-size:34px;--section-size:23px;padding:20px 28px 28px}
main h3{font-size:17px}
main>.lead,#content>.lead,.home-intro .lead{font-size:16.5px;line-height:1.55}
main p{margin-block:8px}
main h2{margin:24px 0 10px}
main .card{padding:18px}
.home-hero h1{font-size:40px}
/* Главный экран на компьютере: текст и фото рядом (раньше фото тянулось к правому краю с пустотой посередине); кадр почти квадратный, как у снимка, чтобы голова не обрезалась */
.home-hero{grid-template-columns:minmax(0,600px) 380px;gap:64px;justify-content:start;align-items:center}
.home-portrait img{height:370px}
.home-path h2,.route-stage{font-size:23px}
.start-step h2{font-size:21px}
.lesson-row{padding:16px}
.lesson h1{font-size:30px}
.eyebrow{font-size:12px}
}
@media(max-width:1023px){
main h1,.lesson h1{font-size:30px}
.home-hero h1{font-size:34px}
.lead,main>.lead,.home-intro .lead{font-size:16px}
main h2,.home-path h2,.route-stage{font-size:22px}
.start-step h2{font-size:21px}
button,.button{min-height:44px}
}
.video-grid{gap:20px}
.recommendation-placeholder{background:var(--sage);color:var(--muted)}
.recommendation-placeholder>span:first-child{color:#8CA595}
.recommendation-copy a{text-decoration-color:#B9C7BE}
.flower-public img,.flower-gallery img{border-radius:14px}
@media(max-width:640px){
.video-grid{grid-template-columns:1fr;gap:12px}
}
.video-meta time{white-space:nowrap}
.lesson-row{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 38px;gap:0 16px;align-items:center;padding:16px 18px;transition:border-color .15s,box-shadow .15s,background .15s}
.lesson-row .number{font-size:24px;line-height:1.1}
.lesson-row h3{margin:0 0 4px}
.lesson-row h3 a{text-decoration:none;font-weight:600}
.lesson-row:hover h3 a{text-decoration:underline;text-underline-offset:3px}
.lesson-row p{margin:3px 0}
.lesson-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.lesson-link:focus-visible{outline:none}
.lesson-link:focus-visible::after{outline:3px solid var(--peony);outline-offset:-3px}
.lesson-go{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid #C6BFB1;border-radius:50%;color:var(--ink);transition:background .15s,border-color .15s,color .15s}
.lesson-row:hover{border-color:#C6BFB1;box-shadow:0 6px 20px rgba(30,43,38,.07)}
.lesson-row:hover .lesson-go{background:var(--green);border-color:var(--green);color:#fff}
.list{gap:12px}
body[data-route=lesson] main{max-width:1360px}
@media(min-width:1024px){
body[data-route=lesson] main{padding:20px 40px 28px}
body[data-route=lesson] .lesson{grid-template-columns:minmax(0,1fr) 290px;gap:36px}
.lesson .aside{position:sticky;top:76px;max-height:calc(100vh - 100px);overflow:auto;padding:20px}
}
.lesson [id]{scroll-margin-top:76px}
.lesson-jumps{position:sticky;z-index:5;display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px;padding:10px 0;background:var(--paper);border-bottom:1px solid var(--line)}
.lesson-jumps button{flex:none}
.lesson .card,.practice-completion{padding:22px 26px}
.practice-completion{border:1px solid var(--line);border-radius:16px;background:var(--surface);margin:20px 0}
.practice-completion h2{margin-top:0}
.module-study p,.module-study li,.notebook p,.lesson-feedback p{max-width:80ch}
.module-study fieldset{margin:14px 0;padding:12px 18px 8px}
.module-study label{margin:0}
.module-study fieldset label{min-height:40px;margin:2px -8px;padding:6px 8px;align-items:center}
.module-study legend{padding:0 8px;line-height:1.35}
.module-study input[type=radio],.practice-completion input{width:18px;height:18px;margin:0}
.practice-completion label{min-height:42px;padding:4px 0}
.notebook textarea{min-height:140px}
@media(max-width:1023px){
.lesson-jumps{flex-wrap:nowrap;overflow-x:auto;margin:12px -16px 8px;padding:8px 16px;scrollbar-width:none}
.lesson-jumps::-webkit-scrollbar{display:none}
.lesson .card,.practice-completion{padding:18px}
}
@media(min-width:1024px){
main{max-width:1360px;padding-left:40px;padding-right:40px}
}
progress.prog{display:block;appearance:none;-webkit-appearance:none;width:100%;height:8px;border:0;border-radius:99px;background:#E4DED2;overflow:hidden;accent-color:var(--green)}
progress.prog::-webkit-progress-bar{background:#E4DED2;border-radius:99px}
progress.prog::-webkit-progress-value{background:var(--green);border-radius:99px}
progress.prog::-moz-progress-bar{background:var(--green);border-radius:99px}
.sechead{display:flex;align-items:baseline;gap:12px;margin:0 0 12px}
.sechead h2{margin:0;font-size:21px}
.sechead span{font-size:13px;color:var(--muted)}
.program-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.program-head h1{margin:8px 0 10px}
.program-head .lead{margin:0;max-width:56ch}
.program-progress{width:300px;max-width:100%}
.program-progress p{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 8px}
.program-progress span{font-size:13px;color:var(--muted)}
.program-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
.video-search.program-search{flex:1 1 320px;max-width:440px;margin:0}
.seg{display:inline-flex;max-width:100%;overflow-x:auto;padding:4px;border-radius:999px;background:#EFEAE0;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg button{flex:none;min-height:36px;padding:0 15px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:500 14px var(--font-text);white-space:nowrap;filter:none}
.seg button:hover{background:rgba(255,255,255,.6);color:var(--ink);filter:none}
.seg button[aria-pressed=true]{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.program-chips{margin-top:16px}
.program-count{margin:20px 0 12px;font-size:13px;color:var(--muted)}
.program-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
.program-list>.sechead,.program-list>p{grid-column:1/-1}
.program-list>.sechead{margin:22px 0 0}
.program-list>.sechead:first-child{margin-top:0}
.lesson-done{background:var(--green);border-color:var(--green);color:#fff}
.lesson-row:hover .lesson-done{background:var(--green-deep);border-color:var(--green-deep)}
@media(max-width:1023px){
.program-list{grid-template-columns:1fr}
.program-progress{width:100%}
}
@media(max-width:640px){
.program-tools{gap:12px;margin-top:18px}
.video-search.program-search{flex-basis:100%;max-width:none}
.seg{width:100%}
.seg button{min-height:40px}
.program-chips{margin-top:12px}
}
.vchip:hover{background:#fff}
.vchip[aria-pressed=true]:hover{background:var(--green-deep);border-color:var(--green-deep)}
.start-layout{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.start-rail{flex:1 1 260px;max-width:290px;position:sticky;top:76px;padding:20px 22px}
.start-main{flex:999 1 560px;min-width:0}
.start-rail .rail-count{margin:8px 0 10px;font-size:15px}
.rail-group{margin:16px 0 4px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.dot{flex:none;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1.5px solid #C6BFB1;border-radius:50%;background:#fff;color:var(--ink);font-size:13px;font-weight:600}
.dot-done{background:var(--green);border-color:var(--green);color:#fff}
.dot-now{border-color:var(--peony);color:var(--peony);box-shadow:0 0 0 4px var(--peony-tint)}
.rstep{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;gap:12px;width:100%;min-height:0;padding:7px 0;border:0;border-radius:0;background:transparent;color:var(--ink);font:14px/1.35 var(--font-text);text-align:left;filter:none}
.rstep:hover{background:transparent;border:0;color:var(--peony);filter:none}
.rstep+.rstep::before{content:"";position:absolute;left:14.25px;top:-12px;width:1.5px;height:24px;background:#D8D1C4}
.rstep .t{padding-top:5px}
.rstep[aria-current=step] .t{font-weight:600;color:var(--peony)}
.start-mobile{display:none;margin:20px 0 4px;padding:16px 18px}
.start-mobile-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.start-mobile-top span{font-size:13px;color:var(--muted)}
.segs{display:flex;gap:6px}
.segs i{flex:1;height:6px;border-radius:99px;background:#E4DED2}
.segs i.on{background:var(--green)}
.segs i.now{background:var(--peony)}
.start-place{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:20px;background:var(--sage);border-color:#D3DFD2}
.start-place .eyebrow{color:var(--green)}
.start-place-title{margin:6px 0 4px;font:21px/1.3 var(--font-display)}
.start-place p.muted{margin:0;font-size:13px}
details.start-step{margin:0 0 14px;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
details.start-step.step-now{border-color:var(--peony);box-shadow:0 0 0 3px var(--peony-tint)}
.step-h{display:flex;align-items:center;gap:16px;padding:16px 22px;cursor:pointer;list-style:none}
.step-h::-webkit-details-marker{display:none}
.step-h h3{margin:0;font:20px/1.25 var(--font-display)}
.step-h .meta{margin-left:auto;padding-left:12px;font-size:13px;color:var(--muted);white-space:nowrap}
.step-chevron{flex:none;color:var(--muted);transition:transform .2s}
details[open]>.step-h .step-chevron{transform:rotate(180deg)}
.step-h:focus-visible{outline:3px solid var(--peony);outline-offset:-3px}
.step-b{padding:0 22px 8px}
.step-b .intro{margin:0 0 6px;max-width:75ch;color:var(--muted)}
.step-b .list{gap:0}
.step-b .lesson-row{display:grid;grid-template-columns:56px minmax(0,1fr) 38px;gap:0 16px;margin:0 -12px;padding:16px 12px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.step-b .lesson-row:hover{background:var(--sage);border-radius:12px}
.step-b .lesson-row:hover+.lesson-row{border-top-color:transparent}
.step-b .lesson-row .number{grid-column:auto;display:block;font:24px/1.1 var(--font-display);color:var(--peony)}
.step-b .lesson-code-label{display:block;margin-bottom:3px;font:600 10.5px/1 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.route-stage{margin:32px 0 14px}
.start-main>.route-stage:first-of-type{margin-top:28px}
@media(max-width:1023px){
.start-rail{display:none}
.start-mobile{display:block}
.start-layout{display:block}
}
@media(max-width:600px){
.step-h{gap:12px;padding:14px 16px}
.step-h h3{font-size:17px}
.step-h .meta{display:none}
.step-b{padding:0 16px 6px}
.step-b .lesson-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:0 12px;margin:0 -8px;padding:14px 8px}
.step-b .lesson-row .number{grid-column:1/-1;display:flex;gap:6px;align-items:baseline;margin-bottom:6px;font-size:20px}
.step-b .lesson-code-label{display:inline;margin:0}
.step-b .lesson-row>.lesson-main{grid-column:1}
.step-b .lesson-row>.lesson-go{grid-column:2;grid-row:2}
.start-place{gap:14px}
.start-place .button{width:100%}
}
body[data-route=lesson]{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.lesson-jumps{top:54px}
.lesson-jumps button[aria-current=true]{background:var(--green);border-color:var(--green);color:#fff}
.lesson-rail .rail-count{margin:8px 0 10px;font-size:14.5px}
.aside .rail-list{list-style:none;margin:14px 0 0;padding:0}
.aside .rail-list li{margin:0}
.ritem{display:flex;align-items:flex-start;gap:10px;padding:8px 6px;border-radius:10px;font-size:14px;line-height:1.35;text-decoration:none}
.ritem:hover{background:rgba(255,255,255,.7)}
.ritem .m{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1.5px solid #C6BFB1;border-radius:50%;background:#fff;font-size:11px;font-weight:600}
.ritem-done .m{background:var(--green);border-color:var(--green);color:#fff}
.aside a.ritem-now,.ritem-now{background:var(--peony-tint);color:var(--peony);font-weight:600}
.ritem-now .m{border-color:var(--peony);color:var(--peony)}
.more-grab{width:40px;height:4px;margin:0 auto 14px;border-radius:2px;background:#C6BFB1}
.more-title{margin:0 6px 6px;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lesson-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;align-items:center;gap:12px;padding:10px max(24px,calc((100% - 1280px)/2));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(30,43,38,.08)}
.lesson-bar-prev{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border:1.5px solid #C6BFB1;border-radius:999px;color:var(--ink);font-size:15px;font-weight:500;text-decoration:none}
.lesson-bar-prev:hover{background:#fff;border-color:var(--green)}
.lesson-bar-prev.is-disabled{opacity:.4;pointer-events:none}
.lesson-bar-pos{margin:0 auto 0 8px;font-size:13px;color:var(--muted)}
.lesson-bar-list{display:none}
.lesson-bar-done{min-height:42px;padding:0 18px;font-size:14.5px}
.lesson-bar .button.lesson-bar-next{min-width:0;max-width:46%;min-height:44px;padding:0 22px;gap:8px}
.lesson-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lesson-sheet{position:fixed;inset:0;z-index:90}
.lesson-sheet[hidden]{display:none}
.lesson-sheet-scrim{position:absolute;inset:0;background:rgba(30,43,38,.45)}
.lesson-sheet-panel{position:absolute;left:0;right:0;bottom:0;max-height:78vh;overflow:auto;padding:10px 16px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.18)}
.lesson-sheet .rail-list{margin-top:8px}
.lesson-sheet .ritem{padding:12px 6px;font-size:15px}
@media(max-width:1023px){
.lesson{grid-template-columns:1fr}
.lesson-rail{display:none}
.lesson-bar{gap:8px;padding:10px 16px calc(12px + env(safe-area-inset-bottom))}
.lesson-bar-pos{display:none}
.lesson-bar-list{display:inline-flex;flex:1;min-height:44px;padding:0 14px;font-size:14px}
.lesson-bar-done{display:none}
}
@media(max-width:640px){
.lesson-bar{padding:10px 12px calc(12px + env(safe-area-inset-bottom))}
.lesson-bar-prev{width:46px;height:46px;padding:0}
.lesson-bar-prev span{display:none}
.lesson-bar .button.lesson-bar-next{min-height:46px;padding:0 18px;max-width:none}
.lesson-bar-title{display:none}
}
.cab-note{margin:6px 0 0;font-size:13.5px}
.cab-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;margin-top:24px}
.cab-continue{display:flex;flex-direction:column;justify-content:space-between;gap:22px;padding:26px 30px;background:var(--sage);border-color:#D3DFD2}
.cab-continue .eyebrow{color:var(--green)}
.cab-continue h2{margin:8px 0 6px;font:26px/1.22 var(--display);max-width:22em}
.cab-continue p.muted{margin:0}
.cab-continue-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cab-continue-foot .button{min-height:46px;padding:0 26px}
.cab-section-progress{flex:1 1 200px;max-width:320px}
.cab-section-progress p{display:flex;justify-content:space-between;margin:0 0 6px;font-size:13px;color:var(--muted)}
.cab-continue progress.prog{background:#CFDCCF}
.cab-continue progress.prog::-webkit-progress-bar{background:#CFDCCF}
.cab-ring{display:flex;align-items:center;gap:22px}
.cab-ring svg{flex:none}
.ring-num{font:30px var(--display);fill:var(--ink)}
.ring-sub{font:12px var(--font-text);fill:var(--muted)}
.cab-stats{flex:1;min-width:0}
.cab-stats p{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px}
.cab-stats .eyebrow{display:block;margin-bottom:6px}
.cab-stats b{font-size:17px}
.cab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.cab-grid .card{display:flex;flex-direction:column;gap:6px}
.cab-grid .sechead{margin-bottom:6px}
.cab-route-now{margin:12px 0 0;font-weight:600;line-height:1.35}
.cab-grid .button{margin-top:10px;align-self:flex-start}
.cab-li{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);text-decoration:none}
.cab-li:first-of-type{border-top:0}
.cab-li b{display:block;font-weight:600;font-size:14.5px;line-height:1.35}
.cab-li small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--muted)}
.cab-li:hover b{text-decoration:underline;text-underline-offset:3px}
.cab-code{flex:none;width:32px;font:20px var(--display);color:var(--peony)}
.cab-next{margin:36px 0 14px}
@media(max-width:1023px){
.cab-top,.cab-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
.cab-continue{padding:18px}
.cab-continue h2{font-size:21px}
.cab-continue-foot .button{width:100%}
.cab-ring svg{width:104px;height:104px}
}
.guide-card{position:relative;display:flex;flex-direction:column;gap:6px}
.guide-badge{align-self:flex-start;padding:4px 11px;border-radius:999px;background:var(--sage);color:var(--green);font-size:12px;font-weight:600}
.guide-card .eyebrow{margin:4px 0 0}
.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px}
.month-card{min-height:170px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.month-now{border-color:var(--peony);box-shadow:0 0 0 3px var(--peony-tint)}
.month-card h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font:20px/1.2 var(--font-display)}
.month-card h3 em{padding:3px 9px;border-radius:999px;background:var(--peony-tint);color:var(--peony);font:600 11px var(--font-text);letter-spacing:.08em;text-transform:uppercase}
.month-event{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line);line-height:1.35;text-decoration:none}
.month-event:hover b{text-decoration:underline;text-underline-offset:3px}
.month-date{color:var(--peony);font-size:14px;font-weight:600}
.month-event b{font-weight:500;font-size:14.5px}
.month-event small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}
.month-empty{margin:6px 0 0;font-size:13.5px;color:var(--muted)}
@media(max-width:1200px){
.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
.month-grid{grid-template-columns:1fr;gap:12px}
.month-card{min-height:0}
}
nav.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;padding:6px 0 0;font-size:13px;color:var(--muted)}
.crumbs a{color:var(--muted);text-underline-offset:3px}
.crumbs a:hover{color:var(--peony)}
.crumbs [aria-current=page]{color:var(--ink);font-weight:500}
.crumbs svg{flex:none;opacity:.55}
@media(max-width:640px){
nav.crumbs{flex-wrap:nowrap;white-space:nowrap}
.crumbs a{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.crumbs a:first-of-type{flex:none}
}
@media(max-width:640px){
.cab-ring{flex-direction:column;align-items:stretch;gap:12px}
.cab-ring svg{align-self:center}
}
.guide-lead{max-width:62ch;margin:0 0 8px;font-size:16.5px;line-height:1.55;color:var(--muted)}
.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:16px}
.article-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:24px 26px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:border-color .15s,box-shadow .15s}
.article-card:hover{border-color:#C6BFB1;box-shadow:0 6px 20px rgba(30,43,38,.07)}
.article-card .eyebrow{margin:0}
.article-card h3{margin:0;font:21px/1.3 var(--font-display)}
.article-card h3 a{text-decoration:none}
.article-card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.article-card h3 a:focus-visible{outline:none}
.article-card h3 a:focus-visible::after{outline:3px solid var(--peony);outline-offset:-3px}
.article-card p{margin:0;color:var(--muted)}
.article-more{margin-top:10px;font-weight:600;color:var(--peony)}
.article-card:hover .article-more{text-decoration:underline;text-underline-offset:3px}
.memo{margin-top:40px}
.memo .eyebrow{margin:0 0 6px}
.memo h2{margin:0 0 8px}
.memo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px;align-items:start}
.memo-card{padding:22px 26px 14px;border:1px solid var(--line);border-radius:18px;background:#fff}
.memo-card h3{margin:0 0 8px;font:20px/1.3 var(--font-display)}
.checklist{list-style:none;margin:0;padding:0}
.checklist li{position:relative;padding:11px 0 11px 34px;border-top:1px solid var(--line);line-height:1.55}
.checklist li:first-child{border-top:0}
.checklist li::before{content:"";position:absolute;left:0;top:12px;width:22px;height:22px;border-radius:50%;background:var(--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2325423A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/12px no-repeat}
.memo-note{margin:18px 0 0;padding:14px 18px;border-radius:14px;background:var(--sage);color:var(--green)}
.soon{margin-top:40px;padding:26px 30px;border:1px solid #D3DFD2;border-radius:20px;background:var(--sage)}
.soon h2{margin:0 0 8px;font-size:21px}
.soon p{margin:0;max-width:70ch}
.flower-grid{gap:20px}
.flower-public{padding:0;overflow:hidden}
.flower-public img{border-radius:0}
.flower-public .eyebrow,.flower-public h3,.flower-public p{margin-left:20px;margin-right:20px}
.flower-public .eyebrow{margin-top:16px}
.flower-public p:last-child{margin-bottom:20px}
.article{max-width:860px;padding:34px 40px 26px;border:1px solid var(--line);border-radius:20px;background:#fff}
.article h1{margin:0 0 18px;font-size:34px;line-height:1.2}
.article-body{max-width:68ch}
.article-body p{margin:0 0 14px;font-size:16.5px;line-height:1.7}
.article-body h2{margin:30px 0 10px;font-size:24px}
.article-body ul,.article-body ol{margin:0 0 14px;padding-left:22px;line-height:1.7}
.article-more-block{margin-top:40px}
.article-more-block h2{margin:0 0 4px}
a.chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 15px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;text-decoration:none;white-space:nowrap}
a.chip:hover{border-color:var(--green)}
.chip-count{font-size:12px;color:var(--muted)}
.rec-note{margin:14px 0 0;max-width:72ch;padding:12px 16px;border-radius:14px;background:var(--sage);color:var(--green);font-size:14px}
nav.recommendation-sections{position:sticky;top:56px;z-index:10;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px;padding:10px 0;background:var(--paper)}
.recommendation-grid{gap:20px;margin-bottom:36px}
.recommendation-card{gap:22px;padding:22px 24px;border-radius:18px}
.recommendation-art{flex:0 0 112px;width:112px;height:112px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.recommendation-art img{width:100%;height:100%;object-fit:contain;border-radius:0}
.recommendation-placeholder{min-height:0;border:0;border-radius:0}
.recommendation-copy h3{margin:0 0 10px;font-size:18px}
.recommendation-copy p{margin:0;font-size:14.5px;line-height:1.65}
.recommendation-copy a{display:inline-flex;align-items:center;margin:2px 0;padding:1px 11px;border-radius:999px;background:var(--sage);color:var(--green);font-size:13.5px;font-weight:500;line-height:1.7;text-decoration:none}
.recommendation-copy a:hover{background:var(--green);color:#fff}
.recommendation-card section.sechead,.sechead+.recommendation-grid{margin-top:0}
@media(max-width:850px){
.article-grid,.memo-grid{grid-template-columns:1fr}
.recommendation-card{flex-direction:column}
.recommendation-art{flex-basis:auto;width:100%;height:150px}
}
@media(max-width:640px){
.article{padding:22px 18px}
.article h1{font-size:28px}
.memo-card{padding:18px 18px 8px}
.soon{padding:20px 18px}
nav.recommendation-sections{flex-wrap:nowrap;overflow-x:auto;margin:14px -16px 6px;padding:8px 16px;scrollbar-width:none;top:52px}
nav.recommendation-sections::-webkit-scrollbar{display:none}
.recommendation-card{flex-direction:row;padding:16px;gap:14px}
.recommendation-art{width:88px;height:88px;flex:0 0 88px}
}
@media(max-width:640px){
.recommendation-placeholder span:last-child{display:none}
.recommendation-placeholder>span:first-child{font-size:30px}
}
/* Окошко Веруси (внешний виджет). На телефоне и планшете кружок и окно стоят над нижней панелью: положение задаётся
   переменной виджета --verusya-bottom (см. okoshko.css), на телефоне открытое окно занимает весь экран. */
@media(max-width:900px){
#verusya-widget{--verusya-bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media(min-width:901px){
.site-footer .footer-links{padding-right:76px}
}
.video-art-closed .video-badge{right:58px}
@media(max-width:640px){
.video-art-closed .video-badge{right:50px}
}
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}
.home-portrait img{object-position:38% 20%}
@media(min-width:1024px){
.home-portrait img{object-position:50% 6%}
}
.not-found{max-width:640px;padding:40px 0 24px}
.not-found .actions{margin-top:20px}
.step-b .lesson-row-ref{grid-template-columns:minmax(0,1fr) 38px}
@media(max-width:600px){.step-b .lesson-row-ref{grid-template-columns:minmax(0,1fr) 34px}}
