/* fonts.css */
/* Шрифты лежат на нашем сервере — без обращений к Google Fonts (OFL 1.1, см. fonts/*-OFL.txt). */
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/manrope-cyrillic-wght-normal.woff2) format('woff2-variations'),url(/fonts/manrope-cyrillic-wght-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/manrope-latin-wght-normal.woff2) format('woff2-variations'),url(/fonts/manrope-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/onest-cyrillic-wght-normal.woff2) format('woff2-variations'),url(/fonts/onest-cyrillic-wght-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/onest-latin-wght-normal.woff2) format('woff2-variations'),url(/fonts/onest-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* style.css */
:root{font-family:Manrope,Arial,sans-serif;color-scheme:dark;--bg:#111315;--panel:#1b1e20;--panel-deep:#0d1012;--ink:#f1f0eb;--muted:#a6aaa9;--line:#34393a;--accent:#dfa85e;--accent-strong:#efb66c;--accent-ink:#111315;--soft:#24282a;--radius:23px}
:root[data-theme=light]{color-scheme:light;--bg:#e7e8e4;--panel:#f7f7f3;--panel-deep:#dbdedb;--ink:#171a1b;--muted:#5c6464;--line:#c8cfcc;--accent:#ab642a;--accent-strong:#9b531d;--accent-ink:#fff;--soft:#e5e9e6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}img,video{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}p{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-shell{max-width:1600px;min-height:100vh;margin:auto;padding:0 clamp(18px,3.2vw,50px)}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-family:'DM Sans',Manrope,sans-serif;font-size:29px;font-weight:800;letter-spacing:-.085em;line-height:1}.brand span{color:var(--accent);letter-spacing:-.14em}.main-nav,.header-actions{display:flex;align-items:center;gap:clamp(18px,2.5vw,40px)}.main-nav a,.header-account,.theme-toggle{font-size:13px;font-weight:800;letter-spacing:.01em}.main-nav a:hover,.footer-links a:hover,.text-link:hover,.back-link:hover{color:var(--accent)}.header-actions{gap:16px}.theme-toggle{display:inline-flex;align-items:center;gap:8px;background:none;color:var(--ink);border:0;padding:10px}.theme-toggle__icon{font-size:21px;line-height:1}.header-account{background:var(--accent);color:var(--accent-ink);padding:12px 22px;border-radius:11px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-account:hover,.button--primary:hover{filter:brightness(1.08)}.micro-label{display:block;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.17em;line-height:1.4;text-transform:uppercase}.hero{min-height:690px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr);gap:18px;padding:23px 0 0}.hero-main,.hero-feature,.hero-statement{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.hero-main{min-height:655px;background:var(--panel);padding:clamp(30px,4.4vw,70px);display:flex;flex-direction:column;justify-content:space-between;position:relative}.hero-main:after{content:'';position:absolute;left:39%;bottom:-25%;width:360px;height:360px;border:1px solid rgba(223,168,94,.08);border-radius:50%;pointer-events:none}.hero-title{font-family:'DM Sans',Manrope,sans-serif;font-weight:800;font-size:clamp(72px,9.2vw,154px);line-height:.88;letter-spacing:-.095em;max-width:780px;position:relative;z-index:1}.hero-title span,.hero-title em{display:block}.hero-title em{font-family:'Playfair Display',Georgia,serif;color:var(--accent);font-weight:500;letter-spacing:-.085em;line-height:1.05;margin-top:-.04em}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:24px;position:relative;z-index:1}.hero-bottom p{max-width:370px;margin:0;font-size:16px;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:14px 22px;border-radius:11px;font-size:13px;font-weight:800;line-height:1.35;text-align:center;white-space:normal;min-height:48px;transition:background .2s,transform .2s,filter .2s}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--accent);color:var(--accent-ink)}.button--secondary{background:var(--soft);color:var(--ink);border-color:var(--line)}.hero-side{display:grid;grid-template-rows:1.35fr .65fr;gap:18px;min-width:0}.hero-feature{background:var(--panel-deep);display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.75fr);position:relative}.hero-feature__copy{padding:clamp(30px,3vw,52px) 0 clamp(30px,3vw,52px) clamp(30px,3vw,52px);display:flex;flex-direction:column;align-items:start;min-width:0;z-index:1}.hero-feature h2{font-size:clamp(28px,2.7vw,48px);margin:auto 0 12px;overflow-wrap:anywhere}.hero-feature p{font-size:14px;line-height:1.6;max-width:280px;margin-bottom:22px}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--accent);font-size:13px;font-weight:800;line-height:1.4}.text-link span{font-size:18px;font-weight:400;line-height:1}.hero-ring{width:min(28vw,360px);aspect-ratio:1;border:clamp(26px,3.4vw,55px) solid var(--accent);border-radius:50%;align-self:center;justify-self:center;transform:translateX(27%);filter:drop-shadow(0 0 50px rgba(223,168,94,.11));opacity:.9;pointer-events:none}.hero-statement{background:var(--accent);color:var(--accent-ink);padding:clamp(25px,3vw,48px);display:flex;flex-direction:column;justify-content:space-between}.hero-statement .micro-label{color:var(--accent-ink);opacity:.75}.hero-statement p{color:var(--accent-ink);font-family:'DM Sans',Manrope,sans-serif;font-size:clamp(27px,3vw,48px);line-height:1.05;letter-spacing:-.055em;font-weight:700;margin:0}.hero-statement p strong{font-weight:800}.statement-index{align-self:flex-end;font-size:11px;font-weight:800;letter-spacing:.12em}.section-wrap{padding:clamp(80px,11vw,150px) 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}.section-heading h2,.approach h2{font-size:clamp(42px,5vw,82px);margin:20px 0 0}.section-heading em,.approach em,.page-intro em,.learning-head em{font-family:'Playfair Display',Georgia,serif;color:var(--accent);font-weight:500;letter-spacing:-.06em}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.product-card:hover{transform:translateY(-4px);border-color:var(--accent)}.product-card__top{padding:22px 25px;display:flex;justify-content:space-between;align-items:start;gap:12px}.product-card__number{font-size:12px;font-weight:800;color:var(--muted)}.product-card__art{height:235px;margin:0 15px;border-radius:14px;display:grid;place-items:center;overflow:hidden;position:relative;background:#14181b}.product-card__art--violet{background:#24202a}.product-card__art--sage{background:#1f2924}.orbit{position:absolute;border:36px solid var(--accent);border-radius:50%;width:230px;height:230px;right:-10%;top:24px;transform:rotate(-25deg)}.product-card__art--violet .orbit{border-color:#9c86b9}.product-card__art--sage .orbit{border-color:#88a78d}.art-mark{font-family:'DM Sans',sans-serif;font-weight:800;font-size:65px;letter-spacing:-.1em;z-index:1;color:#f1f0eb}.art-mark span{color:var(--accent)}.product-card__bottom{padding:23px 25px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:25px;flex:1}.product-card h3{font-size:26px;margin:0 0 10px;overflow-wrap:anywhere}.product-card p{font-size:14px;line-height:1.6;margin:0}.price-tag{align-self:start;border-top:1px solid var(--line);padding-top:12px;width:100%;color:var(--accent);font-size:14px;font-weight:800}.approach{padding:clamp(55px,7vw,110px) 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}.approach-items{display:grid;gap:0}.approach-items article{display:grid;grid-template-columns:54px 1fr;column-gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.approach-items article:first-child{border-top:1px solid var(--line)}.approach-items span{font-size:13px;font-weight:800;color:var(--accent);grid-row:span 2}.approach-items h3{font-size:25px;margin:0 0 4px}.approach-items p{font-size:15px;margin:0}.site-footer{padding:60px 0 45px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px}.brand--footer{font-size:25px}.site-footer p{font-size:13px;margin:13px 0 0}.footer-links{display:flex;gap:28px;font-size:13px;font-weight:700}.footer-copy{font-size:12px;color:var(--muted)}.page-intro{padding:clamp(70px,10vw,140px) 0 clamp(35px,6vw,80px);max-width:950px}.page-intro h1,.detail-copy h1,.learning-head h1,.lesson-article h1{font-size:clamp(48px,7vw,106px);margin:20px 0 20px}.page-intro p{font-size:18px;max-width:680px}.page-intro--compact{padding-bottom:15px}.catalog-section{padding-top:0}.catalog-meta{border-top:1px solid var(--line);padding:18px 0 30px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px;font-weight:700}.catalog-meta a{color:var(--accent)}.empty-state{padding:70px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.empty-state h2{font-size:40px;margin:20px 0 10px}.empty-state p{max-width:480px}.empty-state .button{margin-top:15px}.detail-hero{display:grid;grid-template-columns:1fr .78fr;gap:28px;padding:45px 0 65px;min-height:600px}.detail-copy{padding:30px 2vw 30px 0;display:flex;flex-direction:column;align-items:start}.back-link{display:inline-block;color:var(--muted);font-size:13px;font-weight:800;margin-bottom:65px}.detail-copy h1{max-width:800px;overflow-wrap:anywhere}.detail-lead{font-size:19px;max-width:550px}.detail-action{margin-top:auto;padding-top:30px;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.detail-price{font-size:22px;font-weight:800}.purchase-note{font-size:13px;color:var(--muted);max-width:260px}.detail-visual{border-radius:var(--radius);background:#1b1a17;display:grid;place-items:center;overflow:hidden;position:relative;min-height:420px}.detail-visual--violet{background:#231f29}.detail-visual--sage{background:#1e2922}.detail-ring{position:absolute;width:min(36vw,480px);aspect-ratio:1;border:65px solid var(--accent);border-radius:50%;right:-7%;bottom:-20%;transform:rotate(24deg)}.detail-visual--violet .detail-ring{border-color:#9c86b9}.detail-visual--sage .detail-ring{border-color:#88a78d}.detail-visual>span{position:relative;font-family:'DM Sans',sans-serif;font-size:clamp(42px,5vw,80px);font-weight:800;letter-spacing:-.09em;color:#f1f0eb}.detail-body{padding:75px 0 110px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.detail-body h2{font-size:46px;margin:18px 0}.detail-body p{max-width:550px;font-size:17px;white-space:pre-line}.curriculum-row{border-top:1px solid var(--line);padding:17px 0;display:flex;gap:25px}.curriculum-row:first-of-type{margin-top:23px}.curriculum-row span{color:var(--accent);font-size:13px;font-weight:800}.curriculum-row strong{font-size:16px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:680px;padding:36px 0 90px;gap:22px}.auth-aside,.auth-card{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(30px,5vw,75px)}.auth-aside{background:var(--panel-deep);overflow:hidden;position:relative}.auth-aside h1{font-size:clamp(50px,5.5vw,90px);margin:70px 0 25px}.auth-aside h1 em{font-family:'Playfair Display',Georgia,serif;color:var(--accent);font-weight:500}.auth-aside p{max-width:370px;position:relative;z-index:1}.auth-orbit{position:absolute;width:380px;aspect-ratio:1;border:55px solid var(--accent);border-radius:50%;right:-130px;bottom:-180px;opacity:.7}.auth-card{background:var(--panel);display:flex;flex-direction:column;align-items:stretch;justify-content:center}.auth-card h2{font-size:clamp(36px,3.8vw,60px);margin:20px 0 12px}.auth-intro{margin-bottom:30px}.form-stack,.editor-form{display:grid;gap:19px}.field{display:grid;gap:9px;font-size:13px;font-weight:800;line-height:1.4}.field input,.field textarea,.field select{width:100%;min-width:0;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-size:15px;font-weight:500;line-height:1.5;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(223,168,94,.15)}.field textarea{resize:vertical}.field-hint,.fine-print{font-size:12px;margin:-10px 0 0}.forgot-link{justify-self:end;font-size:13px;color:var(--accent);font-weight:800}.auth-switch{font-size:13px;margin:25px 0 0}.auth-switch a{color:var(--accent);font-weight:800}.inline-form{margin-top:20px}.quiet-button{border:0;background:none;color:var(--accent);font-size:13px;font-weight:800;padding:6px 0;text-align:left}.quiet-button:hover{text-decoration:underline}.notice{padding:13px 16px;border:1px solid var(--line);border-radius:10px;margin-bottom:18px;color:var(--ink);font-size:13px}.notice--error{border-color:#aa5750;color:#e8a6a0}.learning-head{padding:55px 0 50px;border-bottom:1px solid var(--line)}.learning-head .back-link{margin-bottom:45px}.learning-head h1{font-size:clamp(42px,5vw,74px)}.learning-head p{max-width:690px;font-size:17px}.learning-layout,.lesson-columns{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:clamp(35px,6vw,90px);padding:55px 0 110px}.learning-sidebar{align-self:start;position:sticky;top:25px;border-top:1px solid var(--line);padding-top:22px}.learning-sidebar>.micro-label{margin-bottom:23px}.lesson-link{display:flex;align-items:start;gap:15px;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px;line-height:1.5}.lesson-link:hover,.lesson-link.is-active{color:var(--accent)}.lesson-link>span:first-child{color:var(--accent);font-size:12px;font-weight:800}.lesson-link strong{font-weight:700;flex:1}.complete-dot{color:var(--accent);font-weight:800}.learning-content{max-width:850px}.learning-content h2{font-size:clamp(36px,4vw,60px);margin:18px 0}.learning-content>p{font-size:18px;max-width:720px;white-space:pre-line}.learning-content>.button{margin:15px 0 45px}.materials{margin-top:50px}.materials h3{font-size:27px;margin-bottom:25px}.material-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-top:1px solid var(--line)}.material-row>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.file-icon{border:1px solid var(--line);border-radius:6px;padding:5px;font-size:10px;font-weight:800;color:var(--accent)}.material-row strong{overflow-wrap:anywhere;font-size:14px}.material-row small{white-space:nowrap;color:var(--muted)}.material-actions{display:flex;gap:13px;white-space:nowrap;font-size:13px;font-weight:800;color:var(--accent)}.lesson-page{padding:45px 0 0}.lesson-page>.back-link{margin-bottom:0}.lesson-article{max-width:900px}.lesson-article h1{font-size:clamp(40px,5vw,73px)}.lesson-article video{width:100%;border-radius:15px;background:#000;margin:20px 0 30px}.lesson-prose{font-size:17px;line-height:1.82;color:var(--ink);max-width:720px}.lesson-prose p{color:var(--ink);margin-bottom:1.5em}.lesson-end{border-top:1px solid var(--line);padding-top:25px;display:flex;gap:15px;flex-wrap:wrap}.settings-card{max-width:650px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:35px;margin:30px 0 120px}.settings-card>div{padding:20px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}.settings-card strong{font-size:18px;overflow-wrap:anywhere}.settings-card form{margin-top:25px}.admin-page{padding:55px 0 110px;min-height:650px}.admin-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.admin-heading h1{font-size:clamp(40px,5vw,70px);margin:15px 0 30px}.admin-heading .back-link{margin:0}.admin-nav{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:0 0 15px;margin-bottom:35px;font-size:14px;font-weight:800}.admin-nav a:hover{color:var(--accent)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric-grid>div{min-height:180px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:25px;display:flex;flex-direction:column;justify-content:space-between}.metric-grid strong{font-family:'DM Sans',sans-serif;font-size:70px;line-height:1}.admin-section-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:55px 0 25px}.admin-section-head h2{font-size:32px;margin:0}.admin-section-head p{max-width:700px;margin:0}.data-list{border-top:1px solid var(--line)}.data-list>a,.data-list>div{border-bottom:1px solid var(--line);padding:17px 8px;display:flex;align-items:center;gap:20px;justify-content:space-between;font-size:14px}.data-list>a:hover{background:var(--soft)}.data-list strong{margin-right:auto;overflow-wrap:anywhere}.data-list span,.data-list time{color:var(--muted)}.editor-form{max-width:850px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin-bottom:25px}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.editor-form>.button{justify-self:start}.editor-extras{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:65px}.editor-extras h2{font-size:31px}.editor-extras .editor-form{margin-top:25px}.checkbox-field{font-size:14px;display:flex;align-items:center;gap:8px}.checkbox-field input{accent-color:var(--accent)}.admin-user-email{margin-bottom:35px}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-main{min-height:590px}.hero-side{grid-template-columns:1fr 1fr;grid-template-rows:minmax(320px,auto)}.hero-feature{grid-template-columns:1fr 160px}.hero-ring{width:280px;transform:translateX(32%)}.hero-title{font-size:clamp(80px,12vw,135px)}.hero-statement p{font-size:clamp(27px,3vw,38px)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.site-header{height:auto;min-height:80px;flex-wrap:wrap;padding:17px 0;gap:15px}.brand{font-size:25px}.main-nav{order:3;width:100%;justify-content:flex-start;gap:24px}.main-nav a{font-size:12px}.theme-toggle__label{display:none}.header-account{font-size:12px;padding:10px 15px}.hero{padding-top:16px;gap:14px}.hero-main{min-height:520px;padding:28px}.hero-title{font-size:clamp(69px,13vw,105px)}.hero-bottom{align-items:start;flex-direction:column}.hero-bottom p{font-size:15px}.hero-side{grid-template-columns:1fr;grid-template-rows:330px 210px;gap:14px}.hero-feature{grid-template-columns:minmax(0,1fr) 145px}.hero-feature__copy{padding:27px 0 27px 27px}.hero-feature h2{font-size:30px}.hero-ring{width:245px;border-width:36px}.hero-statement{padding:28px}.hero-statement p{font-size:34px}.section-heading{align-items:start;flex-direction:column}.section-wrap{padding:80px 0}.product-grid{grid-template-columns:1fr}.product-card__art{height:200px}.approach,.detail-hero,.detail-body,.auth-layout,.editor-extras{grid-template-columns:1fr}.approach{gap:35px}.detail-hero{padding-top:30px}.detail-copy{min-height:420px}.detail-copy .back-link{margin-bottom:45px}.detail-visual{min-height:350px}.detail-ring{width:330px}.detail-body{gap:45px;padding:65px 0}.auth-layout{padding-top:16px}.auth-aside{min-height:250px}.auth-aside h1{font-size:55px;margin:25px 0}.auth-orbit{width:250px;border-width:37px;right:-80px;bottom:-140px}.auth-card{padding:32px}.learning-layout,.lesson-columns{grid-template-columns:1fr;gap:30px}.learning-sidebar{position:static}.site-footer{flex-wrap:wrap}.footer-copy{width:100%}.editor-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.admin-section-head{align-items:start;flex-direction:column}}
@media(max-width:480px){.site-shell{padding:0 16px}.hero-title{font-size:clamp(58px,16vw,80px)}.hero-main{min-height:470px}.hero-feature{grid-template-columns:minmax(0,1fr) 105px}.hero-feature h2{font-size:26px}.hero-feature p{font-size:12px}.hero-ring{width:190px;border-width:30px}.page-intro h1,.detail-copy h1{font-size:48px}.footer-links{width:100%;flex-wrap:wrap}.material-row,.data-list>a,.data-list>div{align-items:start;flex-direction:column}.metric-grid{grid-template-columns:1fr}.admin-nav{gap:15px}.editor-form{padding:20px}.detail-visual>span{font-size:48px}}
.hero-feature{grid-template-columns:minmax(0,1fr) minmax(180px,230px)}.hero-feature__copy{padding-right:15px}.hero-ring{width:min(16vw,210px);border-width:clamp(25px,3vw,43px);transform:none;justify-self:center}
@media(max-width:1100px){.hero-feature{grid-template-columns:minmax(0,1fr) 150px}.hero-ring{width:140px;border-width:29px}}
@media(max-width:760px){.hero-feature{grid-template-columns:minmax(0,1fr) 145px}.hero-ring{width:135px;border-width:27px}}
@media(max-width:480px){.hero-side{grid-template-rows:430px 210px}.hero-feature{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 160px}.hero-feature__copy{padding:24px 25px 0}.hero-feature h2{font-size:28px;margin:24px 0 8px}.hero-feature p{font-size:13px;line-height:1.5;margin-bottom:12px}.hero-ring{width:138px;border-width:28px;align-self:start}}
.product-cover,.detail-cover{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.detail-cover{object-fit:contain;padding:20px}
:root { --stats-line: rgba(150,150,150,.22); }
.telegram-card .auth-intro { line-height:1.65; }
.telegram-form .button { width:100%; }
.telegram-form button:disabled { opacity:.5; cursor:not-allowed; transform:none; }
.auth-setup-key { display:block; overflow-wrap:anywhere; padding:20px 0; line-height:1.7; user-select:all; }
.stats-intro,.stats-help p,.stats-empty { max-width:70ch; line-height:1.7; color:var(--muted); }
.stats-table-wrap { margin:32px 0; }
.stats-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.stats-table th,.stats-table td { padding:24px 16px; border-bottom:1px solid var(--stats-line); text-align:right; }
.stats-table th:first-child { text-align:left; padding-left:0; width:46%; }
.stats-table thead th { font-size:13px; font-weight:500; color:var(--muted); }
.stats-table tbody th { font-size:17px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.stats-table td { font-size:24px; font-weight:600; }
.stats-table small { display:block; font-size:12px; color:var(--muted); font-weight:400; margin-top:5px; }
.stats-help { margin:28px 0; font-size:14px; }
.stats-help summary { cursor:pointer; padding:12px 0; }
.stats-help p { margin:12px 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:640px) {
  .stats-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .stats-table,.stats-table tbody,.stats-table tr { display:block; }
  .stats-table tr { border-bottom:1px solid var(--stats-line); padding:18px 0; }
  .stats-table th:first-child { display:block; width:auto; padding:0 0 16px; border:0; }
  .stats-table td { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:8px 0; border:0; font-size:21px; }
  .stats-table td::before { content:attr(data-label); font-size:14px; font-weight:400; color:var(--muted); }
}

/* editorial.css */
/* Design contract: open editorial composition, graphite/bronze, one sculptural
   accent, 8px spacing rhythm, 12px controls, quiet study surfaces. */
:root{--bg:#131414;--panel:#1c1e1e;--panel-deep:#101212;--ink:#eeeae2;--muted:#a7aaa5;--line:#323632;--accent:#d9ad75;--accent-strong:#e6bb86;--radius:16px}
:root[data-theme=light]{--bg:#eceae3;--panel:#f6f4ee;--panel-deep:#e3e2d9;--ink:#222723;--muted:#636960;--line:#ced0c5;--accent:#925d2e;--accent-strong:#855129}
html{scroll-padding-top:28px}.site-shell{max-width:1480px;padding:0 clamp(22px,4.6vw,76px)}.site-header{height:96px;border-bottom:0}.brand span{color:#ed773e}.header-account{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 22px}.micro-label{font-size:11px;line-height:1.65;letter-spacing:.13em}.main-nav a,.header-actions{font-weight:700}.button{border-radius:8px;font-size:14px;padding:15px 24px;min-height:50px;transition:background .18s,color .18s,transform .18s}.button--secondary{background:transparent}.text-link{font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--line)}.text-link:hover{text-decoration-color:var(--accent)}
.studio-hero{display:grid;grid-template-columns:1.04fr 1fr;gap:clamp(32px,6vw,90px);padding:62px 0 66px;align-items:center}.studio-intro{min-width:0}.studio-intro h1{font-family:'DM Sans',Manrope,sans-serif;font-size:clamp(88px,10.5vw,154px);font-weight:800;line-height:.96;letter-spacing:-.082em;margin:37px 0 29px}.studio-intro h1 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:-.075em;color:var(--accent)}.studio-intro>p{font-size:clamp(16px,1.4vw,19px);line-height:1.75;letter-spacing:-.025em;margin-bottom:26px}.studio-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.studio-footnote{display:block;margin-top:22px;color:var(--muted);font-size:12px}.studio-object{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.object-stage{height:clamp(300px,32vw,470px);display:grid;place-items:center;position:relative;isolation:isolate}.metal-ring{width:clamp(230px,28vw,390px);aspect-ratio:1;border-radius:50%;position:relative;transform:rotate(-22deg) rotateY(22deg);background:conic-gradient(from 25deg,#493723,#c29761 13%,#f2ddba 25%,#b58244 39%,#664c2b 48%,#d9b985 67%,#fbebcc 76%,#b0854e 87%,#493723);box-shadow:inset 8px 6px 14px #fff2d94a,inset -10px -12px 17px #2d1f1680,14px 22px 28px #00000035;mask:radial-gradient(circle,transparent 0 44%,#000 44.6%);z-index:1}.metal-ring:before{content:'';position:absolute;inset:17%;border-radius:50%;box-shadow:0 0 0 3px #e2c69a55,0 0 18px 10px #33241980,inset 8px 7px 12px #0009}.ring-shadow{position:absolute;bottom:20px;left:24%;right:15%;height:28px;background:#0005;border-radius:50%;filter:blur(18px);transform:rotate(-8deg)}.featured-caption{display:flex;align-items:end;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:22px 0 10px}.featured-caption h2{font-size:29px;line-height:1.2;margin:9px 0 0;letter-spacing:-.045em}.caption-action{color:var(--muted);font-size:12px;max-width:120px;line-height:1.6;text-align:right}.featured-caption:hover h2{color:var(--accent)}.studio-divider{display:flex;justify-content:space-between;gap:20px;padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.13em;color:var(--muted);line-height:1.6}
.section-wrap{padding:90px 0}.section-heading{margin-bottom:35px}.section-heading h2,.approach h2,.inside-copy h2{font-size:clamp(38px,4.5vw,66px);line-height:1.13;letter-spacing:-.05em}.section-heading h2{margin-top:14px}.product-grid{gap:28px}.product-card{border:0;background:transparent;border-radius:0;position:relative;transition:transform .2s}.product-card:hover{transform:translateY(-4px)}.product-card__top{padding:0 0 13px}.product-card__number{font-size:11px}.product-card__art{margin:0;height:285px;border-radius:12px;background:#d5c3a4;color:#262b25;position:relative}.product-card__art--violet{background:#bab3c7;color:#292838}.product-card__art--sage{background:#bcc8b3;color:#263328}.cover-editorial{padding:28px;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.cover-kicker{font-size:10px;letter-spacing:.16em;font-weight:800;position:relative;z-index:1}.cover-title{font-family:'DM Sans',Manrope,sans-serif;font-size:clamp(32px,3.2vw,52px);font-weight:800;line-height:1.06;letter-spacing:-.055em;max-width:80%;position:relative;z-index:1;overflow-wrap:anywhere}.cover-bottom{display:flex;justify-content:space-between;font-size:11px;font-weight:800;z-index:1;position:relative}.cover-lines{position:absolute;right:-30px;top:20%;width:190px;height:210px;transform:rotate(-24deg);border:1px solid currentColor;opacity:.25;box-shadow:-13px 13px 0 -1px #d5c3a4,-13px 13px 0 currentColor,-26px 26px 0 -1px #d5c3a4,-26px 26px 0 currentColor}.product-card__art--violet .cover-lines{border-radius:50%;box-shadow:0 0 0 15px #bab3c7,0 0 0 16px currentColor,0 0 0 31px #bab3c7,0 0 0 32px currentColor}.product-card__art--sage .cover-lines{transform:rotate(0);box-shadow:-15px 15px 0 -1px #bcc8b3,-15px 15px 0 currentColor}.product-card__bottom{padding:22px 0 0;gap:18px}.product-card h3{font-size:24px;line-height:1.22;letter-spacing:-.035em;margin-bottom:9px}.product-card p{font-size:14px;line-height:1.7}.price-tag{font-size:13px;padding-top:14px}.product-grid--single{grid-template-columns:1fr}.product-grid--single .product-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);column-gap:60px;align-items:center}.product-grid--single .product-card__top{grid-column:1 / -1}.product-grid--single .product-card__art{height:300px}.product-grid--single .product-card__bottom{padding:0;max-width:450px}.product-grid--single h3{font-size:36px}.product-grid--single p{font-size:16px}.product-grid--single .cover-title{font-size:62px;max-width:70%}
.inside-section{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(36px,7vw,100px);align-items:center;padding:80px 0 100px;border-top:1px solid var(--line)}.inside-copy h2{margin:18px 0 23px}.inside-copy h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:var(--accent)}.inside-copy>p{max-width:440px;font-size:16px;line-height:1.8;margin-bottom:29px}.lesson-preview{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 20px 40px #00000014;overflow:hidden}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 26px}.preview-toolbar .brand{font-size:21px}.preview-toolbar>span:last-child{font-size:9px;letter-spacing:.13em;color:var(--muted)}.preview-page{padding:32px}.preview-page h3{font-size:30px;letter-spacing:-.04em;line-height:1.22;margin:15px 0 20px}.preview-page>p{font-size:14px;line-height:1.8}.preview-page aside{border-left:2px solid var(--accent);padding:5px 0 5px 18px;margin-top:23px}.preview-page aside span{font-size:10px;color:var(--accent);font-weight:800;letter-spacing:.1em}.preview-page aside p{font-size:14px;line-height:1.7;margin:8px 0 0;color:var(--ink)}.preview-bottom{display:flex;justify-content:space-between;padding:15px 26px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.studio-approach{padding:80px 0 90px;gap:70px}.studio-approach>div>p{max-width:400px;line-height:1.8;margin-top:25px}.approach-items article{grid-template-columns:35px 1fr;padding:24px 0}.approach-items h3{font-size:22px;letter-spacing:-.025em}.approach-items p{font-size:14px;line-height:1.75}.site-footer{padding:40px 0;align-items:start}.site-footer p{max-width:280px;line-height:1.7}.footer-links{flex-wrap:wrap}.page-intro{padding:64px 0 50px;max-width:900px}.page-intro h1{font-size:clamp(42px,5.6vw,78px);line-height:1.13;letter-spacing:-.055em;margin:20px 0}.page-intro p{font-size:17px;line-height:1.8}.catalog-section{padding-top:0}.catalog-meta{font-weight:500}.detail-copy h1{font-size:clamp(42px,5.4vw,76px);line-height:1.13;letter-spacing:-.055em}.detail-hero{gap:50px;min-height:520px}.detail-copy .back-link{margin-bottom:38px}.detail-visual{min-height:400px;background:var(--panel);border:1px solid var(--line)}.detail-ring{width:270px;border-width:45px;right:50%;bottom:50%;transform:translate(50%,50%);border-color:var(--accent);opacity:.25}.detail-visual>span{font-size:54px}.detail-body{gap:70px;padding:65px 0 90px}.detail-body h2{font-size:38px}.curriculum-row{padding:20px 0}.auth-layout{gap:55px;min-height:660px;padding:45px 0 80px}.auth-aside{border:0;background:transparent;padding-left:0}.auth-orbit{display:none}.auth-aside h1{font-size:clamp(40px,4.8vw,68px);line-height:1.18}.auth-card{padding:38px;align-self:center}.auth-card h2{font-size:38px;letter-spacing:-.04em}.field input,.field textarea,.field select{border-radius:7px}.learning-head{padding:42px 0 35px}.learning-head h1{font-size:clamp(38px,4.8vw,65px);line-height:1.16}.learning-head .back-link{margin-bottom:26px}.learning-layout,.lesson-columns{grid-template-columns:270px minmax(0,1fr);gap:60px;padding:40px 0 80px}.learning-sidebar{border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--panel-deep)}.lesson-link{font-size:13px;gap:10px;padding:15px 0}.lesson-link:last-child{border-bottom:0}.lesson-link.is-active{color:var(--accent);background:var(--panel);border-radius:6px;padding:12px 8px}.learning-content h2{font-size:40px}.learning-content>p{font-size:16px;line-height:1.8}.lesson-article h1{font-size:clamp(35px,4.2vw,58px);line-height:1.17;letter-spacing:-.045em;margin-top:16px}.lesson-prose{font-size:17px;line-height:1.9;max-width:680px}.lesson-prose p{color:var(--ink)}.material-row{padding:20px 0}.admin-heading h1{font-size:48px}.settings-card{border-radius:12px}.empty-state{background:transparent;border-style:dashed;padding:45px}.empty-state h2{font-size:32px}.button:hover{transform:translateY(-1px)}
@media(max-width:1050px){.studio-hero{gap:30px;padding-top:45px}.studio-intro h1{font-size:clamp(82px,11vw,120px)}.studio-actions{gap:20px}.metal-ring{width:clamp(220px,29vw,330px)}.featured-caption{align-items:start;flex-direction:column;gap:8px}.caption-action{text-align:left;max-width:none}.product-grid{gap:22px}.product-grid--single .product-card{gap:28px}.product-grid--single .cover-title{font-size:46px}.inside-section{gap:35px}.preview-page{padding:25px}.learning-layout,.lesson-columns{grid-template-columns:220px minmax(0,1fr);gap:30px}}
@media(max-width:760px){.site-shell{padding:0 24px}.site-header{height:auto;min-height:85px;border-bottom:1px solid var(--line)}.studio-hero{grid-template-columns:1fr;padding:38px 0 35px;gap:10px}.studio-intro h1{font-size:clamp(84px,17vw,128px);margin:24px 0}.studio-intro>p{font-size:17px}.studio-footnote{margin-top:20px}.object-stage{height:285px}.metal-ring{width:235px}.ring-shadow{bottom:12px;left:30%;right:25%}.featured-caption{flex-direction:row;align-items:end;padding-top:18px}.featured-caption h2{font-size:27px}.caption-action{max-width:105px;text-align:right}.studio-divider{font-size:9px}.studio-divider>span:last-child{display:none}.section-wrap{padding:60px 0}.section-heading{gap:20px}.section-heading h2,.inside-copy h2,.approach h2{font-size:42px}.product-grid--single .product-card{display:flex;gap:0}.product-grid--single .product-card__art{height:285px;width:100%}.product-grid--single .product-card__bottom{padding-top:22px;max-width:none}.product-grid--single h3{font-size:28px}.product-grid--single .cover-title{font-size:48px}.product-card__art{height:270px}.inside-section{grid-template-columns:1fr;padding:60px 0;gap:35px}.inside-copy>p{max-width:none}.studio-approach{padding:60px 0;gap:25px}.page-intro{padding:42px 0 30px}.page-intro h1{font-size:48px}.catalog-section{padding-top:0}.detail-hero{gap:24px}.detail-copy{min-height:0}.detail-visual{min-height:300px}.detail-copy h1{font-size:48px}.auth-layout{gap:20px;padding-top:25px}.auth-aside{padding:20px 0;min-height:0}.auth-aside h1{font-size:47px;margin:22px 0}.auth-card{padding:28px}.learning-layout,.lesson-columns{grid-template-columns:1fr;gap:32px}.learning-sidebar{position:static}.learning-content h2{font-size:34px}.lesson-article h1{font-size:38px}.site-footer{gap:25px}.detail-body{gap:40px}.studio-actions .text-link{font-size:13px}}
@media(max-width:380px){.site-shell{padding:0 18px}.studio-intro h1{font-size:82px}.studio-actions{align-items:start;flex-direction:column;gap:18px}.studio-intro>p{font-size:15px}.featured-caption{gap:12px}.featured-caption h2{font-size:24px}.section-heading h2,.inside-copy h2,.approach h2{font-size:36px}.cover-editorial{padding:22px}.product-grid--single .cover-title{font-size:40px}.preview-page{padding:23px}.preview-page h3{font-size:27px}.page-intro h1,.detail-copy h1{font-size:41px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.detail-visual:has(.cover-editorial){background:#d5c3a4;color:#262b25;border:0}.detail-visual--violet:has(.cover-editorial){background:#bab3c7;color:#292838}.detail-visual--sage:has(.cover-editorial){background:#bcc8b3;color:#263328}.detail-visual .cover-editorial{min-height:400px;padding:36px}.detail-visual .cover-title{font-size:clamp(40px,4.5vw,68px)}.detail-visual .cover-lines{height:280px;width:240px;top:25%}body,.site-header,.auth-card,.lesson-preview,.button,.learning-sidebar{transition:background-color .2s,color .2s,border-color .2s}@media(max-width:760px){.detail-visual .cover-editorial{min-height:300px;padding:28px}}
@media(max-width:760px){.auth-aside{display:none}.auth-layout{min-height:0;padding:30px 0 60px}.auth-card{padding:27px}.auth-card h2{font-size:32px}.auth-intro{font-size:14px}.auth-switch{line-height:1.7}}
@media(max-width:760px){.object-stage{height:330px}.metal-ring{width:220px}}
.object-stage{grid-template-columns:minmax(0,1fr)}
.object-stage{height:auto;min-height:430px;padding:24px 0 30px;isolation:isolate}.idea-sheet{width:100%;max-width:470px;border:1px solid #45404f;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at 100% 0%,#7558a14a,transparent 58%),linear-gradient(135deg,#242229,#1a1c1d 72%);color:var(--ink)}.idea-sheet__top,.idea-sheet__bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 25px;font-size:9px;letter-spacing:.13em;line-height:1.5;color:var(--muted)}.idea-sheet__top{border-bottom:1px solid #ffffff0e}.idea-sheet__top>span:last-child{color:#bc9dec}.idea-sheet__body{padding:31px 27px 22px}.idea-sheet__label{color:#bc9dec;font-size:9px;font-weight:700;letter-spacing:.13em}.idea-sheet__title{font-family:'DM Sans',Manrope,sans-serif;font-size:clamp(29px,3vw,43px);line-height:1.14;letter-spacing:-.04em;color:var(--ink);font-weight:700;margin:16px 0 27px}.idea-sheet__title em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:#c8b5e1;letter-spacing:-.045em}.idea-sheet__steps{display:grid;gap:0}.idea-sheet__steps>div{display:grid;grid-template-columns:25px 1fr;column-gap:13px;padding:11px 0;border-top:1px solid #ffffff12;align-items:baseline}.idea-sheet__steps span{grid-row:span 2;color:#aa8fcb;font-size:10px}.idea-sheet__steps strong{font-size:13px;font-weight:600;line-height:1.5}.idea-sheet__steps small{font-size:11px;line-height:1.6;color:var(--muted)}.idea-sheet__bottom{border-top:1px solid #ffffff0e;padding-top:10px;padding-bottom:10px}.idea-sheet__mark{color:var(--accent);font-size:30px;font-weight:800;line-height:1}.featured-caption{padding-top:18px}.featured-caption .micro-label{color:#bba0de}.preview-toolbar{background:linear-gradient(110deg,transparent 40%,#8f66c71a)}.lesson-preview{border-color:#494051}.product-card__art--violet{background:linear-gradient(125deg,#c4b7d7,#9d90b5)}.product-card:hover .product-card__art{box-shadow:0 0 0 1px #a389c566}.header-account:hover{border-color:#9f83c5;background:#a58bcc0b}.button--secondary:hover{border-color:#987ab5;background:#9672c00d}.lesson-link.is-active{color:#c4a4eb;border-left:2px solid #9978c3}.studio-divider{border-image:linear-gradient(90deg,var(--line),#70538e80,var(--line)) 1}:root[data-theme=light] .idea-sheet{background:radial-gradient(ellipse at 100% 0%,#b895e342,transparent 62%),linear-gradient(135deg,#f5f2f8,#eae8e5 75%);border-color:#d3c8df}:root[data-theme=light] .idea-sheet__title em{color:#745195}:root[data-theme=light] .idea-sheet__label,:root[data-theme=light] .idea-sheet__steps span,:root[data-theme=light] .idea-sheet__top>span:last-child,:root[data-theme=light] .featured-caption .micro-label{color:#795299}:root[data-theme=light] .idea-sheet__steps>div,:root[data-theme=light] .idea-sheet__top,:root[data-theme=light] .idea-sheet__bottom{border-color:#2d1c4315}:root[data-theme=light] .lesson-preview{border-color:#cfc5da}:root[data-theme=light] .lesson-link.is-active{color:#77519b}@media(max-width:1050px){.idea-sheet__body{padding:25px 22px 18px}.idea-sheet__title{font-size:32px}}@media(max-width:760px){.object-stage{min-height:0;padding:30px 0 25px}.idea-sheet{max-width:none}.idea-sheet__title{font-size:36px}.idea-sheet__body{padding:27px 25px 20px}}@media(max-width:380px){.idea-sheet__title{font-size:29px}.idea-sheet__body{padding:25px 19px 18px}.idea-sheet__top,.idea-sheet__bottom{padding-left:19px;padding-right:19px}}
.metal-ring{background:transparent url('/ring.svg') center / contain no-repeat;mask:none;transform:none;box-shadow:none;border-radius:0;width:clamp(280px,34vw,470px);max-width:100%;filter:drop-shadow(8px 18px 15px #0000001a)}.metal-ring:before{display:none}.ring-shadow{opacity:.3;filter:blur(12px);height:14px;left:30%;right:25%}@media(max-width:1050px){.metal-ring{width:clamp(250px,34vw,370px)}}@media(max-width:760px){.metal-ring{width:290px}}

/* course.css */
/* Learning design: readable editorial pages, quiet navigation, violet used for state. */
.detail-hero--cover-first>.detail-catalog-link{grid-column:1 / -1;grid-row:1;justify-self:start;margin:0;line-height:1.6}
.detail-hero--cover-first{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);align-items:center;padding:44px 0 64px;gap:clamp(36px,6vw,90px)}
.detail-hero--cover-first .detail-visual{grid-column:1;grid-row:2;min-height:0;aspect-ratio:4/5;align-self:center;border:0;border-radius:18px;overflow:hidden;width:100%}
.detail-hero--cover-first .detail-copy{grid-column:2;grid-row:2;min-width:0;padding:0;align-self:end}
.detail-hero--cover-first .detail-copy h1{font-size:clamp(34px,4.2vw,62px);line-height:1.16;letter-spacing:-.045em;overflow-wrap:normal;word-break:normal}
.detail-hero--cover-first .detail-action{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:24px;padding-top:0}
.detail-hero--cover-first .detail-price{display:block;margin:0;padding:0;text-align:left;font-size:24px;line-height:1.3}
.detail-hero--cover-first .detail-action form{margin:0;width:auto}
.detail-hero--cover-first .detail-action .button{min-width:185px;justify-content:center}
.detail-hero--cover-first .detail-visual{align-self:end}
.marketing-art{position:relative;overflow:hidden}
.marketing-art::before{content:"";position:absolute;inset:0;background:url('/course-weave.svg') right center / cover no-repeat;mask-image:linear-gradient(90deg,transparent 35%,#0003 65%,#000 88%);pointer-events:none;z-index:-1}
.marketing-art::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 100% 12%,#eadbff66,transparent 50%);pointer-events:none;z-index:-1}
.marketing-art{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:clamp(22px,3.6vw,48px);color:#28232e;background:radial-gradient(ellipse at 100% 0%,#d4c3ee,transparent 65%),#b9b0c7;isolation:isolate}
.marketing-art__center{margin:30px 0;min-width:0}.marketing-art__label{font-size:11px;letter-spacing:.15em;font-weight:700}.marketing-art__center>strong{display:block;margin:16px 0 36px;font-size:clamp(30px,3.9vw,57px);line-height:1.15;letter-spacing:-.045em;font-weight:700;word-break:normal;overflow-wrap:normal}.marketing-art__center em{font-family:'Playfair Display',Georgia,serif;font-weight:500}.marketing-art__diagram{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;font-weight:600;line-height:1.7}.marketing-art__diagram i{height:1px;width:16px;background:currentColor;opacity:.4}.marketing-art .cover-bottom{font-size:9px;line-height:1.6;gap:14px}.marketing-art .cover-kicker{font-size:10px;line-height:1.7}
.product-card__art .marketing-art{padding:25px}.product-card__art .marketing-art__center{margin:14px 0}.product-card__art .marketing-art__center>strong{font-size:clamp(27px,3vw,40px);margin:9px 0 15px}.product-card__art .marketing-art__diagram{display:none}
.has-registration-dialog{overflow:hidden}.registration-dialog{width:min(480px,calc(100% - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:0 30px 100px #0006;overflow:auto}.registration-dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.registration-dialog__top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px}.registration-dialog__top .brand{font-size:24px}.dialog-close{border:0;background:transparent;color:var(--muted);padding:10px 0 10px 10px;cursor:pointer;font:inherit;font-size:12px}.dialog-close:hover{color:var(--ink)}.registration-dialog h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:12px 0}.registration-dialog>p{font-size:14px;line-height:1.7;color:var(--muted)}.registration-dialog .form-stack{margin-top:22px;gap:14px}.registration-dialog .field{margin:0}.registration-dialog .field-hint{margin:0;font-size:12px}.registration-dialog .auth-switch{margin:22px 0 0}.registration-dialog .button{width:100%}
@media(max-width:760px){.detail-hero--cover-first{grid-template-columns:1fr;padding-top:25px;gap:32px}.detail-hero--cover-first .detail-visual{grid-column:1;grid-row:2;aspect-ratio:5/4;max-width:480px;justify-self:center}.detail-hero--cover-first .detail-copy{grid-column:1;grid-row:3}.detail-hero--cover-first .detail-copy h1{font-size:clamp(33px,8vw,48px)}.detail-hero--cover-first .detail-copy .back-link{margin-bottom:24px}.marketing-art__center{margin:20px 0}.marketing-art__center>strong{font-size:clamp(30px,7.4vw,46px);margin:10px 0 20px}.marketing-art{padding:24px}.marketing-art__diagram{gap:7px;font-size:10px}.marketing-art__diagram i{width:10px}.registration-dialog{padding:24px}.registration-dialog h2{font-size:27px}}
:root{--course-violet:#bca2eb;--course-tint:#a27bd212;--course-good:#a4cbb2}
:root[data-theme=light]{--course-violet:#694198;--course-tint:#8661b810;--course-good:#30694c}
.course-workspace{padding:24px 0 80px}.course-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;line-height:1.7;color:var(--muted);padding-bottom:30px;border-bottom:1px solid var(--line)}
.course-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(32px,5vw,76px);padding-top:36px;align-items:start}.course-main{min-width:0;max-width:850px;width:100%;margin-inline:auto}.course-sidebar{position:sticky;top:24px;min-width:0}.course-sidebar summary{font-size:13px;font-weight:700;cursor:pointer;line-height:1.6}.course-sidebar summary>span{float:right;color:var(--muted);font-variant-numeric:tabular-nums}.course-sidebar progress{margin:15px 0 22px}.course-workspace progress{appearance:none;width:100%;height:3px;border:0;background:var(--line);color:var(--course-violet);border-radius:4px;overflow:hidden}.course-workspace progress::-webkit-progress-bar{background:var(--line)}.course-workspace progress::-webkit-progress-value{background:var(--course-violet);transition:width .25s}.course-workspace progress::-moz-progress-bar{background:var(--course-violet)}
.course-nav{display:grid;grid-template-columns:22px minmax(0,1fr) 12px;gap:10px;align-items:start;padding:12px 10px;margin:2px -10px;border-radius:8px;font-size:12px;line-height:1.5}.course-nav strong{font-weight:600;display:block}.course-nav small{display:block;font-size:10px;line-height:1.6;margin-top:3px;color:var(--muted)}.course-nav__number{font-size:10px;color:var(--muted);padding-top:3px;font-variant-numeric:tabular-nums}.course-nav.is-current{background:var(--course-tint);color:var(--course-violet)}.course-nav.is-locked{color:var(--muted)}a.course-nav:hover{background:var(--panel)}.course-sidebar__note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.course-main h1{font-size:clamp(32px,3.8vw,53px);line-height:1.17;letter-spacing:-.04em;font-weight:700;margin:20px 0 24px;text-wrap:balance;overflow-wrap:break-word}.course-main h1 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:var(--accent)}.course-main p{line-height:1.8}.course-welcome{padding:28px 0 42px;background:radial-gradient(ellipse at 92% 10%,var(--course-tint),transparent 65%)}.course-welcome>p{max-width:60ch;font-size:17px}.course-facts{display:flex;gap:24px;flex-wrap:wrap;margin:30px 0;font-size:12px;color:var(--muted)}.course-facts b{font-size:20px;color:var(--ink);margin-right:4px}.course-how{border-top:1px solid var(--line);padding:30px 0}.course-how h2{font-size:25px;letter-spacing:-.025em}.course-how p{font-size:15px;max-width:65ch}.course-lesson-head{padding-bottom:26px;border-bottom:1px solid var(--line)}.course-page-progress{display:flex;align-items:center;gap:22px;margin-top:18px;color:var(--muted);font-size:11px}.course-page-progress>span{white-space:nowrap}.course-page-progress progress{max-width:170px}.course-page{padding:34px 0}.course-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--course-violet);font-weight:700}.course-explanation{font-size:17px;color:var(--ink);max-width:65ch;margin:0}
.course-diagram{margin:32px 0 0;padding:25px 28px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(125deg,var(--course-tint),transparent 60%),var(--panel);min-width:0}.course-diagram figcaption{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}.course-diagram__items{display:grid;gap:0}.course-diagram__item{min-width:0;display:grid;grid-template-columns:25px minmax(0,1fr);gap:12px;padding:16px 0;border-top:1px solid var(--line)}.course-diagram__item:first-child{border-top:0;padding-top:0}.course-diagram__item:last-child{padding-bottom:0}.course-diagram__number{font-size:10px;color:var(--course-violet);padding-top:5px}.course-diagram__item strong{font-size:15px;line-height:1.6;display:block;font-weight:600}.course-diagram__item div>span{display:block;font-size:14px;line-height:1.75;white-space:pre-line;color:var(--muted);margin-top:6px}.course-diagram--pairs .course-diagram__items{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px}.course-diagram--pairs .course-diagram__item{padding:0;border:0}.course-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;border-top:1px solid var(--line);flex-wrap:wrap}.course-controls form{margin:0}.course-controls .button{line-height:1.5;text-align:center}.course-saved{font-size:12px;color:var(--course-good)}
.course-quiz-head{padding-top:16px;margin-bottom:32px}.course-quiz-head>p{font-size:15px;max-width:60ch}.course-question{border:0;padding:0;margin:0 0 34px;min-width:0}.course-question legend{display:flex;gap:14px;font-size:18px;font-weight:700;line-height:1.6;margin-bottom:18px;padding:0;width:100%;letter-spacing:-.015em}.course-question legend>span{font-size:11px;letter-spacing:0;color:var(--course-violet);padding-top:6px;flex:none}.course-option{display:flex;align-items:start;gap:13px;border:1px solid var(--line);border-radius:8px;margin:9px 0;padding:15px 18px;cursor:pointer;font-size:14px;line-height:1.7;transition:background .18s,border-color .18s}.course-option:hover{background:var(--panel)}.course-option:has(input:checked){background:var(--course-tint);border-color:var(--course-violet)}.course-option input{appearance:auto;accent-color:var(--course-violet);width:17px;height:17px;min-height:0;margin:4px 0 0;flex:0 0 17px}.course-option span{min-width:0}.course-answer{padding:14px 18px;border-left:2px solid var(--accent);margin-top:16px;font-size:13px}.course-answer p{margin:6px 0 0}.course-answer.is-success{border-color:var(--course-good)}.course-answer.is-success>strong{color:var(--course-good)}.course-feedback{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-bottom:32px;scroll-margin-top:30px}.course-feedback strong{font-size:18px;line-height:1.5}.course-feedback.is-success{border-color:var(--course-good)}.course-feedback p{font-size:14px}.course-message{padding:30px 0}
.marketing-cover{display:flex;flex-direction:column;justify-content:space-between;min-height:440px;padding:38px 0 24px;background:radial-gradient(ellipse at 84% 35%,#9670cc23,transparent 66%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%}.marketing-cover__meta{display:flex;justify-content:space-between;gap:18px;font-size:10px;letter-spacing:.13em;color:var(--muted)}.marketing-cover__title{font-size:clamp(36px,4.4vw,66px);line-height:1.15;letter-spacing:-.055em;font-weight:700;margin:35px 0;overflow-wrap:break-word}.marketing-cover__title em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:var(--course-violet);letter-spacing:-.045em}.marketing-cover__path{display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--muted);font-size:12px;line-height:1.7;margin:0 0 28px}.marketing-cover__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.marketing-cover__bottom strong{color:var(--accent)}.studio-object:has(.marketing-cover) .object-stage{height:auto;display:block}.studio-object:has(.marketing-cover) .featured-caption{border-top:0}
@keyframes course-enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.course-page,.course-feedback{animation:course-enter .22s ease-out both}}
@media(max-width:1000px){.course-layout{grid-template-columns:210px minmax(0,1fr);gap:32px}.course-main h1{font-size:36px}.course-diagram--pairs .course-diagram__items{grid-template-columns:1fr}.course-explanation{font-size:16px}}
@media(max-width:760px){.course-workspace{padding:12px 0 48px}.course-breadcrumb{font-size:11px;padding-bottom:20px;gap:8px}.course-layout{display:block;padding-top:20px}.course-sidebar{position:static;margin-bottom:30px;border-bottom:1px solid var(--line);padding-bottom:18px}.course-sidebar nav{max-height:330px;overflow:auto;padding:0 10px}.course-sidebar__note{display:none}.course-sidebar summary{padding:6px 0}.course-sidebar progress{margin:16px 0}.course-welcome{padding-top:0}.course-main h1{font-size:clamp(29px,7.5vw,43px);letter-spacing:-.035em;line-height:1.2}.course-diagram{padding:22px 20px}.course-page{padding-top:28px}.course-facts{gap:15px}.course-question legend{font-size:16px}.course-option{padding:13px;font-size:14px}.course-controls{gap:12px}.course-controls .button{padding:12px 16px;font-size:12px}.marketing-cover{min-height:350px;padding-top:28px}.marketing-cover__title{font-size:clamp(38px,9vw,58px)}}
@media(max-width:390px){.course-controls{align-items:stretch}.course-controls>*{flex:1 1 100%}.course-controls button{width:100%}.course-question legend{gap:9px}.course-diagram{padding:18px 15px}.course-diagram__item{gap:7px}.course-facts{font-size:11px}}


.detail-hero.detail-hero--cover-first{row-gap:24px}

/* reading.css */
.reading-lesson{max-width:760px;margin:0 auto;color:var(--ink)}
.course-case{min-width:0;max-width:760px;color:var(--ink)}
.course-case h2{font-size:clamp(24px,2.5vw,32px);line-height:1.3;letter-spacing:-.025em;margin:14px 0 24px;text-wrap:balance}
.course-case h3{font-size:20px;line-height:1.4;margin:28px 0 14px}
.course-case p{font-size:16px;line-height:1.85;max-width:66ch;margin:0 0 20px}
.course-case .reading-selfcheck{font-size:14px;color:var(--muted)}
.course-case .reading-comparison{margin-inline:0}
.course-case .reading-comparison figcaption{grid-column:1/-1;font-size:12px;line-height:1.6;color:var(--muted)}
.course-case-check{border-block:1px solid var(--line);padding:18px 0;margin:24px 0}
.course-case-check summary{cursor:pointer;font-size:14px;line-height:1.6;color:var(--course-violet)}
.course-case-check[open] summary{margin-bottom:16px}
.course-case-sources{font-size:12px;line-height:1.7;color:var(--muted)}
.course-case-sources ul{padding-left:18px;margin:8px 0}.course-case-sources li{margin-block:8px}
.course-case-sources a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.reading-lesson h1{font-size:clamp(32px,3.5vw,48px);line-height:1.2;letter-spacing:-.035em;margin:20px 0}
.reading-lesson h2{font-size:clamp(24px,2.5vw,32px);line-height:1.3;letter-spacing:-.025em;margin:14px 0 24px;text-wrap:balance}
.reading-lesson h3{font-size:22px;line-height:1.4;margin:36px 0 16px;letter-spacing:-.015em}
.reading-lesson p{font-size:16px;line-height:1.85;color:var(--ink);max-width:66ch;margin:0 0 20px}
.reading-lesson .reading-lead{font-size:18px;color:var(--muted);line-height:1.75}
.reading-lesson strong{font-weight:650}.reading-goal{margin:28px 0;padding:18px 22px;border-left:2px solid var(--course-violet);background:var(--course-tint)}
.reading-goal>span,.reading-principle>span,.reading-comparison span,.reading-diagnosis span{display:block;font-size:10px;line-height:1.7;letter-spacing:.09em;color:var(--course-violet);font-weight:700;margin-bottom:8px}
.reading-goal p{font-size:15px;margin:0}.reading-toc{display:flex;flex-wrap:wrap;gap:12px 24px;padding:24px 0;border-block:1px solid var(--line)}
.reading-toc a{font-size:12px;line-height:1.6;color:var(--muted);text-decoration:underline;text-underline-offset:5px}.reading-toc a:hover{color:var(--ink)}
.reading-section{padding:44px 0 24px;scroll-margin-top:28px;border-bottom:1px solid var(--line)}.reading-section-number{font-size:10px;letter-spacing:.12em;line-height:1.7;color:var(--muted)}
.reading-principle{margin:26px 0;padding:24px;border:1px solid var(--line);border-radius:10px}.reading-principle ol{padding-left:20px;margin:15px 0 0}.reading-principle li{font-size:15px;line-height:1.8;padding:6px 0 6px 5px}
.reading-lesson .reading-case-label{font-size:12px;color:var(--muted);line-height:1.6}.reading-comparison{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0;padding-block:24px;border-block:1px solid var(--line)}.reading-comparison p{font-size:15px;margin:0}.reading-comparison>div+div{padding-left:26px;border-left:1px solid var(--line)}
.reading-journey{list-style:none;padding:0;margin:28px 0;counter-reset:journey}.reading-journey li{position:relative;padding:0 0 26px 48px;counter-increment:journey}.reading-journey li::before{content:counter(journey);position:absolute;left:0;top:1px;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--course-violet);background:var(--bg)}.reading-journey li:not(:last-child)::after{content:'';position:absolute;left:14px;top:36px;bottom:7px;width:1px;background:var(--line)}.reading-journey strong{display:block;font-size:17px;line-height:1.6;margin-bottom:7px}.reading-journey p{font-size:15px;color:var(--muted);margin:0;line-height:1.8}
.reading-diagnosis{margin:26px 0;background:var(--panel);border-radius:10px;padding:6px 24px}.reading-diagnosis>div{padding:20px 0}.reading-diagnosis>div+div{border-top:1px solid var(--line)}.reading-diagnosis p{font-size:15px;margin:0}
.reading-practice ol{list-style:decimal;padding-left:24px;margin:24px 0}.reading-practice li{padding:7px 0 14px 8px;font-size:16px;line-height:1.7}.reading-practice li>span{display:block;color:var(--muted);font-size:14px;margin-top:4px}.reading-lesson .reading-selfcheck{font-size:14px;color:var(--muted)}
.reading-takeaway{padding:32px 0}.reading-test{padding:28px;border:1px solid var(--line);background:var(--course-tint);border-radius:12px;margin-bottom:30px}.reading-test h2{font-size:25px;margin:0 0 12px}.reading-test p{font-size:14px}.reading-test form{margin:24px 0 0}
@media(max-width:760px){.reading-section{padding-top:34px}.reading-lesson p{font-size:15px}.reading-lesson .reading-lead{font-size:16px}.reading-comparison{grid-template-columns:1fr;gap:20px}.reading-comparison>div+div{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.reading-goal,.reading-principle,.reading-test{padding:18px}.reading-toc{display:grid;gap:13px}.reading-journey li{padding-left:41px}.reading-lesson h2 br{display:none}}

/* ai-course.css */
.course-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.course-program-toggle,.course-program-close{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);padding:10px 14px;border-radius:7px;cursor:pointer;font-size:12px;min-height:40px}.course-program-toggle:hover,.course-program-close:hover{background:var(--panel)}.course-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;line-height:1.6}.course-program-close{border:0;color:var(--muted);font-size:10px;padding:8px}.course-sidebar nav{max-height:calc(100dvh - 240px);overflow:auto;padding-inline:10px;margin-inline:-10px;scrollbar-width:thin}.program-enhanced .course-layout{transition:grid-template-columns .24s ease,gap .24s ease}.program-enhanced .course-sidebar{transition:transform .24s ease,opacity .2s ease}.program-closed .course-layout{grid-template-columns:0 minmax(0,1fr);gap:0}.program-closed .course-sidebar{transform:translateX(-35px);opacity:0;visibility:hidden;overflow:hidden}.program-closed .course-main{max-width:1100px}.course-program-backdrop[hidden]{display:none}
.ai-infographic{margin:30px 0 4px;padding:26px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(120deg,var(--course-tint),transparent 70%),var(--panel);min-width:0}.ai-infographic figcaption{font-size:10px;line-height:1.7;letter-spacing:.1em;color:var(--muted);margin-bottom:25px}.ai-flow{list-style:none;counter-reset:ai-step;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.ai-flow li{counter-increment:ai-step;border-top:1px solid var(--line);padding-top:15px}.ai-flow li::before{content:'0' counter(ai-step);display:block;font-size:11px;color:var(--course-violet);margin-bottom:10px}.ai-flow strong{font-size:16px;line-height:1.5}.reading-lesson .ai-flow p{font-size:14px;line-height:1.7;color:var(--muted);margin:9px 0 0}.ai-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ai-comparison>div+div{border-left:1px solid var(--line);padding-left:22px}.reading-lesson .ai-comparison h3{font-size:18px;line-height:1.4;margin:0 0 14px}.reading-lesson .ai-comparison p{font-size:14px;line-height:1.75}.ai-comparison span{display:block;font-size:12px;line-height:1.8;color:var(--muted)}.reading-lesson .ai-graphic-note{font-size:12px;line-height:1.8;color:var(--muted);margin:24px 0 0;border-top:1px solid var(--line);padding-top:18px}.reading-lesson .ai-decision-root{font-size:15px;border-bottom:1px solid var(--line);padding-bottom:20px}.ai-plan{padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}.ai-plan .field{margin:22px 0}.ai-plan textarea{font:inherit;line-height:1.65;resize:vertical;min-height:108px}.ai-plan-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.ai-plan-actions .text-link{background:none;border:0;cursor:pointer}.ai-plan .field-hint{font-size:12px;color:var(--muted);margin-top:16px}.has-course-drawer{overflow:hidden}
@media(max-width:1000px){.ai-comparison{grid-template-columns:1fr;gap:20px}.ai-comparison>div+div{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}}
@media(max-width:760px){.program-enhanced .course-layout{display:block}.program-enhanced .course-sidebar{position:fixed;z-index:101;top:0;left:0;height:100dvh;width:min(330px,85vw);padding:24px;background:var(--panel-deep);margin:0;overflow:auto;border:0;border-right:1px solid var(--line);transform:translateX(0);opacity:1;visibility:visible}.program-enhanced.program-closed .course-sidebar{transform:translateX(-105%);visibility:hidden}.course-program-backdrop{position:fixed;inset:0;z-index:100;border:0;background:#0009;cursor:pointer}.course-sidebar nav{max-height:calc(100dvh - 180px);margin:0;padding:0 10px}.course-sidebar-heading{margin-bottom:16px}.course-toolbar{margin-top:16px}.ai-infographic{padding:22px 18px}.ai-flow{grid-template-columns:1fr;gap:20px}.reading-lesson .ai-comparison h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.program-enhanced .course-layout,.program-enhanced .course-sidebar{transition:none}}
@media print{body:has(.ai-plan) .site-header,body:has(.ai-plan) .site-footer,body:has(.ai-plan) .course-breadcrumb,body:has(.ai-plan) .course-toolbar,body:has(.ai-plan) .course-sidebar,body:has(.ai-plan) .reading-lesson>*:not(.ai-plan),.ai-plan-actions,.ai-plan .field-hint{display:none!important}body:has(.ai-plan){background:white;color:black}.course-layout{display:block!important}.course-main,.reading-lesson,.site-shell{max-width:none!important;padding:0!important}.ai-plan{border:0;padding:0}.ai-plan h2,.ai-plan p,.ai-plan label,.ai-plan textarea{color:black!important}.ai-plan textarea{background:white!important;border:1px solid #aaa;field-sizing:content;min-height:70px;overflow:visible}.ai-plan .field{break-inside:avoid;margin:12px 0}}
.ai-cover{background:radial-gradient(ellipse at 100% 0%,#d9dfc8,transparent 65%),#bdc6b5;color:#273027}.ai-cover::before{opacity:.35}.product-card__art .ai-cover .marketing-art__center>strong{font-size:clamp(25px,2.7vw,36px);line-height:1.12}

/* home.css */
/* Homepage: one editorial headline, real products and one lesson excerpt. */
.auth-layout{display:block;max-width:480px;min-height:0;margin:0 auto;padding:48px 0 72px}.auth-card h1{font-size:32px;line-height:1.25;letter-spacing:-.03em;margin:0 0 16px}.page-intro h1{font-size:clamp(34px,4vw,52px);line-height:1.2}.page-intro{padding:44px 0 32px}.auth-card{width:100%}
.library-list{padding:0 0 72px;max-width:1000px}.library-item{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 0;border-top:1px solid var(--line)}.library-item>div{min-width:0;flex:1}.library-item h2{font-size:clamp(22px,2.4vw,30px);line-height:1.35;letter-spacing:-.025em;margin:0 0 12px}.library-item p{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 14px}.library-item progress{display:block;width:min(100%,320px);height:4px;appearance:none;border:0;background:var(--line);color:var(--course-violet)}.library-item progress::-webkit-progress-bar{background:var(--line)}.library-item progress::-webkit-progress-value{background:var(--course-violet)}.library-item progress::-moz-progress-bar{background:var(--course-violet)}.library-item .button{flex-shrink:0}
.home-feature .home-feature-meta{border:0;padding-bottom:0}.home-feature .home-feature-content{padding:22px 0}.home-feature .home-feature-bottom{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}.home-feature .home-feature-content h2{font-size:clamp(27px,2.7vw,38px);margin-top:0}.home-hero .studio-intro h1{margin-top:0}.studio-catalog{border-top:1px solid var(--line)}
.course-toolbar{font-size:12px}.course-sidebar .course-program-close{display:none}.course-sidebar nav{margin-top:20px}.course-sidebar-heading{color:var(--muted)}
@media(max-width:760px){.library-item{align-items:flex-start;flex-direction:column;gap:20px;padding:24px 0}.library-item>div{width:100%}.course-sidebar .course-program-close{display:block}.home-feature .home-feature-content h2{font-size:29px}}
.home-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);padding:42px 0 64px;align-items:center}
.home-hero .studio-intro h1{font-size:clamp(68px,8.2vw,116px);line-height:1.02;letter-spacing:-.065em;margin:26px 0 24px}
.home-hero .studio-intro h1 em{display:inline-block;line-height:1.12;letter-spacing:-.055em}
.home-hero .studio-intro>p{font-size:17px;line-height:1.8;letter-spacing:-.015em;margin:0 0 28px;max-width:38ch}
.home-hero .studio-actions{gap:20px}.home-hero .studio-footnote{margin-top:22px;font-size:12px;line-height:1.7}
.home-feature{min-width:0;align-self:stretch;display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(ellipse at 100% 0%,#9573c31c,transparent 65%),var(--panel);position:relative}
.home-feature-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:.11em;line-height:1.7;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line)}
.home-feature-meta>span:last-child{color:var(--ink);letter-spacing:0;font-size:12px}
.home-feature-content{padding:32px 0;flex:1}.home-feature-label{font-size:10px;line-height:1.7;letter-spacing:.1em;color:var(--course-violet)}
.home-feature h2{font-family:Manrope,sans-serif;font-size:clamp(28px,3.1vw,44px);font-weight:700;line-height:1.22;letter-spacing:-.035em;margin:16px 0 20px;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.home-feature p{font-size:14px;line-height:1.8;margin:0;color:var(--muted);max-width:43ch}
.home-feature-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.home-feature-facts{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px;line-height:1.7;color:var(--muted)}
.home-feature .button{font-size:13px;min-height:46px;padding:12px 20px}
.studio-catalog .section-heading h2,.inside-copy h2,.studio-approach h2{font-family:Manrope,sans-serif;font-size:clamp(30px,3.3vw,46px);line-height:1.25;letter-spacing:-.035em;font-weight:700}
.studio-catalog{padding:64px 0 72px}.inside-section{padding:64px 0;align-items:start}.studio-approach{padding:64px 0}.inside-copy>p{font-size:15px;line-height:1.85}
@media(max-width:1050px){.home-hero{gap:32px;padding-top:28px}.home-feature{padding:26px}.home-hero .studio-actions{align-items:flex-start;flex-direction:column;gap:20px}.home-hero .studio-intro>p{font-size:16px}.home-feature h2{font-size:32px}}
@media(max-width:760px){.home-hero{grid-template-columns:1fr;gap:36px;padding:32px 0 40px}.home-hero .studio-intro h1{font-size:clamp(68px,14vw,100px);margin-top:22px}.home-hero .studio-actions{flex-direction:row;align-items:center;gap:20px}.home-feature{padding:24px}.home-feature-content{padding:26px 0}.home-feature h2{font-size:32px;max-width:20ch;text-wrap:initial}.home-feature p{max-width:none}.home-feature-bottom{gap:18px}.studio-catalog{padding:44px 0}.inside-section,.studio-approach{padding:44px 0}.studio-catalog .section-heading{align-items:start;flex-direction:column;gap:18px}.studio-approach h2,.inside-copy h2,.studio-catalog .section-heading h2{font-size:32px}.home-hero .studio-intro>p br{display:none}}
@media(max-width:380px){.home-feature{padding:20px}.home-feature h2{font-size:28px}.home-hero .studio-actions{align-items:start;flex-direction:column}.home-hero .micro-label{font-size:10px;letter-spacing:.1em}}
.author-teaser{border-top:1px solid var(--line);padding:clamp(40px,6vw,80px) 0;display:grid;grid-template-columns:minmax(150px,.5fr) minmax(0,1fr);gap:32px;align-items:start}.author-teaser>div{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.author-teaser h2{font-size:clamp(28px,3vw,44px);line-height:1.2;margin:0}.author-teaser .text-link{white-space:nowrap}.catalog-empty{border-top:1px solid var(--line);padding:40px 0}.catalog-empty h3{font-size:22px;margin:0 0 8px}.catalog-empty p{margin:0}
@media(max-width:760px){.author-teaser{grid-template-columns:1fr;gap:14px}.author-teaser>div{align-items:flex-start;flex-direction:column;gap:18px}}

/* Shared editorial system: quiet chrome, legible content, one action accent. */
:root{--bg:#131315;--panel:#1d1c21;--panel-deep:#111115;--ink:#eeeae2;--muted:#b6b4bc;--line:#343238}
.button:hover{transform:none}.product-card:hover{transform:none;border-color:#756685}
.product-grid:not(.product-grid--single){grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.product-card{border-radius:16px;transition:border-color .18s}
.product-card .product-card__art{height:auto;aspect-ratio:4/3;margin:0;border-radius:16px}
.product-card__bottom{padding:26px;gap:24px}
.product-card__bottom>div{flex:1}
.product-card h3{font-size:clamp(24px,2.3vw,32px);line-height:1.3;letter-spacing:-.03em;overflow-wrap:normal;text-wrap:balance}
.product-card p{font-size:15px;line-height:1.75;max-width:52ch}
.product-card .price-tag{color:var(--muted);font-size:12px;font-weight:600;padding-top:16px}
.home-feature .home-feature-content{padding:28px 0 32px}
.home-feature .home-feature-content h2{font-size:clamp(28px,2.8vw,40px);line-height:1.28;letter-spacing:-.03em;margin-bottom:30px}
.studio-catalog .section-heading .micro-label{color:var(--secondary);margin-bottom:10px}.studio-catalog .section-heading h2{margin:0}.author-teaser{grid-template-columns:minmax(150px,.42fr) minmax(0,1fr)}.author-teaser h2{overflow-wrap:anywhere}








.marketing-art::before,.marketing-art::after{content:none}
.marketing-art{background:radial-gradient(ellipse at 100% 0%,#d7c6ee80,transparent 65%),#b9b0c7}
.marketing-art.ai-cover{background:radial-gradient(ellipse at 100% 0%,#76609435,transparent 70%),#282331;color:#eeeae2}
.cover-graphic{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;color:#62566f;opacity:.65;stroke:currentColor;stroke-width:1.2;mask-image:linear-gradient(90deg,transparent 27%,#0004 58%,#000 95%)}
.cover-graphic .graphic-trace{stroke-width:1.6}.cover-graphic circle{fill:#b9b0c7}.ai-cover .cover-graphic{color:#bea0e5;opacity:.6}.ai-cover .cover-graphic rect{fill:#292332}.ai-cover .cover-graphic circle{fill:#bea0e5}
.marketing-art .cover-kicker,.marketing-art__center,.marketing-art .cover-bottom{position:relative;z-index:1}
.marketing-art__label{font-size:10px;letter-spacing:.09em}
.marketing-art__center>strong{font-size:clamp(30px,3.5vw,52px);line-height:1.22;letter-spacing:-.035em;margin:16px 0 28px}
.product-card__art .marketing-art__center>strong,.product-card__art .ai-cover .marketing-art__center>strong{font-size:clamp(27px,3vw,42px);line-height:1.22;letter-spacing:-.035em}
.marketing-art .cover-bottom{font-size:10px;font-weight:600;letter-spacing:.02em}
.detail-copy h1{line-height:1.2;letter-spacing:-.035em;overflow-wrap:normal;text-wrap:balance}
.detail-lead{font-size:17px;line-height:1.85}
.course-diagram{padding:26px;background:var(--panel);border-radius:12px}
.course-diagram figcaption{font-size:11px;line-height:1.7;letter-spacing:.07em;margin-bottom:24px}
.course-diagram__items{margin:0;padding:0;list-style:none}
.course-diagram__item strong{font-size:16px;line-height:1.65}
.course-diagram--sequence .course-diagram__items{grid-template-columns:1fr;gap:0}
.course-diagram--sequence .course-diagram__item{position:relative;grid-template-columns:30px minmax(0,1fr);gap:18px;border:0;padding:0 0 26px}
.course-diagram--sequence .course-diagram__item:last-child{padding-bottom:0}
.course-diagram--sequence .course-diagram__item:not(:last-child)::after{content:'';position:absolute;left:14px;top:30px;bottom:0;width:1px;background:#746084}
.course-diagram--sequence .course-diagram__number{display:grid;place-items:center;width:30px;height:30px;border:1px solid #746084;border-radius:50%;padding:0;background:var(--panel);position:relative;z-index:1}
.course-diagram--comparison .course-diagram__items,.course-diagram--composition .course-diagram__items{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.course-diagram--comparison .course-diagram__item,.course-diagram--composition .course-diagram__item{display:block;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.course-diagram--comparison .course-diagram__number,.course-diagram--composition .course-diagram__number{display:none}
.course-diagram--composition .course-diagram__item strong{font-size:15px}
.course-boundary{padding:20px;border:1px solid #64566f;border-radius:10px;background:#bca2eb06}
.course-boundary strong{display:block;font-size:15px;line-height:1.6;margin-bottom:16px}
.course-boundary:last-child>strong:last-child{margin-bottom:0}
.course-boundary .course-boundary{margin-left:20px;background:#bca2eb09}
.course-calculation{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:16px;line-height:1.65}
.course-calculation>span:not(.course-calculation__operator){padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.course-calculation__operator{color:var(--course-violet);font-size:21px}
.course-diagram--comparison .course-diagram__items{align-items:stretch}
.course-diagram--comparison .course-diagram__item>div{height:100%}
.ai-infographic{background:var(--panel)}
.ai-flow{grid-template-columns:1fr;gap:0}
.ai-flow li{position:relative;border:0;padding:0 0 24px 46px}
.ai-flow li::before{position:absolute;left:0;top:0;width:28px;height:28px;display:grid;place-items:center;border:1px solid #746084;border-radius:50%;margin:0;background:var(--panel)}
.ai-flow li:not(:last-child)::after{content:'';position:absolute;width:1px;left:13px;top:28px;bottom:0;background:#746084}
.ai-flow li:last-child{padding-bottom:0}
.reading-lesson .ai-decision-root{text-align:center;border:0;position:relative;padding-bottom:30px;margin-bottom:0}
.ai-decision-root::after{content:'';position:absolute;bottom:0;height:20px;left:50%;width:1px;background:#746084}
.ai-decisions{gap:14px;padding-top:22px;position:relative}
.ai-decisions::before{content:'';position:absolute;left:16.667%;right:16.667%;top:0;height:1px;background:#746084}
.ai-decisions>div,.ai-comparison.ai-decisions>div+div{position:relative;border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--bg)}
.ai-decisions>div::before{content:'';position:absolute;top:-23px;left:50%;height:22px;width:1px;background:#746084}
@media(min-width:1200px){.product-grid:not(.product-grid--single):has(>.product-card:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.product-grid:not(.product-grid--single){grid-template-columns:1fr;gap:22px}.product-card__bottom{padding:24px}.product-card h3{font-size:26px}.product-card__art .marketing-art__center>strong,.product-card__art .ai-cover .marketing-art__center>strong{font-size:clamp(27px,6.5vw,40px)}.marketing-art__center>strong{font-size:clamp(30px,7vw,46px)}.course-diagram--comparison .course-diagram__items{grid-template-columns:1fr}.ai-decisions{display:grid;grid-template-columns:1fr;padding-top:0;gap:14px}.ai-decisions::before,.ai-decisions>div::before,.ai-decision-root::after{display:none}.reading-lesson .ai-decision-root{padding-bottom:18px;text-align:left}}
@media(max-width:480px){.course-diagram--composition .course-diagram__items{grid-template-columns:1fr}.home-feature .home-feature-content h2{font-size:28px}.marketing-art .cover-bottom{font-size:9px}.product-card__art .marketing-art{padding:22px}}

/* motion.css */
/* Motion never owns navigation, content visibility or learning state. */
.title-mask,.title-mask>span{display:block;overflow:visible}
.home-hero .studio-intro h1 em{padding-right:.08em;clip-path:none}
/* Animate actual elements, not a frozen second copy of the whole page. */
@view-transition{navigation:none}
@keyframes trace-draw{from{stroke-dashoffset:800;opacity:.1}to{stroke-dashoffset:0;opacity:1}}
@media(prefers-reduced-motion:no-preference){

 .cover-graphic .graphic-trace{stroke-dasharray:800;stroke-dashoffset:0}
 .product-card__main:focus-visible .graphic-trace{animation:trace-draw .65s cubic-bezier(.22,1,.36,1) both}
 .button:active{transform:translateY(1px);transition:transform .1s}
 .registration-dialog{transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1),display .28s allow-discrete,overlay .28s allow-discrete;opacity:0;transform:translateY(18px) scale(.965)}
 .registration-dialog[open]{opacity:1;transform:none}
 .registration-dialog::backdrop{transition:opacity .28s,display .28s allow-discrete,overlay .28s allow-discrete;opacity:0}
 .registration-dialog[open]::backdrop{opacity:1}
 @starting-style{.registration-dialog[open]{opacity:0;transform:translateY(18px) scale(.965)}.registration-dialog[open]::backdrop{opacity:0}}
 .program-enhanced .course-layout{transition:grid-template-columns .28s cubic-bezier(.22,1,.36,1),gap .28s cubic-bezier(.22,1,.36,1)}
 .program-enhanced .course-sidebar{transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .18s,visibility .28s}
 @media(hover:hover) and (pointer:fine){.product-card:hover .graphic-trace{animation:trace-draw .65s cubic-bezier(.22,1,.36,1) both}}
}
.course-sidebar progress.has-motion-overlay{margin-bottom:0;display:block}
.progress-motion{display:block;height:3px;background:var(--course-violet);transform:scaleX(var(--progress-final));transform-origin:left;margin-top:-3px;margin-bottom:22px;border-radius:4px}
.course-sidebar progress.has-motion-overlay::-webkit-progress-value{background:transparent}
.course-sidebar progress.has-motion-overlay::-moz-progress-bar{background:transparent}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.home-feature,.product-card__art{transform:none!important}.home-feature::after,.product-card__art::after{display:none}}

/* navigation.css */
/* Calm shared navigation: brand, destinations, then the account action. */
.site-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(20px,3vw,48px);align-items:center;min-height:96px;height:auto;padding:20px 0;border-bottom:1px solid var(--line)}
.main-nav{display:flex;justify-content:center;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.main-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:8px;font-size:14px;line-height:1.5;letter-spacing:0;color:var(--muted);white-space:nowrap;transition:color .18s,background .18s}
.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--ink);background:var(--panel)}
.header-actions{min-width:0;gap:0;justify-content:flex-end}
.header-account{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:22px;min-height:44px;padding:10px 18px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.header-account:hover{border-color:var(--accent);color:var(--ink)}
.site-header a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:1000px){.site-header--signed{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 0}.site-header--signed .main-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start;gap:4px}.site-header--signed .header-actions{grid-column:2;grid-row:1}.main-nav a{padding:8px 12px}.brand{font-size:30px}}
@media(max-width:760px){.site-header{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 0}.main-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start;gap:2px}.header-actions{grid-column:2;grid-row:1}.main-nav a{min-height:40px}}
@media(max-width:420px){.site-header{column-gap:12px}.header-account{font-size:12px;padding:10px 12px;max-width:180px}.brand{font-size:26px}.main-nav a{font-size:13px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.main-nav a{transition:none}}

/* cookie-notice.css */
/* Компактная плашка cookie: одна строка на ПК, над нижним меню на телефоне. */
.cookie-notice{position:fixed;z-index:60;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;width:max-content;max-width:min(640px,calc(100vw - 32px));padding:10px 10px 10px 14px;border:1px solid #ffffff1c;border-radius:20px;background:#1d1d20f7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 50px -18px #000,0 0 0 1px #00000040;color:var(--ink,#f0ede8);animation:cookie-in .45s cubic-bezier(.2,.8,.2,1) .6s both}
@media(min-width:1180px){.cookie-notice{left:calc(50% + 94px)}}
.cookie-notice__icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:#e77d3b1f;color:#f39a5c}
.cookie-notice__icon svg{width:20px;height:20px}
.cookie-notice__text{margin:0;color:#a6a4a0;font-size:13.5px;line-height:1.45}
.cookie-notice__text strong{color:var(--ink,#f0ede8);font-weight:700}
.cookie-notice__text a{color:var(--ink,#f0ede8);text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px;white-space:nowrap}
.cookie-notice__text a:hover{text-decoration-color:#e77d3b}
.cookie-notice__ok{flex:none;min-height:42px;padding:0 18px;border:0;border-radius:13px;background:linear-gradient(180deg,#f39a5c,#e77d3b);color:#1b120c;font:inherit;font-size:14px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px 0 #ffffff45;transition:filter .2s,transform .15s}
.cookie-notice__ok:hover{filter:brightness(1.06)}
.cookie-notice__ok:active{transform:translateY(1px)}
.cookie-notice__ok:focus-visible{outline:2px solid #b9a3dc;outline-offset:3px}
@keyframes cookie-in{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translateX(-50%)}}
@media(max-width:760px){
  .cookie-notice{left:10px;right:10px;width:auto;max-width:none;transform:none;bottom:calc(10px + env(safe-area-inset-bottom));gap:12px;padding:10px 10px 10px 12px;border-radius:18px;animation-name:cookie-in-m}
  body:has(.mobile-dock) .cookie-notice{bottom:calc(74px + env(safe-area-inset-bottom))}
  .cookie-notice__icon{width:34px;height:34px;border-radius:11px}
  .cookie-notice__text{font-size:12.5px;line-height:1.4}
  .cookie-notice__ok{min-height:44px;padding:0 16px}
}
@keyframes cookie-in-m{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.cookie-notice{animation:none}}

/* legal.css */
/* Reading and purchase follow the existing dark, restrained danprod system. */
.checkout-summary>.field-hint,.detail-action>.field-hint{margin:12px 0 0;line-height:1.7}
.legal-footer a:hover,.legal-page a:hover{color:var(--ink)}
.legal-page,.support-page{max-width:820px;margin:0 auto;padding:48px 0 84px;overflow-wrap:anywhere}
.legal-heading .back-link{display:inline-block;margin-bottom:35px}.legal-heading .micro-label{color:var(--muted);margin:0 0 15px}
.legal-heading h1{font-size:clamp(32px,4.2vw,54px);line-height:1.15;letter-spacing:-.045em;margin:0 0 20px;overflow-wrap:anywhere;hyphens:auto}
.legal-date{font-size:13px;color:var(--muted);margin:0 0 24px}.legal-intro{font-size:18px;line-height:1.7;color:var(--muted)}
.legal-section{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.legal-section h2,.checkout-details h2{font-size:23px;line-height:1.35;letter-spacing:-.02em;margin:0 0 18px;color:var(--ink)}
.legal-section p,.legal-section li,.checkout-details p,.checkout-details li{font-size:16px;line-height:1.8;color:var(--muted)}.legal-section p{margin:0 0 16px}.legal-section li,.checkout-details li{margin-bottom:13px}.legal-section ul,.checkout-details ol{padding-left:22px}.legal-section strong{color:var(--ink);font-weight:600}
.legal-section a,.support-contact__method>a:not(.button),.checkout-legal a,.checkout-seller a,.checkout-unavailable a{color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
.support-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:clamp(22px,4vw,36px);margin-top:34px}.support-contact__method{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0}.support-contact__method:first-child{padding-right:clamp(20px,4vw,36px)}.support-contact__method+.support-contact__method{border-left:1px solid var(--line);padding-left:clamp(20px,4vw,36px)}.support-contact__method>span{font-size:13px;color:var(--muted)}.support-contact__method>a:not(.button){font-size:clamp(18px,2.4vw,24px);overflow-wrap:anywhere;max-width:100%}.support-contact .button{margin-top:auto}
.checkout-page{padding:48px 0 84px;max-width:1140px;margin:0 auto}.checkout-page>.legal-heading{max-width:800px}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);margin-top:38px;align-items:start}.checkout-details p{white-space:pre-line}.checkout-summary{padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:16px;background:var(--panel);min-width:0}.checkout-summary dl{margin:0 0 26px}.checkout-summary dl>div{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px;line-height:1.6;font-size:14px}.checkout-summary dt{color:var(--muted)}.checkout-summary dd{margin:0;text-align:right}.checkout-summary .checkout-total{border-top:1px solid var(--line);padding-top:23px;margin:25px 0 0;align-items:center}.checkout-total dd{font-size:30px;font-weight:700;line-height:1.3}.checkout-summary>.button{width:100%;text-align:center}.checkout-legal{display:flex;flex-direction:column;gap:12px;margin:25px 0;font-size:13px;line-height:1.6}.checkout-seller{font-size:12px;line-height:1.9;color:var(--muted);overflow-wrap:anywhere}.checkout-unavailable{padding:21px;border:1px solid #b9a0e64d;border-radius:12px;background:#b9a0e608;scroll-margin-top:24px}.checkout-unavailable h2{font-size:21px;line-height:1.3;margin:0 0 12px}.checkout-unavailable p{font-size:15px;line-height:1.7;color:var(--muted)}.checkout-unavailable a{font-size:14px}.auth-legal{font-size:12px!important;line-height:1.7!important;color:var(--muted);margin:18px 0 0}.auth-legal a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.checkout-result{max-width:580px;min-height:58vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;scroll-margin-top:24px}.checkout-result h1{font-size:clamp(32px,5vw,52px);line-height:1.12;letter-spacing:-.04em;margin:18px 0 14px}.checkout-result>p:not(.micro-label){color:var(--muted);font-size:17px;margin:0 0 30px}.checkout-result .button{display:inline-flex}
@media(max-width:760px){.legal-page,.support-page,.checkout-page{padding-top:28px}.legal-heading .back-link{margin-bottom:27px}.legal-heading h1{font-size:32px}.legal-intro{font-size:16px}.checkout-grid{grid-template-columns:1fr;gap:28px}.legal-section{margin-top:28px;padding-top:24px}}
@media(max-width:680px){.support-contact{grid-template-columns:1fr}.support-contact__method:first-child{padding-right:0;padding-bottom:26px}.support-contact__method+.support-contact__method{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:26px}.support-contact .button{margin-top:4px}}
@media print{.site-header,.site-footer,.back-link,.button{display:none!important}.legal-page{max-width:none;color:#000}.legal-page p,.legal-page li,.legal-page a{color:#000!important}}
@media(max-width:380px){.legal-page .legal-heading h1{font-size:clamp(25px,7.2vw,28px)}}
.offer-price{display:inline-flex;align-items:baseline;vertical-align:middle}.offer-price__current{font-size:clamp(22px,2.5vw,34px);line-height:1.15;font-weight:800;color:var(--ink);white-space:nowrap}.offer-price--compact .offer-price__current{font-size:17px}.price-tag{align-items:flex-end}.detail-meta .offer-price__current{font-size:clamp(30px,3vw,40px)}
.checkout-summary .checkout-total dd{text-align:right}.checkout-summary .checkout-total .offer-price{align-items:flex-end}.checkout-form{display:grid;gap:18px}.checkout-form .button{width:100%;text-align:center}.checkout-agree{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;color:var(--muted);cursor:pointer}.checkout-agree input{flex:none;inline-size:18px;block-size:18px;margin:2px 0 0;accent-color:var(--secondary)}.checkout-agree a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.checkout-agree a:focus-visible,.checkout-form .button:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}
.checkout-dialog{width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:clamp(22px,4vw,36px);border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--ink);box-shadow:0 24px 90px #0009;overflow:auto}.checkout-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.checkout-dialog__top{display:flex;justify-content:space-between;align-items:center;gap:16px}.checkout-dialog__top .micro-label{color:var(--secondary)}.checkout-dialog h2{font-size:clamp(25px,4vw,34px);line-height:1.2;letter-spacing:-.035em;margin:22px 0 8px}.checkout-dialog__intro{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 24px}.checkout-dialog .checkout-summary{padding:24px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.checkout-dialog .checkout-summary dl{margin-bottom:22px}.checkout-dialog .checkout-legal{margin:20px 0}.checkout-dialog .checkout-seller{margin-bottom:0}
.checkout-summary dd small{display:block;font-size:12px;font-weight:400;line-height:1.5;color:var(--muted)}.checkout-agree label{cursor:pointer}
.checkout-form{--checkout-error:#e8a6a0}.checkout-agree.is-invalid label{color:var(--checkout-error)}.checkout-agree-error{margin:-10px 0 0 30px;color:var(--checkout-error);font-size:12px;line-height:1.5}:root[data-theme=light] .checkout-form{--checkout-error:#a7332d}
.checkout-dialog{width:min(500px,calc(100% - 24px));padding:clamp(22px,3vw,28px)}.checkout-dialog h2{font-size:clamp(25px,3.2vw,31px);margin:14px 0 0}.checkout-dialog .checkout-summary{padding-top:16px;margin-top:18px}.checkout-dialog .checkout-summary dl{margin-bottom:17px}.checkout-dialog .checkout-summary dl>div{margin-bottom:12px;line-height:1.5}.checkout-dialog .checkout-summary .checkout-total{padding-top:16px;margin-top:17px}.checkout-dialog .checkout-form{gap:14px}.checkout-dialog .checkout-seller{margin:16px 0 0;line-height:1.6}.checkout-dialog .checkout-summary>.field-hint{margin:9px 0 0;line-height:1.5}
@media(max-width:760px){.checkout-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:24px}.checkout-summary .checkout-total .offer-price__current{font-size:29px}.price-tag .offer-price{margin-left:0}.price-tag .offer-price--compact{display:flex;margin-top:6px}}
.checkout-form .checkout-email{font-size:13px}
.checkout-form .checkout-email input{width:100%;min-height:48px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.checkout-form .checkout-email input:focus-visible,.checkout-promo input:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}
.checkout-form .checkout-email input[aria-invalid=true],.checkout-promo input[aria-invalid=true]{border-color:#e29a91}
.checkout-field-error,.checkout-agree-error{color:#e6a39a;font-size:12px;line-height:1.5;margin:-10px 0 0}
.checkout-promo{border-top:1px solid var(--line);padding-top:10px}
.checkout-promo summary{width:max-content;max-width:100%;cursor:pointer;color:var(--secondary);font-size:13px;font-weight:700;min-height:36px;display:list-item;list-style:disclosure-closed inside}
.checkout-promo[open] summary{list-style:disclosure-open inside;margin-bottom:12px}
.checkout-promo .field{font-size:13px}
.checkout-promo input{width:100%;min-height:46px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px 14px}
.checkout-promo .checkout-field-error{margin:7px 0 0}
.checkout-summary .checkout-discount{color:var(--secondary);margin:0 0 12px}
.checkout-summary .checkout-discount[hidden],.checkout-summary .checkout-base[hidden]{display:none}
.checkout-dialog .dialog-close{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:12px;text-align:center}
.checkout-dialog .dialog-close:focus-visible{outline:2px solid var(--secondary);outline-offset:2px;border-radius:12px}

/* design.css */
/* Danprod: a quiet reading system with a coherent graphic route motif. */
:root{--bg:#171719;--panel:#1d1d1e;--panel-deep:#19191a;--soft:#262627;--ink:#f0ede8;--muted:#aaa9a7;--line:#343435;--accent:#e9e6df;--accent-strong:#faf8f2;--accent-ink:#222221;--brand-orange:#e77d3b;--action:#e77d3b;--action-hover:#f19354;--secondary:#a08cc0;--course-violet:#bfa9d9;--course-tint:#a08cc00d;--radius:20px}
body,button,input,textarea,select,h1,h2,h3,h4,.brand{font-family:Manrope,Arial,sans-serif}
h1,h2,h3{font-weight:600;letter-spacing:-.045em;text-wrap:balance}
.site-shell{max-width:1440px;padding-inline:clamp(20px,4.5vw,72px)}
.brand{letter-spacing:-.065em;font-weight:800}.brand span{color:var(--brand-orange)}
.site-header{min-height:94px;border-color:#ffffff0d}.main-nav{position:relative;isolation:isolate}
.main-nav a{position:relative;z-index:1;border-radius:12px;font-weight:500}.main-nav.has-nav-glide a:hover,.main-nav.has-nav-glide a[aria-current=page]{background:transparent}
.nav-glide{position:absolute;z-index:0;left:0;top:0;background:var(--soft);border:1px solid #ffffff09;border-radius:12px;pointer-events:none;transition:transform .24s cubic-bezier(.22,1,.36,1),width .24s,height .24s,opacity .16s}
.header-account{border-radius:12px;background:transparent;font-weight:600}.header-account:hover{background:var(--soft)}
.button{border-radius:12px;gap:22px;font-size:14px;font-weight:700;min-height:52px;padding:16px 24px;transition:background .2s,box-shadow .2s,transform .2s}
.button--primary{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--action);background:#111114;color:var(--ink);box-shadow:0 0 0 1px #e77d3b32,0 0 22px #e77d3b22}
.button--primary::before{content:"";position:absolute;z-index:-1;inset:-65%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 70%,#e77d3b66 77%,#ffc08b 81%,#e77d3b66 85%,transparent 92%);animation:primary-border-orbit 7s linear infinite}
.button--primary::after{content:"";position:absolute;z-index:-1;inset:2px;border-radius:9px;background:#111114;pointer-events:none}
.button--primary:hover{background:#111114;color:#fff;border-color:var(--action-hover);box-shadow:0 0 0 1px #e77d3b7a,0 0 30px #e77d3b45;filter:none;transform:translateY(-2px)}
.button--primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none;filter:none}
.button--primary:disabled::before{animation:none}
@keyframes primary-border-orbit{to{transform:rotate(360deg)}}
.button:active{transform:translateY(1px) scale(.985)}.button--secondary:hover{background:#2b2b2c}.text-link{color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.micro-label,.hero-eyebrow{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.7}
.page-intro h1,.learning-head h1{font-size:clamp(38px,5.5vw,72px);letter-spacing:-.05em}.page-intro em,.learning-head em,.auth-aside h1 em,.section-heading em,.approach em{font:inherit;color:var(--ink)}
.studio-hero.home-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:36px;align-items:center;min-height:650px;padding:64px 0 72px;border-bottom:1px solid var(--line)}
.studio-intro{padding:0;position:relative;z-index:1;min-width:0}.studio-intro h1{font-size:clamp(64px,7.8vw,112px);line-height:1.04;letter-spacing:-.065em;margin:30px 0 28px;font-weight:600}.studio-intro h1>span{color:var(--ink)}
.studio-intro>p{font-size:clamp(16px,1.5vw,20px);line-height:1.8;max-width:440px;color:var(--muted);margin:0}.studio-actions{margin-top:32px}
.hero-art{position:relative;min-width:0;height:490px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 52% 45%,#a08cc014,transparent 66%)}
.hero-art-caption{position:absolute;bottom:8px;left:8%;right:4%;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:9px;letter-spacing:.09em;border-top:1px solid var(--line);padding-top:16px}
.route-art{display:block;width:100%;height:100%;pointer-events:none;overflow:visible}.hero-art .route-art{max-width:620px;align-self:center}.route-art__halo{stroke:#a08cc02b;stroke-width:1}.route-art__halo--inner{stroke:#a08cc01c}.route-art__rail{stroke:#a08cc055;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.route-art__rail--faint{stroke:#a08cc028}.route-art__route{stroke:var(--secondary);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.route-art__node{fill:var(--bg);stroke:var(--secondary);stroke-width:3}.route-art__node--start{fill:var(--brand-orange);stroke:var(--brand-orange)}.route-art__node--choice{fill:var(--secondary);stroke:var(--secondary)}.route-art__node--end{fill:var(--brand-orange);stroke:var(--brand-orange)}.route-art__node--quiet{fill:transparent}.route-art__arrow{stroke:var(--brand-orange);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.route-art__spark{fill:var(--secondary)}
.studio-catalog.section-wrap{padding:76px 0 96px}.section-heading{margin-bottom:32px;align-items:center}.section-heading h2,.studio-approach h2,.inside-copy h2{font-size:clamp(30px,3.4vw,46px);line-height:1.2;margin:0;letter-spacing:-.045em}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.product-card{border:1px solid var(--line);border-radius:20px;background:var(--panel-deep);padding:10px;gap:0;transition:border-color .25s,transform .25s,box-shadow .25s}.product-card:hover{transform:translateY(-4px);border-color:#a08cc0;box-shadow:0 14px 36px #0002}
.product-card__art{margin:0;width:100%;height:auto;aspect-ratio:16/10;border-radius:13px;overflow:hidden}.product-card__bottom{padding:26px 18px 16px;gap:30px}.product-card h3{font-size:clamp(23px,2.6vw,34px);line-height:1.25;margin:0 0 14px;overflow-wrap:normal}.product-card p{font-size:15px;line-height:1.8;max-width:44ch;color:var(--muted)}
.price-tag{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:500;line-height:1.5;color:var(--muted);padding-top:20px}.card-action{color:var(--ink);font-weight:700;white-space:nowrap}
.practicum-cover{position:relative;isolation:isolate;width:100%;height:100%;overflow:hidden;background:#171719;color:#f0ede8}
.practicum-cover--marketing{background:#a08cc0;color:#201c25}.practicum-cover__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.practicum-cover__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;height:100%;padding:clamp(21px,3vw,36px)}.practicum-cover__brand{font-family:'DM Sans',Manrope,sans-serif;font-size:clamp(17px,1.8vw,25px);font-weight:800;letter-spacing:-.075em;line-height:1}.practicum-cover__brand span{color:#e77d3b}.practicum-cover__heading{margin:clamp(22px,3vw,44px) 0 auto;font-family:'DM Sans',Manrope,sans-serif;font-size:clamp(28px,3.7vw,56px);font-weight:700;line-height:1.03;letter-spacing:-.055em;text-align:left}.practicum-cover__type{font-size:clamp(10px,1vw,13px);font-weight:700;line-height:1.4;letter-spacing:.025em}.practicum-cover--idea .practicum-cover__content{background:linear-gradient(90deg,#17171999,transparent 78%)}.practicum-cover--marketing .practicum-cover__content{background:linear-gradient(90deg,#a08cc044,transparent 72%)}
.inside-section{padding:80px 0;gap:64px;align-items:center;border-top:1px solid var(--line)}.inside-copy .micro-label{display:block;margin-bottom:22px}.inside-copy p{font-size:16px;line-height:1.85;max-width:43ch}.lesson-preview{border:1px solid #454249;border-radius:20px;background:linear-gradient(140deg,#242326,#1c1b1e);box-shadow:0 18px 44px #0002;overflow:hidden}.preview-toolbar{padding:24px 28px;border-color:#ffffff12}.preview-page{padding:28px}.preview-page h3{font-size:25px;line-height:1.35}.preview-page p{font-size:14px;line-height:1.85}.preview-page aside{border-radius:12px;background:#b7adc908;border-color:#b7adc926}.preview-page aside>span{color:var(--accent)}
.studio-approach{padding:84px 0;gap:72px}.studio-approach .micro-label{display:block;margin-bottom:20px}.studio-approach>div>p{max-width:36ch;font-size:16px;line-height:1.8}.approach-items article{grid-template-columns:40px 1fr;padding:26px 0}.approach-items h3{font-size:22px}.approach-items p{font-size:14px;line-height:1.8}.approach-items span{font-weight:500}
.detail-hero--cover-first{grid-template-columns:1.1fr 1fr;min-height:0;gap:36px 64px;padding:32px 0 64px}.detail-hero--cover-first .detail-copy{grid-column:1;grid-row:2;align-self:center;min-height:0}.detail-hero--cover-first .detail-visual{grid-column:2;grid-row:2;aspect-ratio:1/1;align-self:center;border-radius:20px;max-height:510px}.detail-hero--cover-first .detail-copy h1{font-size:clamp(36px,4vw,58px);line-height:1.14;margin:0 0 24px}.detail-lead{font-size:17px;line-height:1.8}.detail-hero--cover-first .detail-action{margin-top:20px;gap:20px}.detail-hero--cover-first .detail-price{font-size:20px}.detail-body{padding:64px 0 88px;gap:64px}.detail-body h2{font-size:34px}.detail-body p{font-size:16px;line-height:1.9}.curriculum-row{padding:20px 0}.curriculum-row strong{font-size:15px;line-height:1.7}
.reading-lesson{max-width:720px}.reading-lesson p,.reading-lesson li,.course-explanation{font-size:17px;line-height:1.85}.reading-section{padding:44px 0 32px;scroll-margin-top:24px}.reading-section h2{font-size:clamp(27px,3vw,36px);line-height:1.3;margin-bottom:24px}.reading-toc a{font-size:12px;line-height:1.6;padding:7px 0}.reading-practice,.reading-test{border-color:#79728055;background:#b7adc907;border-radius:16px}.reading-goal{background:transparent;border-left-color:var(--accent);padding-block:8px}.course-nav{padding:13px 12px;border-radius:10px}.course-nav.is-current{background:#b7adc90e;box-shadow:inset 2px 0 var(--accent)}.course-nav strong{font-size:13px;line-height:1.6}.course-nav small{font-size:11px}.course-diagram,.ai-infographic{border-radius:16px}.course-question legend{line-height:1.65}.course-option{border-radius:12px;line-height:1.65}.course-program-toggle{border-radius:10px}.field input:focus,.field textarea:focus{box-shadow:0 0 0 3px #b7adc918}
@media(max-width:1000px){.studio-hero.home-hero{min-height:570px;gap:12px;padding:48px 0}.studio-intro h1{font-size:clamp(60px,8vw,86px)}.hero-art{height:420px}.hero-art-caption{font-size:8px;left:5%;right:0}.practicum-cover{padding:22px}.inside-section,.studio-approach,.detail-hero--cover-first,.detail-body{gap:36px}.cover-copy strong{font-size:32px}.cover-copy>span{font-size:8px}.product-card__bottom{padding:24px 12px 12px}.price-tag{font-size:11px}}
@media(max-width:760px){.site-header{min-height:0;padding:20px 0 14px}.studio-hero.home-hero{grid-template-columns:1fr;padding:42px 0 28px;gap:18px;min-height:0}.studio-intro h1{font-size:clamp(64px,12vw,90px);margin:22px 0}.studio-intro>p{font-size:16px}.studio-actions{margin-top:26px}.hero-art{height:330px;width:min(100%,500px);margin:auto}.hero-art-caption{left:2%;right:2%;bottom:0;font-size:8px}.hero-eyebrow{font-size:9px}.section-heading{align-items:flex-start;gap:18px}.section-heading h2{max-width:18ch}.studio-catalog.section-wrap{padding:52px 0}.product-grid{grid-template-columns:1fr;gap:24px}.product-card__art{aspect-ratio:16/10}.practicum-cover{padding:26px}.cover-copy strong{font-size:clamp(30px,8vw,46px)}.cover-copy>span{font-size:9px}.product-card__bottom{padding:24px 16px 14px}.product-card h3{font-size:27px}.product-card p{font-size:14px}.price-tag{font-size:11px}.inside-section{padding:52px 0;grid-template-columns:1fr;gap:28px}.studio-approach{padding:52px 0;gap:26px}.inside-copy h2,.studio-approach h2{font-size:33px}.detail-hero--cover-first{grid-template-columns:1fr;gap:28px;padding:24px 0 44px}.detail-hero--cover-first .detail-copy{grid-column:1;grid-row:2}.detail-hero--cover-first .detail-visual{grid-column:1;grid-row:3;aspect-ratio:16/10;max-width:none}.detail-hero--cover-first .detail-copy h1{font-size:38px}.detail-lead{font-size:16px}.detail-body{padding:44px 0}.reading-lesson p,.reading-lesson li,.course-explanation{font-size:16px;line-height:1.85}.reading-section{padding-top:32px}.page-intro{padding-top:44px}.page-intro h1{font-size:42px}.site-footer{gap:24px}}
@media(prefers-reduced-motion:reduce){.nav-glide,.product-card,.button,.button--primary::before{animation:none!important;transition:none!important}.product-card:hover,.button:hover,.button:active{transform:none}}
.detail-page{padding-top:30px}.detail-page>.back-link{margin:0 0 10px}.detail-page .detail-hero--cover-first{padding:20px 0 72px;grid-template-rows:auto;gap:clamp(32px,6vw,88px)}.detail-page .detail-hero--cover-first .detail-visual{grid-column:1;grid-row:1;aspect-ratio:4/5;max-height:520px}.detail-page .detail-hero--cover-first .detail-copy{grid-column:2;grid-row:1;align-self:center;padding:0;min-width:0}.detail-page .detail-copy>.micro-label{margin-bottom:20px;color:var(--secondary)}.detail-page .detail-copy h1{overflow-wrap:anywhere}.detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px;margin-top:26px;color:var(--muted);font-size:14px}.detail-meta strong{color:var(--ink);font-size:18px}.detail-page .detail-action{margin-top:25px;padding:0}.detail-page .detail-action .field-hint{width:100%;margin:0}.detail-story{border-top:1px solid var(--line);padding:58px 0}.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.detail-fact{border-left:1px solid var(--line);padding:8px clamp(20px,3vw,42px);min-width:0}.detail-fact:first-child{border-left:0;padding-left:0}.detail-fact p{color:var(--ink);font-size:clamp(17px,1.8vw,22px);line-height:1.5;margin:17px 0 0;overflow-wrap:anywhere}.detail-overview{border-top:1px solid var(--line);margin-top:56px;padding-top:40px;max-width:720px}.detail-overview h2{font-size:28px}.detail-overview p{font-size:16px;line-height:1.8;white-space:pre-line}.detail-page .detail-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);gap:clamp(36px,7vw,100px);padding:62px 0 100px}.detail-section-heading h2{margin:14px 0 26px}.detail-lesson-list{list-style:none;margin:0;padding:0}.detail-lesson-list li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line)}.detail-lesson-list li:last-child{border-bottom:1px solid var(--line)}.detail-lesson-list li span{color:var(--secondary);font-size:12px}.detail-lesson-list li strong{font-size:16px;font-weight:600;line-height:1.55;overflow-wrap:anywhere}.detail-author-link{display:flex;align-items:center;gap:18px;align-self:start;padding:24px;border:1px solid var(--line);border-radius:16px;min-width:0;transition:border-color .2s}.detail-author-link:hover{border-color:var(--secondary)}.detail-author-link .micro-label{color:var(--muted);font-size:10px}.detail-author-link>span:nth-child(2){flex:1;font-size:17px;font-weight:700;overflow-wrap:anywhere}.detail-author-link>span:last-child{color:var(--secondary)}.editor-story{display:grid;gap:18px;border-top:1px solid var(--line);padding-top:30px}.editor-story h2{font-size:24px;margin:0}.editor-story .field-hint{margin:0}
@media(max-width:760px){.detail-page{padding-top:22px}.detail-page .detail-hero--cover-first{grid-template-columns:1fr;gap:24px;padding-bottom:50px}.detail-page .detail-hero--cover-first .detail-visual{grid-column:1;grid-row:1;aspect-ratio:5/4;width:100%;max-height:none}.detail-page .detail-hero--cover-first .detail-copy{grid-column:1;grid-row:2}.detail-facts{grid-template-columns:1fr;gap:0}.detail-fact,.detail-fact:first-child{border-left:0;border-top:1px solid var(--line);padding:22px 0}.detail-fact p{margin-top:9px}.detail-story{padding:34px 0}.detail-overview{margin-top:20px;padding-top:26px}.detail-page .detail-body{grid-template-columns:1fr;gap:32px;padding:40px 0 70px}.detail-author-link{padding:18px}}
.author-page{padding:clamp(40px,6vw,90px) 0 100px}.author-intro{display:grid;grid-template-columns:130px minmax(0,1fr);gap:clamp(26px,5vw,70px);align-items:start;max-width:1100px;padding-bottom:clamp(55px,8vw,115px)}.author-avatar{width:120px;aspect-ratio:1;border-radius:30px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,#3a3043,#211e27);border:1px solid #a08cc044}.author-avatar img{width:100%;height:100%;object-fit:cover}.author-avatar__fallback{font-size:42px;font-weight:800;letter-spacing:-.11em;color:var(--secondary)}.author-intro .micro-label{color:var(--secondary)}.author-intro h1{font-size:clamp(42px,6vw,84px);line-height:1.12;overflow-wrap:anywhere;margin:22px 0}.author-lead{font-size:clamp(17px,2vw,22px);line-height:1.65;max-width:55ch;color:var(--ink)}.author-bio{font-size:16px;line-height:1.85;white-space:pre-line;max-width:65ch;margin-top:30px}.author-section{border-top:1px solid var(--line);padding:clamp(52px,7vw,90px) 0}.author-section>.micro-label{color:var(--secondary)}.author-section h2{font-size:clamp(30px,3.6vw,48px);margin:20px 0 28px}.author-section>p{font-size:17px;line-height:1.85;max-width:68ch;white-space:pre-line}.author-section .product-grid{margin-top:40px}.author-contact{display:flex;justify-content:space-between;align-items:center;gap:35px}.author-contact h2{margin-bottom:12px}.author-contact__links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}.author-contact__links>a:not(.button){font-size:14px;color:var(--secondary);font-weight:700}.author-editor__group{border:1px solid var(--line);border-radius:12px;padding:24px;display:grid;gap:18px}.author-editor__group legend{font-weight:800;padding:0 8px}.author-editor__group>p{font-size:13px;margin:0}.editor-link-row{display:grid;grid-template-columns:1fr 1.5fr;gap:15px}.author-editor__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.author-editor__actions>a{font-size:14px;color:var(--secondary);font-weight:700}
@media(max-width:760px){.author-page{padding:40px 0 65px}.author-intro{grid-template-columns:1fr;gap:22px;padding-bottom:56px}.author-avatar{width:88px;border-radius:22px}.author-avatar__fallback{font-size:32px}.author-intro h1{margin:16px 0}.author-section{padding:50px 0}.author-contact{align-items:start;flex-direction:column}.editor-link-row{grid-template-columns:1fr}}
.admin-nav{flex-wrap:wrap;row-gap:12px}.author-upload{max-width:850px;margin-top:30px;padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.author-upload h2{font-size:26px;margin:0 0 10px}.author-upload>p{font-size:14px;line-height:1.7;max-width:55ch}.author-upload form{display:grid;justify-items:start;gap:18px;margin-top:25px}.author-upload .field{width:100%}.author-upload input[type=file]{padding:12px;background:var(--bg)}.author-upload button:disabled{opacity:.5;cursor:not-allowed}.author-upload [role=status]{font-size:14px;min-height:1.5em;margin:0}.author-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--secondary);border-radius:12px;padding:16px 22px;margin-top:30px;color:var(--ink)}.author-preview-bar a{font-size:13px;font-weight:700;color:var(--secondary)}
@media(max-width:760px){.author-upload{padding:20px}.author-preview-bar{align-items:start;flex-direction:column}}
.studio-hero.home-hero .studio-intro h1{font-family:Manrope,Arial,sans-serif}.product-card h3{overflow-wrap:anywhere}
.author-directory{padding:clamp(38px,6vw,80px) 0 110px;max-width:1100px;margin:auto}.author-directory .page-intro{padding:0 0 clamp(32px,5vw,58px);margin:0}.author-directory .page-intro h1{font-size:clamp(44px,6vw,78px);margin:12px 0 15px}.author-directory .page-intro p{max-width:52ch}.author-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.author-list__item{margin:0;border-bottom:1px solid var(--line)}.author-list__link{display:grid;grid-template-columns:72px minmax(0,1fr) auto 24px;align-items:center;gap:clamp(16px,2.5vw,30px);padding:24px 10px;color:var(--ink);text-decoration:none;transition:background .18s}.author-list__link:hover,.author-list__link:focus-visible{background:#a08cc00e}.author-list__link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.author-list__avatar{width:72px;height:72px;border-radius:20px;overflow:hidden;display:grid;place-items:center;background:#a08cc020;color:var(--secondary);font-size:21px;font-weight:800}.author-list__avatar img{display:block;width:100%;height:100%;object-fit:cover}.author-list__identity{min-width:0;display:grid;gap:5px}.author-list__identity strong{font-size:clamp(19px,2vw,26px);line-height:1.25;overflow-wrap:anywhere}.author-list__identity>span,.author-list__count{color:var(--muted);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.author-list__arrow{font-size:22px;color:var(--secondary)}.author-directory__empty{padding:28px 0;color:var(--muted)}.author-back{display:block;width:max-content;margin-bottom:25px;color:var(--muted);font-size:14px}.author-specialty{font-size:15px;color:var(--secondary);margin:-6px 0 16px}
@media(max-width:760px){.author-directory{padding:36px 0 70px}.author-list__link{grid-template-columns:56px minmax(0,1fr) 20px;gap:14px;padding:18px 4px}.author-list__avatar{width:56px;height:56px;border-radius:16px;font-size:18px}.author-list__count{grid-column:2;grid-row:2;margin-top:-9px}.author-list__arrow{grid-column:3;grid-row:1 / span 2}.author-list__identity strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.author-list__link{transition:none}}
.product-card{min-width:0}.product-card__main{display:flex;flex:1;flex-direction:column;min-width:0;color:inherit;text-decoration:none}.product-card__main:focus-visible,.product-card__author:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.product-card__art,.product-grid--single .product-card__art{aspect-ratio:4/3;height:auto;min-height:0}.product-card__art .product-cover{display:block;width:100%;height:100%;object-fit:cover}.product-card__bottom{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:26px}.product-card h3{overflow-wrap:anywhere}.price-tag{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:55px}.product-card__meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0 18px;padding:15px 0 8px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.5}.product-card__author{color:var(--secondary);font-weight:700;overflow-wrap:anywhere}.product-card__author:hover{text-decoration:underline}.product-grid--single .product-card{display:flex;max-width:650px}.product-grid--single .product-card__bottom{padding:26px 18px 16px;max-width:none}
@media(max-width:760px){.product-card__art,.product-grid--single .product-card__art{aspect-ratio:4/3}.product-card__bottom,.product-grid--single .product-card__bottom{padding:23px 16px 14px}.product-card__meta{margin:0 16px}}
@media(min-width:761px) and (max-width:900px){.product-card .practicum-cover{padding:16px}.product-card .cover-copy{width:75%;margin:8px 0}.product-card .cover-copy strong{font-size:clamp(22px,3.1vw,28px);line-height:1.05;margin-top:8px}.product-card .cover-copy>span{font-size:8px}.product-card .cover-bottom,.product-card .cover-kicker{font-size:8px}}
@media(max-width:420px){.product-card .practicum-cover{padding:18px}.product-card .cover-copy{width:76%;margin:8px 0}.product-card .cover-copy strong{font-size:clamp(24px,7vw,30px);line-height:1.06;margin-top:8px}.product-card .cover-copy>span,.product-card .cover-kicker,.product-card .cover-bottom{font-size:8px}}
.product-card .practicum-cover,.detail-page .practicum-cover,.admin-cover-preview .practicum-cover{padding:0}.detail-visual .detail-cover{object-fit:cover;padding:0}.admin-cover-editor{display:grid;grid-template-columns:minmax(0,450px) minmax(240px,1fr);gap:32px;align-items:end;margin:42px 0;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--panel-deep)}.admin-cover-editor h2{font-size:29px;margin:0 0 8px}.admin-cover-editor p{font-size:14px;line-height:1.6;max-width:48ch}.admin-cover-preview{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:var(--bg)}.admin-cover-preview .product-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.admin-cover-editor .editor-form{margin:0;max-width:none;background:transparent;border:0;padding:0}.admin-cover-editor .field{font-size:14px}.admin-cover-editor input[type=file]{min-height:50px}.admin-cover-editor .button{justify-self:start}
@media(max-width:760px){.admin-cover-editor{grid-template-columns:1fr;padding:20px;gap:20px}.detail-hero--cover-first .detail-visual{aspect-ratio:4/3}}
.detail-page .detail-hero--cover-first .detail-visual{aspect-ratio:4/3;max-height:none;min-height:0;align-self:start}
.practicum-cover--marketing .practicum-cover__brand span{color:#8c320e}

/* One shared footer: identity, legal routes and a quiet copyright. */
.site-footer{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:clamp(24px,3vw,52px);
  row-gap:12px;
  padding:38px 0 34px;
}
.legal-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0 clamp(16px,2vw,30px);
  min-width:0;
  color:var(--muted);
  font-size:13px;
  font-weight:500;
}
.legal-footer a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.footer-copy{width:auto;justify-self:end;white-space:nowrap}
@media(max-width:1000px){
  .site-footer{grid-template-columns:minmax(0,1fr) auto;row-gap:8px}
  .legal-footer{grid-column:1/-1;grid-row:2;justify-content:flex-start}
}
@media(max-width:760px){
  .site-footer{grid-template-columns:minmax(0,1fr);gap:16px;padding:32px 0 36px}
  .legal-footer{grid-column:1;grid-row:2;align-items:flex-start;flex-direction:column;gap:0}
  .footer-copy{grid-row:3;justify-self:start}
}

/* Shared storefront rhythm: current and future product pages use the same rails. */
.arrow-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;color:inherit}
.card-action,.author-contact__links>a:not(.button){display:inline-flex;align-items:center;gap:5px}
.product-card{--card-inline:clamp(16px,2vw,24px)}
.product-card__bottom,.product-grid--single .product-card__bottom{padding:24px var(--card-inline) 14px}
.product-card__meta{margin:0 var(--card-inline);padding:14px 0 16px}
.price-tag{min-height:0;align-items:center}
.product-card__art{container-type:inline-size}
.product-card__art .practicum-cover__content{padding:clamp(18px,6cqw,36px)}
.product-card__art .practicum-cover__brand{font-size:clamp(16px,4.4cqw,26px)}
.product-card__art .practicum-cover__heading{font-size:clamp(28px,8.2cqw,57px);max-width:70%;margin-top:clamp(18px,7cqw,44px)}
.product-card__art .cover-editorial{padding:clamp(18px,5cqw,30px)}
.product-card__art .cover-title{font-size:clamp(28px,8cqw,56px)}
.studio-catalog.section-wrap{padding-bottom:clamp(40px,5vw,68px)}
.inside-section{padding:clamp(44px,5vw,68px) 0;gap:clamp(28px,5vw,72px);align-items:center}
.inside-copy h2{margin:14px 0 18px}
.inside-copy>p{margin:0 0 24px}
.inside-copy .micro-label{margin-bottom:0}
.author-directory{min-height:calc(100svh - 100px);padding-top:clamp(34px,4vw,60px);padding-bottom:clamp(60px,6vw,90px)}
.author-directory .page-intro{padding-bottom:clamp(25px,3vw,42px)}
.detail-page .detail-hero--cover-first{grid-template-columns:minmax(0,.88fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding:20px 0 36px}
.detail-page .detail-hero--cover-first .detail-visual{grid-column:1;grid-row:1;aspect-ratio:4/3}
.detail-page .detail-hero--cover-first .detail-copy{grid-column:2;grid-row:1;align-self:center}
.detail-purchase{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 36px;padding:22px 0;border-top:1px solid var(--line)}
.detail-purchase .detail-meta{margin:0;gap:8px 22px}
.detail-purchase .detail-action{margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.detail-purchase .detail-action .field-hint{max-width:35ch;text-align:right}
.detail-page .detail-story{padding:36px 0}
.detail-page .detail-overview{margin-top:30px;padding-top:28px}
.detail-page .detail-story:not(:has(.detail-facts)) .detail-overview{border-top:0;margin-top:0;padding-top:0}
.detail-page .detail-body{display:block;padding:38px 0 52px}
.detail-curriculum{max-width:980px;margin:0 auto}
.detail-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px 28px;margin-bottom:18px}
.detail-section-heading h2{margin:10px 0 0}
.detail-section-heading .detail-author-link{padding:10px 14px;gap:10px;border-radius:10px}
.detail-section-heading .detail-author-link>span:nth-child(2){font-size:14px}
.detail-section-heading .detail-author-link .arrow-icon{color:var(--secondary)}
.detail-lesson-list{max-width:100%}
@media(max-width:760px){
  .site-header .main-nav,.site-header--signed .main-nav{justify-content:center}
  .home-hero .studio-intro h1{font-size:clamp(42px,15.5vw,70px)}
  .site-footer{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:clamp(12px,3vw,28px);row-gap:8px;align-items:start}
  .site-footer .brand--footer{grid-column:1;grid-row:1;align-self:start}
  .site-footer .legal-footer{grid-column:2;grid-row:1/span 2;align-items:flex-start;gap:0}
  .site-footer .footer-copy{grid-column:1;grid-row:2;align-self:end;white-space:normal;line-height:1.5}
  .legal-footer a{font-size:12px;min-height:40px}
  .product-card{--card-inline:20px}
  .product-card__bottom,.product-grid--single .product-card__bottom{padding:22px var(--card-inline) 12px}
  .product-card__meta{margin:0 var(--card-inline);padding:14px 0 16px}
  .detail-page .detail-hero--cover-first{grid-template-columns:1fr;gap:22px;padding-bottom:18px}
  .detail-page .detail-hero--cover-first .detail-visual{grid-column:1;grid-row:1;aspect-ratio:4/3}
  .detail-page .detail-hero--cover-first .detail-copy{grid-column:1;grid-row:2}
  .detail-purchase{grid-column:1;grid-row:3;grid-template-columns:1fr;gap:16px;padding:18px 0}
  .detail-purchase .detail-action{align-items:stretch}
  .detail-purchase .detail-action .button{width:100%}
  .detail-purchase .detail-action .field-hint{text-align:left;max-width:none}
  .detail-page .detail-body{padding:32px 0 48px}
  .detail-section-heading{align-items:start;flex-direction:column}
  .inside-section{padding:42px 0;gap:26px}
}
.author-banner{grid-column:1/-1;position:relative;aspect-ratio:3/1;min-height:160px;max-height:380px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,#28232e,#171719 65%,#3d2a23)}
.author-banner__image{width:100%;height:100%;display:block;object-fit:cover}
.author-banner__video,.author-banner__image--fallback{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.author-banner__video[hidden],.author-banner__image--fallback[hidden]{display:none}
.author-students{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:14px;color:var(--muted)}
.author-students strong{font-size:24px;color:var(--ink);font-variant-numeric:tabular-nums}
.author-students details{width:100%;font-size:12px}
.author-students summary{width:max-content;cursor:pointer;color:var(--secondary)}
.author-students p{max-width:55ch;margin:6px 0 0;font-size:12px;line-height:1.6}
.author-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.author-media-grid .author-upload{width:100%;margin:0;padding:24px}
.author-media-preview{width:100%;aspect-ratio:3/1;min-height:100px;overflow:hidden;border:1px dashed var(--line);border-radius:12px;background:var(--panel-deep)}
.author-media-preview:not(.author-media-preview--avatar){aspect-ratio:5/2}
.author-media-preview--avatar{width:min(100%,220px);aspect-ratio:1}
.author-media-preview img{width:100%;height:100%;display:block;object-fit:cover}
.author-studio{padding-bottom:70px}
.admin-author-list{display:grid;gap:12px}
.admin-author-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding:20px;border:1px solid var(--line);border-radius:12px}
.admin-author-row p{margin:4px 0 0;font-size:12px}
.admin-author-row>a{color:var(--secondary);font-size:13px}
.admin-author-access{border:1px solid var(--line);border-radius:12px;padding:22px;margin:0 0 30px}
.admin-author-access h2{font-size:22px;margin:0 0 6px}
.admin-author-access p{font-size:13px;max-width:65ch}
@media(max-width:760px){.author-banner{min-height:110px;border-radius:12px}.author-media-grid{grid-template-columns:1fr}.author-intro:has(.author-banner){gap:18px}}

/* Compact author profile; the contact copy and destinations remain unchanged. */
.author-page{padding-top:clamp(34px,4vw,58px);padding-bottom:64px}
.author-intro{gap:clamp(24px,3vw,42px);padding-bottom:clamp(38px,4vw,56px)}
.author-intro h1{margin:12px 0 18px;font-size:clamp(42px,5.4vw,72px)}
.author-back{margin-bottom:16px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px}
.author-back:hover{text-decoration-color:currentColor}
.author-back:focus-visible{border-radius:3px;outline-color:var(--secondary)}
.author-students{margin-top:16px;padding-top:16px;gap:5px 14px}
.author-students summary{padding:5px 0;text-underline-offset:3px}
.author-students summary:hover{text-decoration:underline}
.author-section{padding-block:clamp(38px,4.5vw,60px)}
.author-contact{padding-block:clamp(34px,4vw,52px)}
.author-contact h2{margin-top:12px;margin-bottom:10px}
.author-contact p{margin-bottom:0}
/* Jelly-like indicator never replaces the actual navigation links. */
.nav-glide{border-radius:14px;background:#a08cc029;border-color:#a08cc04d;box-shadow:0 0 16px #a08cc017;transition:transform .42s cubic-bezier(.2,1.3,.4,1),width .42s cubic-bezier(.2,1.3,.4,1),height .42s,opacity .18s,border-radius .42s}
.nav-glide.is-moving{border-radius:23px 10px 23px 10px}
@media(max-width:760px){.author-page{padding-top:30px;padding-bottom:52px}.author-intro{grid-template-columns:72px minmax(0,1fr);gap:18px 16px;padding-bottom:36px}.author-banner{grid-column:1/-1}.author-avatar{width:72px;border-radius:18px}.author-intro h1{font-size:clamp(32px,8vw,48px);margin:8px 0 14px}.author-back{margin-bottom:12px}.author-section{padding-block:36px}.author-contact{padding-block:32px}}
@media(prefers-reduced-motion:reduce){.nav-glide{transition:none}}

/* One floating navigation surface on every route. The homepage hero may pass behind it. */
.site-header--floating{position:relative;z-index:5;min-height:76px;height:auto;margin-top:28px;padding:12px clamp(16px,2vw,28px);border:1px solid #ffffff1b;border-radius:18px;background:rgba(28,27,32,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 14px 40px #0002}
@media(max-width:760px){.site-header--floating{margin-top:20px;padding:12px 14px;border-radius:16px}}
@media(max-width:350px){.site-header--floating .brand{font-size:21px}.site-header--floating .header-account{font-size:11px;padding:8px 10px;max-width:145px}}

/* A channel-like author header: the banner spans the viewport, while all copy shares one rail. */
body:has(.author-page){overflow-x:clip;container-type:inline-size}
/* On public profiles the banner starts at the viewport edge; the nav floats over it. */
body:has(.author-page>.author-intro--banner:first-child):not(:has(.author-preview-bar)) .site-shell{position:relative}
body:has(.author-page>.author-intro--banner:first-child):not(:has(.author-preview-bar)) .site-header--floating{position:absolute;top:clamp(16px,2vw,28px);left:clamp(20px,4.5vw,72px);right:clamp(20px,4.5vw,72px);margin-top:0;background:rgba(24,23,28,.58);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 14px 40px #0005}
body:has(.author-page>.author-intro--banner:first-child):not(:has(.author-preview-bar)) .author-page{padding-top:0}
.author-page{--author-avatar-size:112px;--author-profile-gap:clamp(20px,3vw,34px);padding-top:clamp(16px,2vw,28px)}
.author-page .author-intro{display:block;max-width:none;padding-bottom:0}
.author-page .author-banner{left:50%;width:100cqw;height:clamp(240px,24vw,330px);min-height:0;max-height:none;aspect-ratio:auto;transform:translateX(-50%);border:0;border-radius:0}
.author-page .author-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 64%,var(--bg) 100%);pointer-events:none}
.author-page .author-banner__image{max-width:none;object-fit:cover}
.author-page .author-banner__image,.author-page .author-banner__video,.author-page .author-avatar img,.author-media-preview img,.author-crop-thumb img{object-position:var(--crop-x,50%) var(--crop-y,50%);transform-origin:var(--crop-x,50%) var(--crop-y,50%);transform:scale(var(--crop-zoom,1))}
.author-page .author-profile{position:relative;z-index:1;display:grid;grid-template-columns:var(--author-avatar-size) minmax(0,1fr);column-gap:var(--author-profile-gap);width:min(100%,1200px);margin-inline:auto}
.author-page .author-profile__mobile-topline{display:none}
.author-page .author-intro--banner .author-profile{margin-top:clamp(-66px,-5vw,-34px)}
.author-page .author-back{grid-column:1/-1;justify-self:start;margin:0 0 18px}
.author-page .author-avatar{grid-column:1;grid-row:2;width:var(--author-avatar-size);border-radius:24px}
.author-page .author-profile__identity{grid-column:2;grid-row:2;min-width:0}
.author-page .author-profile__identity h1{font-size:clamp(40px,5.2vw,70px);line-height:1.06;margin:10px 0 12px}
.author-page .author-specialty{margin:0 0 8px}
.author-page .author-profile__description{grid-column:2;grid-row:3;min-width:0;margin-top:9px}
.author-page .author-lead,.author-page .author-bio,.author-page .author-method p{max-width:75ch;font-size:clamp(15px,1.45vw,17px);line-height:1.72;white-space:pre-line}
.author-page .author-lead{margin:0 0 12px;color:var(--ink)}
.author-page .author-bio{margin:0}
.author-page .author-students{position:relative;display:block;width:max-content;max-width:100%;margin:3px 0 0;padding:0;border:0;color:var(--muted);font-size:14px;line-height:1.4}
.author-page .author-students strong{font:inherit;font-weight:600;color:var(--brand-orange);font-variant-numeric:tabular-nums}
.author-page .author-students::details-content{content-visibility:visible}
.author-page .author-students summary{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0;cursor:help;list-style:none;white-space:nowrap;color:var(--muted)}
.author-page .author-students summary::-webkit-details-marker{display:none}
.author-page .author-students summary span{text-decoration:underline dotted;text-decoration-color:var(--secondary);text-underline-offset:4px}
.author-page .author-students summary:hover,.author-page .author-students[open] summary{color:var(--ink)}
.author-page .author-students>p{display:none;position:absolute;z-index:4;top:calc(100% + 4px);right:0;width:min(300px,calc(100cqw - 40px));max-width:none;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 12px 28px #0007;color:var(--ink);font-size:12px;line-height:1.55;white-space:normal}
.author-page .author-students:hover>p,.author-page .author-students:focus-within>p,.author-page .author-students[open]>p{display:block}
.author-page .author-method{width:min(100%,1200px);margin:14px auto 0;padding-left:calc(var(--author-avatar-size) + var(--author-profile-gap))}
.author-page .author-method p{margin:0;color:var(--muted)}
.author-page>.author-section{border-top:0;padding-block:clamp(32px,4vw,52px)}
.author-page .author-section .product-grid{margin-top:28px}
@media(max-width:760px){
  .author-page{--author-avatar-size:74px;--author-profile-gap:16px;padding-top:14px}
  .author-page .author-banner{height:clamp(172px,48vw,230px)}
  .author-page .author-intro--banner .author-profile{margin-top:-42px}
  .author-page .author-back{margin-bottom:12px}
  .author-page .author-avatar{border-radius:18px}
  .author-page .author-profile__identity h1{font-size:clamp(32px,8vw,48px);margin:7px 0 10px}
  .author-page .author-profile__description{grid-column:1/-1;margin-top:14px}
  .author-page .author-method{margin-top:12px;padding-left:0}
  .author-page>.author-section{padding-block:32px}
}

.author-crop-dialog{width:min(860px,calc(100% - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:clamp(18px,3vw,30px);overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--ink);box-shadow:0 28px 90px #000b}
.author-crop-dialog::backdrop{background:#09090bd9;backdrop-filter:blur(5px)}
.author-crop-dialog__header{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:18px}
.author-crop-dialog__header h3{font-size:clamp(22px,3vw,30px);margin:4px 0 0}
.author-crop-close{width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.author-crop-modes{display:flex;gap:8px;margin-bottom:14px}
.author-crop-modes button{min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel-deep);color:var(--muted);cursor:pointer}
.author-crop-modes button[aria-pressed=true]{border-color:var(--secondary);background:#a08cc024;color:var(--ink)}
.author-media-preview{--crop-x:50%;--crop-y:50%;--crop-zoom:1;cursor:grab;touch-action:none;user-select:none;min-height:0;max-height:none;border-style:solid;border-color:var(--line);outline-offset:4px}
.author-media-preview:active{cursor:grabbing}
.author-media-preview:not(.author-media-preview--avatar){aspect-ratio:1200/330}
.author-media-preview[data-mode=mobile]{width:min(100%,390px);aspect-ratio:390/187;margin-inline:auto}
.author-media-preview--avatar{width:min(100%,320px);aspect-ratio:1;margin-inline:auto}
.author-media-preview img,.author-crop-thumb img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.author-crop-hint{font-size:13px;line-height:1.55;color:var(--muted);margin:12px 0 18px}
.author-crop-controls{display:grid;gap:14px;margin:0;font-size:13px;color:var(--muted)}
.author-crop-controls label{display:grid;gap:6px}
.author-crop-controls input[type=range]{width:100%;min-height:30px;accent-color:var(--brand-orange)}
.author-crop-controls input[type=range]:disabled{opacity:.35}
.author-crop-position{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.author-crop-dialog__actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.author-crop-dialog__actions .button{min-height:44px}
.author-crop-thumb{--crop-x:50%;--crop-y:50%;--crop-zoom:1;width:min(100%,460px);aspect-ratio:1200/330;overflow:hidden;border:1px solid var(--line);border-radius:12px;margin:14px 0}
.author-crop-thumb[data-mode=mobile]{width:min(100%,250px);aspect-ratio:390/187}
.author-crop-thumb--avatar{width:120px;aspect-ratio:1}
.author-crop-thumb[hidden],.author-crop-open[hidden],.author-crop-selection[hidden]{display:none}
.author-crop-selection{font-size:13px;color:var(--muted);margin:8px 0 14px}
.author-crop-open{min-height:44px;padding:10px 14px;margin-top:4px}
@media(max-width:520px){.author-crop-position{grid-template-columns:1fr}.author-crop-dialog__actions{flex-wrap:wrap}.author-crop-dialog__actions .button{flex:1 1 auto;white-space:nowrap}}
.author-responsive-preview{min-width:0;padding-bottom:52px}
.author-responsive-preview .author-preview-bar{flex-wrap:wrap}
.author-preview-modes{display:flex;gap:8px}
.author-preview-modes button{min-height:40px;padding:7px 14px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.author-preview-modes button[aria-pressed=true]{border-color:var(--secondary);background:#a08cc024;color:var(--ink)}
.author-preview-frame{display:flex;justify-content:center;min-width:0;padding:clamp(16px,3vw,32px);margin-top:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel-deep)}
.author-preview-frame iframe{display:block;width:min(100%,1200px);height:min(76dvh,900px);min-height:400px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.author-preview-frame[data-mode=mobile] iframe{width:min(100%,390px)}
.author-preview-hint{margin:10px 0 0;color:var(--muted);font-size:12px}
@media(max-width:520px){.author-preview-frame{padding:10px}.author-responsive-preview .author-preview-bar{align-items:start}.author-preview-modes{order:3;width:100%}}

/* Keep the floating navigation on one composited surface. Blurring the banner
   behind the logo produced a visible, flickering tile edge in some browsers. */
.site-header--floating{background:rgba(28,27,32,.96);-webkit-backdrop-filter:none;backdrop-filter:none}
body:has(.author-page>.author-intro--banner:first-child):not(:has(.author-preview-bar)) .site-header--floating{background:rgba(24,23,28,.82);-webkit-backdrop-filter:none;backdrop-filter:none}

/* Shared product layout: the offer and its optional explanation occupy one rail. */
.detail-page{padding-top:clamp(30px,3vw,42px)}
.detail-page>.detail-catalog-link{margin-bottom:4px}
.detail-page .detail-hero--cover-first{padding-top:8px;padding-bottom:16px;row-gap:clamp(18px,2.5vw,30px)}
.detail-page .detail-hero--cover-first .detail-visual{margin-top:24px;align-self:center}
.detail-page .detail-hero--cover-first .detail-copy{align-self:start}
.detail-page .detail-copy>.micro-label{margin-bottom:14px}
.detail-page .detail-copy h1{margin-bottom:clamp(14px,2vw,24px)}
.detail-purchase{column-gap:clamp(20px,4vw,54px);row-gap:6px;padding:18px 0 8px}
.detail-purchase .detail-meta{grid-column:1;grid-row:1;align-items:baseline;gap:6px 14px}
.detail-purchase .detail-meta strong,.detail-purchase .detail-meta .detail-price{line-height:1.1}
.detail-purchase .detail-action{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:end}
.detail-purchase__details{grid-column:1;grid-row:2;justify-self:start;width:100%;color:var(--muted)}
.detail-purchase__details summary{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:max-content;max-width:100%;min-height:32px;cursor:pointer;list-style:none;white-space:nowrap;font-size:13px}
.detail-purchase__details summary::-webkit-details-marker{display:none}
.detail-purchase__details summary::after,.detail-overview summary::after,.author-method summary::after{content:"";display:block;flex:none;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.detail-purchase__details[open] summary::after,.detail-overview[open] summary::after,.author-method[open] summary::after{transform:rotate(225deg)}
.detail-purchase__details-copy{text-align:left}
.detail-purchase__details-copy p{margin:4px 0 0;font-size:13px;line-height:1.55}
.detail-page .detail-story{padding:20px 0}
.detail-page .detail-overview{max-width:none;margin:0 0 22px;padding:0;border:0}
.detail-overview summary{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;max-width:100%;min-height:44px;cursor:pointer;list-style:none;color:var(--muted);font-size:17px;font-weight:600;line-height:1.4}
.detail-overview summary::-webkit-details-marker{display:none}
.detail-overview[open] summary{color:var(--ink)}
.detail-overview p{max-width:75ch;margin:8px 0 0}
.detail-page .detail-body{padding-top:18px}
.detail-curriculum{max-width:none;margin:0}
.detail-section-heading{align-items:flex-start}
.detail-section-heading .detail-author-link{flex:none;align-self:flex-start;max-width:min(45%,360px);padding:8px 12px;border-color:#ffffff1b}
.detail-author-link__desktop{display:flex;align-items:center;gap:12px;min-width:0}
.detail-author-link__desktop>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-author-link__mobile{display:none}
.detail-section-heading .detail-author-link>span:nth-child(2){font-size:14px}
.detail-section-heading .detail-author-link>.arrow-icon{flex:none;opacity:.75}

/* Author intro: one aligned metadata row, then the always-visible greeting. */
.author-page .author-profile__meta{display:flex;align-items:baseline;justify-content:space-between;gap:4px 20px;flex-wrap:wrap}
.author-page .author-specialty{margin:0}
.author-page .author-students{margin:0 0 0 auto;white-space:nowrap}
.author-page .author-profile__description{margin-top:10px}
.author-page .author-profile__description .author-lead:last-child{margin-bottom:0}
.author-page .author-method{margin-top:14px}
.author-page .author-method summary{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:max-content;max-width:100%;min-height:32px;cursor:pointer;list-style:none;color:var(--secondary);font-size:14px;font-weight:600}
.author-page .author-method summary::-webkit-details-marker{display:none}
.author-page .author-method p{padding:3px 0 8px}
.author-page .author-method[open] summary{color:var(--ink)}
.detail-purchase__details summary:focus-visible,.detail-overview summary:focus-visible,.author-method summary:focus-visible,.author-students summary:focus-visible{outline:2px solid var(--secondary);outline-offset:3px;border-radius:4px}

@media(max-width:760px){
  body:has(.author-page>.author-intro--banner:first-child):not(:has(.author-preview-bar)) .site-header--floating{padding:8px 12px;row-gap:4px}
  body:has(.author-page>.author-intro--banner:first-child):not(:has(.author-preview-bar)) .site-header--floating .header-account{padding:8px 10px}
  body:has(.author-page>.author-intro--banner:first-child):not(:has(.author-preview-bar)) .site-header--floating .main-nav a{padding:6px 10px}
  .detail-page{padding-top:24px}
  .detail-page .detail-hero--cover-first{row-gap:18px;padding-top:8px;padding-bottom:12px}
  .detail-page .detail-hero--cover-first .detail-visual{margin-top:0}
  .detail-purchase{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0 4px}
  .detail-purchase .detail-action{grid-column:1;grid-row:2;justify-self:stretch}
  .detail-purchase__details{grid-column:1;grid-row:3;justify-self:start}
  .detail-purchase__details summary{justify-content:flex-start;min-height:38px}
  .detail-purchase__details-copy{text-align:left}
  .detail-page .detail-story{padding:16px 0}
  .detail-page .detail-overview{margin-bottom:18px}
  .detail-overview summary{min-height:44px;font-size:16px}
  .detail-page .detail-body{padding:12px 0 44px}
  .detail-section-heading{flex-direction:row;align-items:flex-start;gap:12px;margin-bottom:14px}
  .detail-section-heading h2{font-size:clamp(26px,7vw,34px)}
  .detail-section-heading .detail-author-link{max-width:45%;padding:9px 10px}
  .detail-author-link__desktop{display:none}
  .detail-author-link__mobile{display:inline;font-size:13px;font-weight:600;white-space:nowrap}
  .author-page .author-profile__mobile-topline{display:flex;grid-column:1/-1;grid-row:2;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-bottom:4px}
  .author-page .author-profile__mobile-topline .micro-label{font-size:11px;white-space:nowrap}
  .author-page .author-profile__mobile-topline .author-students{margin:0;font-size:12px}
  .author-page .author-profile__mobile-topline .author-students summary{min-height:44px}
  .author-page .author-profile__mobile-topline .author-students>p{left:0;right:auto}
  .author-page .author-avatar,.author-page .author-profile__identity{grid-row:3}
  .author-page .author-profile__identity>.micro-label,.author-page .author-profile__meta>.author-students{display:none}
  .author-page .author-profile__description{grid-row:4}
  .author-page .author-profile__meta{display:block}
  .author-page .author-profile__description{margin-top:10px}
  .author-page .author-method{margin-top:14px}
  .author-page .author-method summary{min-height:44px}
  .author-page .author-method + .author-section{padding-top:16px}
}
@media(prefers-reduced-motion:reduce){.detail-purchase__details summary::after,.detail-overview summary::after,.author-method summary::after{transition:none}}

/* lesson-system.css */
.lesson-article{max-width:740px;margin:0 auto;min-width:0}.lesson-article__header{padding:20px 0 38px;border-bottom:1px solid var(--line)}.lesson-article__header h1{margin:18px 0 20px}.lesson-article__lead{font-size:clamp(18px,2.2vw,21px)!important;line-height:1.65!important;max-width:58ch}.lesson-article__goal{margin:30px 0 0!important;padding:15px 20px;border-left:2px solid var(--accent);background:var(--course-tint);font-size:14px!important}.lesson-article__goal strong{display:block;margin-bottom:5px}.lesson-article__section{border-bottom:1px solid var(--line);padding:43px 0 36px;scroll-margin-top:24px}.lesson-article__index{display:block;font-size:11px;letter-spacing:.11em;font-weight:700;color:var(--course-violet);margin-bottom:17px}.lesson-article__section h2{font-size:clamp(26px,3vw,34px);line-height:1.2;max-width:24ch;margin:0 0 24px}.lesson-article__section>p{max-width:65ch}.lesson-article__example,.lesson-article__action{margin:30px 0 0;padding:20px 24px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.lesson-article__action{background:transparent;border-left:3px solid var(--accent)}.lesson-article__example>span,.lesson-article__action>span{display:block;color:var(--course-violet);font-size:10px;font-weight:700;letter-spacing:.1em;margin-bottom:12px}.lesson-article__action>span{color:var(--accent)}.lesson-article__example p,.lesson-article__action p{font-size:15px!important;line-height:1.7!important;margin:0}.lesson-visual{margin:30px 0;padding:28px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(140deg,var(--course-tint),transparent 75%),var(--panel);min-width:0}.lesson-visual figcaption{font-size:13px;font-weight:700;margin-bottom:25px}.lesson-visual__items{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px}.lesson-visual__item{display:grid;align-content:start;gap:9px;padding:20px 18px;min-width:0;min-height:126px;border:1px solid var(--line);border-radius:10px;background:var(--panel-deep)}.lesson-visual__index{font-size:10px;color:var(--course-violet)}.lesson-visual__item strong{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.lesson-visual__item>span:last-child:not(.lesson-visual__index){font-size:13px;line-height:1.6;color:var(--muted)}.lesson-visual__note{font-size:13px!important;color:var(--muted);margin:18px 0 0!important}.lesson-article__case-note{font-size:13px!important;color:var(--muted);margin:24px 0!important}.lesson-article__practice,.lesson-article__work,.lesson-article__quiz{border-top:1px solid var(--line);padding:38px 0}.lesson-article__practice h2,.lesson-article__work h2,.lesson-article__quiz h2{font-size:clamp(25px,3vw,32px);margin:0 0 18px}.lesson-article__work>div{overflow-wrap:anywhere}.lesson-article__quiz{margin-top:18px}.lesson-article__quiz p{max-width:60ch}.lesson-article__quiz form{margin-top:24px}@media(max-width:600px){.lesson-article__header{padding:8px 0 28px}.lesson-article__section{padding:30px 0}.lesson-article__example,.lesson-article__action{padding:18px}.lesson-visual{padding:18px}.lesson-visual__items{grid-template-columns:1fr}.lesson-visual__item{min-height:0}}
.lesson-article__work form{display:grid;gap:22px;margin-top:24px}.lesson-article__work .field{display:grid;gap:8px}.lesson-article__work .field span{font-weight:700;font-size:14px}.lesson-article__work .field small{font-size:12px;line-height:1.6;color:var(--muted)}.lesson-article__work textarea{font:inherit;font-size:15px;line-height:1.6;resize:vertical;min-height:100px}.lesson-article__save{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.lesson-article__save [data-work-status]{font-size:12px;line-height:1.5;color:var(--muted);max-width:45ch}
.lesson-time-bars{display:grid;gap:22px}.lesson-time-bars__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 16px}.lesson-time-bars__row>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.lesson-time-bars__row strong{font-size:15px}.lesson-time-bars__row span{font-size:12px;color:var(--muted)}.lesson-time-bars__row meter{grid-column:1;display:block;width:100%;height:18px}.lesson-time-bars__row meter::-webkit-meter-bar{background:var(--panel-deep);border:1px solid var(--line);border-radius:20px}.lesson-time-bars__row meter::-webkit-meter-optimum-value{background:var(--course-violet);border-radius:20px}.lesson-time-bars__row meter::-moz-meter-bar{background:var(--course-violet);border-radius:20px}.lesson-time-bars__row b{font-size:12px;font-variant-numeric:tabular-nums;align-self:center}@media(max-width:600px){.lesson-time-bars__row>div{display:grid;gap:3px}}
.lesson-article__plan{border-top:1px solid var(--line);padding:38px 0}.lesson-article__plan h2{font-size:clamp(25px,3vw,32px);margin:0 0 18px}.lesson-article__plan dl{display:grid;gap:0;border-block:1px solid var(--line);margin:28px 0}.lesson-article__plan dl>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.lesson-article__plan dl>div:last-child{border-bottom:0}.lesson-article__plan dt{font-size:13px;font-weight:700}.lesson-article__plan dd{margin:0;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.lesson-article__plan .text-link{background:none;border:0;cursor:pointer;color:var(--accent);padding:0;font:inherit}.lesson-article__plan .field-hint{font-size:12px;color:var(--muted);margin-top:10px}@media(max-width:600px){.lesson-article__plan dl>div{grid-template-columns:1fr;gap:6px}}@media print{body:has(.lesson-article__plan) .site-header,body:has(.lesson-article__plan) .site-footer,body:has(.lesson-article__plan) .course-breadcrumb,body:has(.lesson-article__plan) .course-toolbar,body:has(.lesson-article__plan) .course-sidebar,body:has(.lesson-article__plan) .lesson-article>*:not(.lesson-article__plan),body:has(.lesson-article__plan) .lesson-article__plan button,body:has(.lesson-article__plan) .lesson-article__plan .field-hint{display:none!important}body:has(.lesson-article__plan){background:#fff;color:#111}.course-layout{display:block!important}.course-main,.lesson-article,.site-shell{max-width:none!important;padding:0!important}.lesson-article__plan{border:0;padding:0}.lesson-article__plan h2,.lesson-article__plan p,.lesson-article__plan dt,.lesson-article__plan dd{color:#111!important}}
.lesson-formula{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}.lesson-formula>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.lesson-formula dt{font-size:13px;color:var(--muted)}.lesson-formula dd{margin:0;font-size:clamp(15px,2vw,20px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.45;overflow-wrap:anywhere}@media(max-width:600px){.lesson-formula>div{grid-template-columns:1fr;gap:5px}}

/* channel-layout.css */
/* The site navigation changes shape, not destination, between desktop and phone. */
.site-rail,.mobile-dock,.header-account__short,.site-rail__account{display:none}
.header-account-menu{position:relative;min-width:0}
.header-account-menu summary{display:flex;align-items:center;max-width:220px;min-height:44px;cursor:pointer;list-style:none}
.header-account-menu summary::-webkit-details-marker{display:none}
.header-account-menu__panel{position:absolute;z-index:80;top:calc(100% + 10px);right:0;display:grid;min-width:210px;padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 16px 38px #0008}
.header-account-menu__panel a{padding:10px 12px;border-radius:8px;font-size:13px;white-space:nowrap}
.header-account-menu__panel a:hover,.header-account-menu__panel a:focus-visible{background:var(--soft);color:var(--ink)}

@media(min-width:1180px){
  .site-rail{position:fixed;z-index:8;inset:0 auto 0 0;display:flex;flex-direction:column;gap:5px;width:188px;padding:32px 14px 20px;border-right:1px solid var(--line);background:var(--bg);overflow-y:auto}
  .site-rail__brand{display:block;margin:2px 0 38px;font-size:33px;text-align:center;white-space:nowrap}
  .site-rail>a:not(.site-rail__brand){position:relative;isolation:isolate;display:flex;align-items:center;gap:13px;min-height:44px;padding:10px 13px;border-radius:11px;color:var(--muted);font-size:13px;font-weight:600;transition:color .2s ease}
  .site-rail>a:not(.site-rail__brand)::before{content:"";position:absolute;z-index:-1;inset:0;border-left:2px solid var(--ink);border-radius:11px;background:var(--soft);opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.2,1)}
  .site-rail>a:not(.site-rail__brand):hover,.site-rail>a[aria-current=page]{color:var(--ink)}
  .site-rail>a:not(.site-rail__brand):hover::before{opacity:.65;transform:none}
  .site-rail>a[aria-current=page]::before{opacity:1;transform:none;animation:rail-select .28s cubic-bezier(.2,.8,.2,1) both}
  .site-rail svg{width:19px;height:19px;flex:none}
  .site-rail__personal{display:grid;gap:4px;margin-top:24px;padding:22px 12px 0;border-top:1px solid var(--line)}
  .site-rail__personal>span{margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em}
  .site-rail__personal a{padding:9px 0;color:var(--muted);font-size:12px}
  .site-rail__personal a:hover,.site-rail__personal a[aria-current=page]{color:var(--ink)}
  .site-rail__account{display:block;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
  .site-rail__account .header-account{display:flex;width:100%;max-width:none;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;text-align:center;font-size:12px}
  .site-rail__account .header-account__full{display:none}
  .site-rail__account .header-account__short{display:inline}
  .site-rail__account .header-account-menu__panel{top:auto;right:0;bottom:calc(100% + 8px);left:0;min-width:0;max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}
  .site-rail__account .header-account-menu__panel a{min-height:44px;padding:10px 8px;white-space:normal;overflow-wrap:anywhere}
  .site-shell--channel-nav{max-width:none;margin-left:188px;padding-inline:clamp(24px,3vw,56px)}
  .site-shell--channel-nav .site-header{display:none}
}

/* Планшет и узкое окно (761–1179): шапка в одну строку, как на ПК. Личные разделы («Управление»,
   «Кабинет автора») здесь в меню аватарки — иначе ссылки переносились на вторую строку. */
@media(min-width:761px) and (max-width:1179px){
  .site-shell--channel-nav .site-header,.site-shell--channel-nav .site-header--signed{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;gap:16px}
  .site-shell--channel-nav .site-header .main-nav,.site-shell--channel-nav .site-header--signed .main-nav{grid-row:1;grid-column:2;justify-content:center;flex-wrap:nowrap;gap:4px;min-width:0}
  .site-shell--channel-nav .site-header .header-actions,.site-shell--channel-nav .site-header--signed .header-actions{grid-row:1;grid-column:3}
  .site-shell--channel-nav .main-nav a{white-space:nowrap}
}
@media(min-width:761px) and (max-width:1000px){
  .site-shell--channel-nav .main-nav a[href="/admin"],.site-shell--channel-nav .main-nav a[href="/author"]{display:none}
}

@media(max-width:760px){
  .site-shell--channel-nav{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .site-shell--channel-nav .site-header,.site-shell--channel-nav .site-header--signed{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:60px;padding-block:9px;gap:12px}
  .site-shell--channel-nav .main-nav{display:none}
  .site-shell--channel-nav .brand{font-size:clamp(23px,7vw,30px)}
  .site-shell--channel-nav .header-actions{grid-column:2;grid-row:1}
  .site-shell--channel-nav .header-account{min-height:40px;max-width:140px;padding:8px 12px;font-size:12px}
  .site-shell--channel-nav .header-account__full{display:none}
  .site-shell--channel-nav .header-account__short{display:inline}
  .mobile-dock{position:fixed;z-index:60;inset:auto 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:calc(61px + env(safe-area-inset-bottom));padding:4px max(10px,env(safe-area-inset-left)) calc(4px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));border-top:1px solid var(--line);background:rgba(21,21,24,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  .mobile-dock a{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:52px;border-radius:10px;color:var(--muted);font-size:11px;font-weight:600;line-height:1.15;transition:color .2s ease}
  .mobile-dock a::before{content:"";position:absolute;z-index:-1;inset:2px 14px;border-radius:12px;background:var(--soft);opacity:0;transform:translateY(6px) scale(.94);transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.2,1)}
  .mobile-dock a[aria-current=page]::before{opacity:1;transform:none;animation:dock-select .28s cubic-bezier(.2,.8,.2,1) both}
  .mobile-dock a[aria-current=page]{color:var(--ink)}
  .mobile-dock a[aria-current=page] svg{color:var(--ink)}
  .mobile-dock svg{width:22px;height:22px;flex:none}
  .site-shell--channel-nav .site-footer{margin-bottom:0}
}
@keyframes rail-select{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
@keyframes dock-select{from{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.site-rail a,.site-rail a::before,.mobile-dock a,.mobile-dock a::before{transition:none!important;animation:none!important}}

/* author-channel.css */
/* Channel-style author page. Keep the banner and identity in separate planes. */
.author-page{padding:0 0 64px}
.author-page .author-intro{display:block;max-width:none;padding:0}
.author-page .author-banner{left:auto;width:100%;height:clamp(180px,17vw,240px);min-height:0;max-height:none;aspect-ratio:auto;transform:none;border:0;border-radius:16px;background:#171719}
.author-page .author-banner::after{background:linear-gradient(to bottom,transparent 76%,#111315 100%)}
.author-page .author-profile{--author-avatar-size:100px;--author-profile-gap:22px;width:100%;margin:18px 0 0;grid-template-columns:var(--author-avatar-size) minmax(0,1fr)}
.author-page .author-intro--banner .author-profile{margin-top:18px}
.author-page .author-avatar{grid-column:1;grid-row:1;width:var(--author-avatar-size);border-radius:50%}
.author-page .author-profile__identity{grid-column:2;grid-row:1;min-width:0;align-self:center}
.author-page .author-profile__identity h1{margin:0 0 7px;font-size:clamp(30px,3vw,44px);line-height:1.1}
.author-page .author-profile__meta{justify-content:flex-start;align-items:center;gap:4px 22px}
.author-page .author-specialty{margin:0;font-size:14px}
.author-page .author-students{margin:0;font-size:13px}
.author-page .author-students summary{min-height:28px}
.author-page .author-profile__description{grid-column:2;grid-row:2;margin-top:8px}
.author-page .author-lead{max-width:72ch;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.author-tabs{display:flex;align-items:flex-end;gap:30px;min-height:60px;margin-top:12px;border-bottom:1px solid var(--line)}
.author-tabs a{position:relative;display:flex;align-items:center;min-height:48px;padding:0 2px;color:var(--muted);font-size:14px;font-weight:700}
.author-tabs a:hover,.author-tabs a:focus-visible{color:var(--ink)}
.author-page:not(.author-page--about-first):not(:has(#author-about:target)) .author-tabs a[href="#author-materials"],.author-page:has(#author-materials:target) .author-tabs a[href="#author-materials"],.author-page--about-first:not(:has(#author-materials:target)) .author-tabs a[href="#author-about"],.author-page:has(#author-about:target) .author-tabs a[href="#author-about"]{color:var(--ink)}
.author-page:not(.author-page--about-first):not(:has(#author-about:target)) .author-tabs a[href="#author-materials"]::after,.author-page:has(#author-materials:target) .author-tabs a[href="#author-materials"]::after,.author-page--about-first:not(:has(#author-materials:target)) .author-tabs a[href="#author-about"]::after,.author-page:has(#author-about:target) .author-tabs a[href="#author-about"]::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--ink)}
.author-panel{min-width:0;padding-top:22px;scroll-margin-top:18px}
.author-panel--about{display:none;max-width:900px}
.author-page:has(#author-about:target) .author-panel--materials{display:none}
.author-page:has(#author-about:target) .author-panel--about{display:block}
.author-page--about-first:not(:has(#author-materials:target)) .author-panel--materials{display:none}
.author-page--about-first:not(:has(#author-materials:target)) .author-panel--about{display:block}
.author-panel--about .author-bio{margin:0;color:var(--ink);font-size:15px;line-height:1.65}
.author-panel--about .author-method{width:100%;margin:0;padding:0;border:0}
.author-panel--about .author-method h2{margin:0 0 8px;font-size:18px;line-height:1.3;letter-spacing:-.025em}
.author-panel--about .author-method p{margin:0;padding:0;color:var(--muted);font-size:15px;line-height:1.65;white-space:pre-line}
.author-panel--about .author-contact{padding:0;margin:0;border:0}
.author-panel--about>.author-bio:not(:first-child),.author-panel--about>.author-method:not(:first-child),.author-panel--about>.author-contact:not(:first-child){margin-top:30px}
.author-panel--about .author-contact h2{font-size:25px;margin:8px 0}
.author-panel--materials .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.author-panel--materials .product-grid--few{grid-template-columns:repeat(3,minmax(0,1fr))}
.author-panel--materials .product-card{border:0;border-radius:0;background:transparent;box-shadow:none}
.author-panel--materials .product-card:hover{transform:none}
.author-panel--materials .product-card__art{width:100%;height:auto;aspect-ratio:16/9;margin:0;border-radius:11px}
.author-panel--materials .product-card__art .product-cover{object-fit:contain}
.author-panel--materials .product-card__bottom{min-height:0;gap:10px;padding:11px 1px 0}
.author-panel--materials .product-card h3{margin:0 0 4px;font-size:16px;line-height:1.35;letter-spacing:-.02em}
.author-panel--materials .product-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);font-size:12px;line-height:1.45}
.author-panel--materials .price-tag{min-height:0;padding:0;border:0;font-size:12px}
.author-panel--materials .card-action{display:none}
.author-panel--materials .product-card__meta{margin:7px 1px 0;padding:0;border:0;font-size:11px}
/* Studio crop targets must match the published banner's visible proportions. */
.author-media-preview:not(.author-media-preview--avatar),.author-crop-thumb{aspect-ratio:1200/240}
.author-media-preview:not(.author-media-preview--avatar)[data-mode=mobile],.author-crop-thumb[data-mode=mobile]{aspect-ratio:390/121}
@media(min-width:761px) and (max-width:1179px){.author-panel--materials .product-grid,.author-panel--materials .product-grid--few{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(min-width:761px){
  .author-page .author-profile{width:calc(100% - 26px);margin-left:26px;margin-right:0}
}
@media(min-width:1180px){
  .author-page .author-banner{margin-top:24px}
}
@media(max-width:760px){
  .author-page{padding-bottom:36px}
  .author-page .author-banner{left:50%;width:100cqw;height:clamp(116px,31vw,146px);transform:translateX(-50%);border-radius:0}
  .author-page .author-profile{--author-avatar-size:66px;--author-profile-gap:13px;grid-template-columns:66px minmax(0,1fr);margin:13px 0 0}
  .author-page .author-intro--banner .author-profile{margin-top:13px}
  .author-page .author-avatar,.author-page .author-profile__identity{grid-row:1}
  .author-page .author-profile__identity h1{margin:0 0 4px;font-size:clamp(22px,5.8vw,30px)}
  .author-page .author-profile__meta{display:flex;align-items:flex-start;flex-direction:column;gap:0}
  .author-page .author-specialty{font-size:12px;line-height:1.35}
  .author-page .author-profile__meta>.author-students{display:block;margin:1px 0 0;font-size:11px}
  .author-page .author-students summary{min-height:28px}
  .author-page .author-students>p{left:0;right:auto}
  .author-page .author-profile__description{grid-column:1/-1;grid-row:2;margin-top:12px}
  .author-page .author-lead{font-size:13px;line-height:1.5}
  .author-tabs{gap:26px;min-height:52px;margin-top:12px}
  .author-tabs a{min-height:46px;font-size:13px}
  .author-panel{padding-top:8px}
  .author-panel--materials .product-grid,.author-panel--materials .product-grid--few{display:grid;grid-template-columns:1fr;gap:0}
  .author-panel--materials .product-card{padding:13px 0;border-bottom:1px solid var(--line)}
  .author-panel--materials .product-card__main{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);align-items:start;gap:12px}
  .author-panel--materials .product-card__art{aspect-ratio:16/9;border-radius:9px}
  .author-panel--materials .product-card__art .practicum-cover__content,.author-panel--materials .product-card__art .cover-editorial{padding:7px}
  .author-panel--materials .product-card__art .practicum-cover__brand{font-size:10px}
  .author-panel--materials .product-card__art .practicum-cover__heading{max-width:94%;margin-top:6px;font-size:clamp(12px,4vw,15px);line-height:1.05}
  .author-panel--materials .product-card__art .cover-title{max-width:90%;font-size:clamp(12px,4vw,15px);line-height:1.08}
  .author-panel--materials .product-card__art .cover-kicker,.author-panel--materials .product-card__art .cover-bottom{font-size:7px}
  .author-panel--materials .product-card__bottom{padding:0;gap:5px}
  .author-panel--materials .product-card h3{font-size:14px;line-height:1.32}
  .author-panel--materials .product-card p{display:none}
  .author-panel--materials .price-tag{font-size:11px}
  .author-panel--materials .product-card__meta{justify-content:flex-start;margin:0 0 0 calc(42% + 12px);font-size:10px}
  .author-panel--about .author-contact{align-items:start;gap:16px}
  .author-panel--about .author-contact h2{font-size:21px}
  body:has(.author-page>.author-intro--banner:first-child):not(:has(.author-preview-bar)) .site-header--floating{top:10px;left:16px;right:16px}
}
@media(max-width:390px){
  .author-page .author-profile{--author-avatar-size:58px;grid-template-columns:58px minmax(0,1fr)}
  .author-page .author-profile__identity h1{font-size:21px}
  .author-panel--materials .product-card__main{grid-template-columns:minmax(0,40%) minmax(0,1fr)}
  .author-panel--materials .product-card__meta{margin-left:calc(40% + 12px)}
}

/* product-page.css */
/* Страница практикума / материала (src/product-detail.js). Всё в области .pd, чтобы не спорить со старыми правилами detail-*. */
.pd{--pd-card:#1c1c1e;--pd-card-hi:#222224;--pd-radius:22px;padding:clamp(18px,2.6vw,36px) 0 clamp(56px,7vw,96px)}
.pd-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 clamp(16px,2vw,24px);color:var(--muted);font-size:14px;font-weight:600;transition:color .2s}
.pd-back:hover{color:var(--ink)}

/* Первый экран */
.pd-hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(28px,4.4vw,72px);align-items:stretch}
/* На широком экране обложка занимает всю высоту правой колонки: верх и низ совпадают с заголовком и карточкой */
@media(min-width:981px){.pd-cover{aspect-ratio:auto;height:100%;min-height:420px}.pd-cover .practicum-cover__image,.pd-cover__img{object-position:74% 50%}}
.pd-cover{position:relative;container-type:inline-size;aspect-ratio:4/3;width:100%;overflow:hidden;border-radius:var(--pd-radius);background:#1b1a1e;border:1px solid #ffffff10;box-shadow:0 40px 90px -50px #000,0 0 0 1px #00000040}
.pd-cover--violet{background:#231f29}
.pd-cover .practicum-cover{padding:0}
.pd-cover__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pd-cover .practicum-cover__content{padding:clamp(20px,6.4cqw,48px)}
.pd-cover .practicum-cover__brand{font-size:clamp(16px,4.4cqw,30px)}
.pd-cover .practicum-cover__heading{max-width:94%;margin-top:clamp(18px,6.5cqw,52px);font-size:clamp(34px,9.6cqw,80px);line-height:.98;letter-spacing:-.05em}


.pd-intro{display:flex;flex-direction:column;align-items:flex-start;min-width:0;container-type:inline-size}
.pd-kind{display:inline-flex;align-items:center;gap:9px;color:var(--secondary);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pd-kind::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--action);box-shadow:0 0 12px #e77d3b99}
.pd-title{margin:16px 0 0;font-size:clamp(30px,9.6cqi,62px);font-weight:700;line-height:1.02;letter-spacing:-.048em;text-wrap:balance;overflow-wrap:normal}
.pd-lead{max-width:44ch;margin:20px 0 0;color:var(--muted);font-size:clamp(16px,1.35vw,18.5px);line-height:1.62;text-wrap:pretty}

/* Карточка покупки */
.pd .pd-buy{position:relative;isolation:isolate;display:block;width:100%;margin:clamp(30px,3.4vw,44px) 0 0;padding:clamp(26px,2.6vw,36px);border:1px solid #ffffff14;border-radius:var(--pd-radius);background:linear-gradient(180deg,#ffffff09,#ffffff03);overflow:hidden}
.pd .pd-buy::before{content:"";position:absolute;z-index:-1;inset:-40% -20% auto auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e77d3b26,transparent 62%);pointer-events:none}
.pd .pd-buy .detail-meta{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:0 0 clamp(26px,2.6vw,32px);padding-bottom:clamp(24px,2.4vw,30px);border-bottom:1px solid #ffffff12;color:var(--muted)}
.pd .pd-buy .detail-meta>strong{color:var(--ink);font-size:clamp(30px,2.8vw,38px);font-weight:800;line-height:1;letter-spacing:-.035em}
.pd .pd-buy .detail-meta .detail-price{line-height:1.1}
.pd-stats{display:flex;flex-wrap:wrap;gap:10px 22px}
.pd-stat{display:inline-flex;align-items:center;gap:9px;color:#d6d4cf;font-size:15px;font-weight:600;white-space:nowrap}
.pd-stat .pd-icon{width:18px;height:18px}
.pd-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pd-stat .pd-icon{color:var(--secondary)}
.pd .pd-buy .detail-action{display:block;justify-self:stretch;align-self:auto;margin:0;padding:0}
.pd .pd-buy .detail-action form{margin:0;width:100%}
.pd .pd-buy .detail-action .button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:60px;border-radius:16px;font-size:16px;font-weight:700}
.pd .pd-buy .detail-action .field-hint{max-width:none;margin:10px 0 0;text-align:left}
.pd .pd-buy .detail-purchase__details{justify-self:stretch;width:100%;margin-top:16px}
.pd .pd-buy .detail-meta{justify-self:stretch}

/* Кому подойдёт */
.pd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:clamp(40px,5vw,72px)}
.pd-fact{display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--pd-card)}
.pd-fact .pd-icon{width:22px;height:22px;color:var(--secondary)}
.pd-fact__label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.pd-fact p{margin:0;font-size:16px;line-height:1.55}

/* О практикуме */
.pd-about{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:16px clamp(28px,4vw,64px);margin-top:clamp(48px,6vw,88px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.pd-about h2{margin:0;font-size:clamp(26px,2.6vw,36px);line-height:1.1;letter-spacing:-.035em}
.pd-about p{max-width:62ch;margin:0;color:#cfcdc8;font-size:clamp(16px,1.3vw,18px);line-height:1.72;text-wrap:pretty}

/* Программа */
.pd-program{margin-top:clamp(48px,6vw,88px)}
.pd-program__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px 28px;margin-bottom:clamp(18px,2vw,26px)}
.pd-program__head h2{margin:12px 0 0;font-size:clamp(32px,3.6vw,48px);line-height:1;letter-spacing:-.04em}
.pd-program__head .detail-author-link{padding:12px 16px;gap:12px;border-radius:14px}
.pd-program__head .detail-author-link>span:nth-child(2){font-size:15px}
.pd-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.pd-lesson{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px 18px;padding:clamp(18px,2vw,24px);border:1px solid var(--line);border-radius:20px;background:var(--pd-card);transition:border-color .25s,background .25s,transform .25s}
.pd-lesson:hover{border-color:#a08cc066;background:var(--pd-card-hi);transform:translateY(-2px)}
.pd-lesson__num{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#a08cc01f;color:var(--course-violet,#bfa9d9);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.pd-lesson__copy{min-width:0;padding-top:2px}
.pd-lesson__copy strong{display:block;font-size:clamp(17px,1.45vw,19px);font-weight:700;line-height:1.3;letter-spacing:-.015em}
.pd-lesson__copy p{margin:7px 0 0;color:var(--muted);font-size:14.5px;line-height:1.55}
.pd-lesson__time{padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12.5px;font-weight:600;white-space:nowrap}
.pd-empty{color:var(--muted)}

@media(max-width:980px){
  .pd-hero{grid-template-columns:1fr;gap:26px}
  .pd-cover{aspect-ratio:16/10}
  .pd-lead{max-width:60ch}
  .pd-lessons{grid-template-columns:1fr}
  .pd-about{grid-template-columns:1fr}
}
@media(max-width:560px){
  .pd-cover{aspect-ratio:5/4;border-radius:18px}
  .pd-title{margin-top:12px;line-height:1.05}
  .pd-lead{margin-top:14px;font-size:16px}
  .pd .pd-buy{margin-top:26px;padding:24px 22px;border-radius:20px}
  .pd .pd-buy .detail-meta{gap:14px;margin-bottom:22px;padding-bottom:20px}
  .pd-program__head{align-items:flex-start;flex-direction:column}
  .pd-lesson{grid-template-columns:auto minmax(0,1fr);gap:12px 14px;border-radius:18px}
  .pd-lesson__num{width:38px;height:38px;border-radius:12px;font-size:14px}
  .pd-lesson__time{grid-column:2;justify-self:start}
}
@media(prefers-reduced-motion:reduce){.pd-lesson,.pd-back{transition:none}.pd-lesson:hover{transform:none}}

/* Обложка «ИИ-автоматизация»: крупная надпись внизу, чтобы не закрывать кристалл (и на странице, и в каталоге) */
.practicum-cover--idea{container-type:inline-size}
.practicum-cover--idea .practicum-cover__content{background:linear-gradient(0deg,#121214f2 0%,#121214b3 30%,transparent 62%),linear-gradient(180deg,#12121499,transparent 26%)}
.practicum-cover--idea .practicum-cover__heading,.product-card__art .practicum-cover--idea .practicum-cover__heading,.pd-cover .practicum-cover--idea .practicum-cover__heading{margin:auto 0 0;max-width:96%;font-size:clamp(14px,11.2cqw,88px);line-height:.94;letter-spacing:-.055em}
.pd-nowrap{white-space:nowrap}

/* Доверие: пробный урок, гарантия возврата, честные пункты под фактами */
.pd .pd-buy .detail-action{display:flex;flex-wrap:wrap;gap:10px}
.pd .pd-buy .detail-action .pd-trial{min-height:52px;font-weight:600}
.pd .pd-guarantee{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;color:#a9a6a0;font-size:13.5px;line-height:1.45}
.pd .pd-guarantee .pd-icon{flex:0 0 18px;width:18px;height:18px;margin-top:1px;fill:none;stroke:#8fe0a0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pd .pd-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:clamp(26px,3vw,40px) 0 0}
.pd .pd-trust__item{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid #ffffff12;border-radius:16px;background:#ffffff05}
.pd .pd-trust__item .pd-icon{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:#8fe0a0;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pd .pd-trust__item strong{display:block;color:var(--ink);font-size:14.5px;font-weight:650}
.pd .pd-trust__item small{display:block;margin-top:3px;color:#a9a6a0;font-size:13px;line-height:1.45}
.pd .pd-trust__item a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:560px){.pd .pd-buy .detail-action .button{flex:1 1 100%;justify-content:center}}

/* checkout.css */
/* Окно покупки (#checkout-dialog). Загружается после legal.css и переопределяет его. */
.checkout-dialog{width:min(480px,calc(100% - 24px));padding:0;border:1px solid #ffffff17;border-radius:26px;background:linear-gradient(180deg,#232325 0%,#1a1a1c 46%);color:var(--ink);box-shadow:0 40px 120px -30px #000,0 0 0 1px #00000060;overflow:auto;overscroll-behavior:contain}
.checkout-dialog::backdrop{background:#0b0b0cd9;backdrop-filter:blur(10px)}
.checkout-dialog[open]{animation:ck-in .32s cubic-bezier(.2,.8,.2,1)}
@keyframes ck-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.checkout-dialog::before{content:"";position:absolute;inset:0 0 auto;height:180px;background:radial-gradient(80% 120% at 85% -20%,#e77d3b2e,transparent 60%),radial-gradient(60% 100% at 0% -10%,#a08cc024,transparent 60%);pointer-events:none}
.checkout-dialog>*{position:relative}

.checkout-dialog .checkout-dialog__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 22px 0 28px}
.checkout-dialog .checkout-dialog__top .micro-label{display:inline-flex;align-items:center;gap:9px;margin:0;color:var(--secondary);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.checkout-dialog .checkout-dialog__top .micro-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--action);box-shadow:0 0 12px #e77d3b99}
.checkout-dialog .dialog-close{display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:1px solid #ffffff14;border-radius:50%;background:#ffffff0a;color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.checkout-dialog .dialog-close:hover{background:#ffffff17;color:var(--ink)}
.checkout-dialog .dialog-close:focus-visible{outline:2px solid var(--secondary);outline-offset:2px;border-radius:50%}
.checkout-dialog .dialog-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.checkout-dialog h2{margin:18px 28px 0;font-size:clamp(26px,5.6vw,32px);line-height:1.1;letter-spacing:-.04em;text-wrap:balance}
.checkout-dialog h2:focus{outline:none}

.checkout-dialog .checkout-summary--compact{margin:0;padding:22px 28px 26px;border:0;border-radius:0;background:transparent}
.checkout-dialog .checkout-summary--compact dl{margin:0 0 22px}
.checkout-dialog .checkout-summary--compact .checkout-total{margin:0;padding-top:0;border-top:0}
.ck-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.checkout-dialog .ck-perks{display:grid;gap:12px;margin:0 0 22px;padding:0;list-style:none}
.checkout-dialog .ck-perks li{display:flex;align-items:center;gap:12px;color:#d9d7d2;font-size:15px;line-height:1.4}
.checkout-dialog .ck-perks .ck-icon{width:34px;height:34px;padding:8px;border-radius:11px;background:#a08cc01c;color:var(--course-violet,#bfa9d9)}

.checkout-dialog .ck-bill{display:grid;gap:10px;margin:0 0 22px;padding:18px 20px;border:1px solid #ffffff12;border-radius:18px;background:#ffffff06}
.checkout-dialog .ck-bill>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0}
.checkout-dialog .ck-bill>div[hidden]{display:none}
.checkout-dialog .ck-bill dt{color:var(--muted);font-size:14px}
.checkout-dialog .ck-bill dd{margin:0;font-size:15px;font-weight:600}
.checkout-dialog .ck-bill .checkout-discount dd{color:#7fd39a}
.checkout-dialog .ck-bill .checkout-total{padding:0;margin:0;border:0}
.checkout-dialog .ck-bill .checkout-total dt{color:var(--ink);font-size:15px;font-weight:600}
.checkout-dialog .ck-bill .checkout-total dd{font-size:clamp(28px,6vw,34px);font-weight:800;letter-spacing:-.035em;line-height:1}
.checkout-dialog .ck-bill .checkout-base+.checkout-discount:not([hidden])~.checkout-total{padding-top:12px;border-top:1px solid #ffffff12}

.checkout-dialog .checkout-summary--compact .checkout-form{display:grid;gap:14px}
.checkout-dialog .checkout-summary--compact .checkout-email{display:grid;gap:8px;margin:0}
.checkout-dialog .checkout-summary--compact .checkout-email>span,.checkout-dialog .checkout-summary--compact .checkout-promo .field>span{color:var(--muted);font-size:13px;font-weight:600}
.checkout-dialog .checkout-summary--compact input[type=email],.checkout-dialog .checkout-summary--compact input[name=promo_code]{width:100%;min-height:52px;padding:0 16px;border:1px solid #ffffff1a;border-radius:14px;background:#111113;color:var(--ink);font:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}
.checkout-dialog .checkout-summary--compact input:focus{outline:none;border-color:#a08cc0;box-shadow:0 0 0 4px #a08cc026}
.checkout-dialog .checkout-summary--compact input[aria-invalid=true]{border-color:#e5484d}
.checkout-dialog .checkout-summary--compact .checkout-promo{margin:0;padding:0;border:0}
.checkout-dialog .checkout-summary--compact .checkout-promo summary{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:4px 0;color:var(--course-violet,#bfa9d9);font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.checkout-dialog .checkout-summary--compact .checkout-promo summary::-webkit-details-marker{display:none}
.checkout-dialog .checkout-summary--compact .checkout-promo summary::before{content:"+";display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#a08cc01f;font-size:15px;line-height:1}
.checkout-dialog .checkout-summary--compact .checkout-promo[open] summary::before{content:"−"}
.checkout-dialog .checkout-summary--compact .checkout-promo .field{display:grid;gap:8px;margin:10px 0 0}
.checkout-dialog .checkout-summary--compact .checkout-field-error{margin:-6px 0 0;color:#ff8a8a;font-size:13px}

.checkout-dialog .checkout-summary--compact .checkout-agree{display:flex;align-items:flex-start;gap:12px;margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.checkout-dialog .checkout-summary--compact .checkout-agree input{appearance:none;flex:none;display:grid;place-items:center;width:22px;height:22px;margin:0;border:1.5px solid #ffffff38;border-radius:7px;background:#111113;cursor:pointer;transition:background .15s,border-color .15s}
.checkout-dialog .checkout-summary--compact .checkout-agree input::after{content:"";width:10px;height:6px;border:2px solid #1a1310;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.checkout-dialog .checkout-summary--compact .checkout-agree input:checked{background:var(--action);border-color:var(--action)}
.checkout-dialog .checkout-summary--compact .checkout-agree input:checked::after{opacity:1}
.checkout-dialog .checkout-summary--compact .checkout-agree input:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}
.checkout-dialog .checkout-summary--compact .checkout-agree.is-invalid input{border-color:#e5484d}
.checkout-dialog .checkout-summary--compact .checkout-agree a{color:var(--ink);text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px}
.checkout-dialog .checkout-summary--compact .checkout-agree-error{margin:-6px 0 0 34px;color:#ff8a8a;font-size:13px}

.checkout-dialog .checkout-summary--compact .checkout-form .button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;margin-top:6px;border:0;border-radius:16px;background:linear-gradient(180deg,#f0904f,#e2702c);color:#1b120c;font-size:16.5px;font-weight:800;box-shadow:0 12px 30px -12px #e77d3bcc,inset 0 1px 0 #ffffff40;transition:transform .15s,box-shadow .2s,filter .2s}
.checkout-dialog .checkout-summary--compact .checkout-form .button::before,.checkout-dialog .checkout-summary--compact .checkout-form .button::after{display:none}
.checkout-dialog .checkout-summary--compact .checkout-form .button:hover{filter:brightness(1.06);box-shadow:0 16px 36px -12px #e77d3bee,inset 0 1px 0 #ffffff40}
.checkout-dialog .checkout-summary--compact .checkout-form .button:active{transform:translateY(1px)}
.checkout-dialog .checkout-summary--compact .checkout-form .button [data-checkout-button-total]{padding-left:10px;border-left:1px solid #1b120c33}

.checkout-dialog .ck-secure{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0;color:var(--muted);font-size:12.5px;text-align:center}
.checkout-dialog .ck-secure .ck-icon{width:15px;height:15px;color:#7fd39a}
.checkout-dialog .checkout-summary--compact .checkout-seller{margin:8px 0 0;color:var(--muted);font-size:12.5px;text-align:center}
.checkout-dialog .checkout-summary--compact .checkout-seller a{color:var(--ink)}

@media(max-width:560px){
  .checkout-dialog{width:100%;max-width:none;max-height:calc(100dvh - 12px);margin:auto 0 0;border-radius:24px 24px 0 0;border-bottom:0}
  .checkout-dialog[open]{animation-name:ck-sheet}
  .checkout-dialog .checkout-dialog__top{padding:18px 16px 0 22px}
  .checkout-dialog h2{margin:14px 22px 0}
  .checkout-dialog .checkout-summary--compact{padding:20px 22px calc(22px + env(safe-area-inset-bottom))}
}
@keyframes ck-sheet{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.checkout-dialog[open]{animation:none}}
.checkout-dialog .checkout-summary--compact dl.ck-bill>div{margin:0;line-height:1.3}


/* Подарок «за друга» на оплате */
.checkout-gift{display:flex;align-items:center;gap:var(--sp-3,12px);margin:0 0 var(--sp-3,12px);padding:var(--sp-3,12px) var(--sp-4,16px);border:1px solid #7ed39b55;border-radius:14px;background:#7ed39b12}
.checkout-gift__text{flex:1;display:grid;gap:2px;min-width:0}
.checkout-gift__text strong{font-size:15px}
.checkout-gift__text small{color:var(--b-muted,#a09d98);font-size:13px;line-height:1.4}
.checkout-gift .button{flex:none;min-height:40px}
@media(max-width:420px){.checkout-gift{flex-direction:column;align-items:stretch}.checkout-gift .button{width:100%}}

/* covers.css */
/* Обложки практикумов в стиле Liquid Glass. Размеры — в долях контейнера, поэтому одна и та же
   обложка работает в карточке, плитке канала, квадрате страницы практикума и мини-превью. */
.gc{--c1:#ff7a2f;--c2:#ffb36b;--deep:#3a1508;position:relative;display:block;width:100%;height:100%;overflow:hidden;isolation:isolate;container-type:size;background:radial-gradient(120% 90% at 80% 110%,var(--deep),transparent 60%),#0e0e11;color:#fff;font-family:Manrope,system-ui,sans-serif}
.gc--violet{--c1:#8f6bff;--c2:#ff8fb4;--deep:#1d1440}
.gc--blue{--c1:#3d8bff;--c2:#8fd8ff;--deep:#0a1c3d}
.gc--mint{--c1:#3fbfa6;--c2:#a8e6cf;--deep:#0b2a26}
.gc--green{--c1:#2fc48a;--c2:#b6f06b;--deep:#0b2a20}
.gc__light{position:absolute;border-radius:50%;filter:blur(5cqw);pointer-events:none}
.gc__light--a{width:34cqw;aspect-ratio:1;right:20cqw;top:18cqh;background:var(--c1);opacity:.95}
.gc__light--b{width:22cqw;aspect-ratio:1;right:10cqw;top:6cqh;background:var(--c2);opacity:.8}
.gc__glass{position:absolute;right:14cqw;top:47%;display:grid;place-items:center;width:28cqw;aspect-ratio:1;transform:translateY(-50%);border:.12cqw solid #ffffff3a;border-radius:28%;background:linear-gradient(145deg,#ffffff38,#ffffff0a 45%,#ffffff14);-webkit-backdrop-filter:blur(2.2cqw) saturate(170%);backdrop-filter:blur(2.2cqw) saturate(170%);box-shadow:inset 0 .25cqw .2cqw #ffffffb0,inset 0 -.3cqw .6cqw #ffffff26,inset .3cqw 0 .8cqw #ffffff1a,inset 0 0 3cqw #ffffff12,0 4cqw 8cqw -2cqw #000a}
.gc__glass::after{content:"";position:absolute;inset:4% 8% auto;height:38%;border-radius:40% 40% 50% 50%/60% 60% 40% 40%;background:linear-gradient(180deg,#ffffff40,#ffffff00);opacity:.55}
.gc__glass svg{width:42%;height:42%;color:#fff;filter:drop-shadow(0 .4cqw .8cqw #0005)}
.gc__glass--back{right:6.5cqw;top:30%;width:20cqw;border-radius:30%;opacity:.9;transform:translateY(-50%) rotate(8deg)}
.gc__brand{position:absolute;z-index:2;left:7cqw;top:7cqw;color:#ffffffde;font-size:3.4cqw;font-weight:800;letter-spacing:-.06em;line-height:1}
.gc__brand b{color:#e77d3b}
.gc__title{position:absolute;z-index:2;left:7cqw;right:42cqw;bottom:7cqw;margin:0;color:#fff;font-size:5.9cqw;font-weight:700;line-height:1.02;letter-spacing:-.05em;text-wrap:balance;overflow-wrap:normal;word-break:keep-all}
/* Квадрат и вертикаль: плитка сверху, название внизу на всю ширину */
@container (max-aspect-ratio: 5/4){
  .gc__light--a{width:46cqw;top:14cqh;right:18cqw}
  .gc__glass{width:40cqw;right:16cqw;top:40%}
  .gc__glass--back{width:26cqw;right:6cqw;top:22%}
  .gc__title{right:7cqw;font-size:9.6cqw}
  .gc__brand{font-size:4.6cqw}
}
/* Мини-превью: только стеклянная иконка */
@container (max-width: 220px){
  .gc__brand,.gc__title,.gc__glass--back{display:none}
  .gc__glass{right:auto;left:50%;top:50%;width:46cqw;transform:translate(-50%,-50%)}
  .gc__light--a{right:26cqw;top:10cqh}
}
@media(prefers-reduced-transparency:reduce){.gc__glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffff26}}

/* brand.css */
/* danprod brand layer — загружается последним. Токены + главная (hm-*) + общая полировка. */
:root{
  --b-bg:#151517;--b-surface:#1c1c1f;--b-surface-2:#222226;--b-line:#ffffff12;--b-line-2:#ffffff1f;
  --b-ink:#f2efe9;--b-muted:#a6a4a0;--b-dim:#77757a;
  --b-orange:#e77d3b;--b-orange-2:#f39a5c;--b-violet:#b9a3dc;--b-violet-bg:#a08cc01c;
  --b-r-lg:28px;--b-r-md:20px;--b-r-sm:14px;
  --b-ease:cubic-bezier(.2,.8,.2,1);
  --b-section:clamp(72px,9vw,128px);
}
html{background:var(--b-bg)}
body{background:var(--b-bg)}
.home-page main{overflow-x:clip}
::selection{background:#e77d3b55;color:#fff}

/* ——— Кнопки ——— */
.button--primary{background:linear-gradient(180deg,var(--b-orange-2),var(--b-orange));border:0;color:#1b120c;font-weight:800;border-radius:16px;box-shadow:0 14px 34px -14px #e77d3bcc,inset 0 1px 0 #ffffff45}
.button--primary::before,.button--primary::after{display:none}
.button--primary:hover{background:linear-gradient(180deg,#f7a86e,#ec8645);color:#1b120c;border:0;transform:translateY(-2px);box-shadow:0 18px 40px -14px #e77d3bee,inset 0 1px 0 #ffffff45}
.button--primary:disabled{background:#3a3a3e;color:#9a9893;box-shadow:none}
.hm-cta.button--primary,.hm-final .button--primary{font-size:15px;min-height:56px;padding:0 26px;gap:14px}
.hm-cta .arrow-icon{width:15px;height:15px}
.hm-ghost{display:inline-flex;align-items:center;min-height:56px;padding:0 22px;border:1px solid var(--b-line-2);border-radius:16px;color:var(--b-ink);font-size:15px;font-weight:700;transition:background .2s,border-color .2s}
.hm-ghost:hover{background:#ffffff0a;border-color:#ffffff33}
.hm-link{display:inline-flex;align-items:center;gap:10px;color:var(--b-ink);font-size:15px;font-weight:700;white-space:nowrap;padding:10px 0;border-bottom:1px solid #ffffff2e;transition:border-color .2s,color .2s}
.hm-link:hover{border-color:var(--b-orange);color:#fff}
.hm-link .arrow-icon{width:14px;height:14px}

/* ——— Общие заголовки секций ——— */
.hm-section{padding:var(--b-section) 0 0}
.hm-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--b-violet);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hm-kicker::before{content:"";width:18px;height:1.5px;background:currentColor;opacity:.7}
.hm-head{max-width:760px;margin-bottom:clamp(32px,4vw,52px)}
.hm-head h2,.hm-inside h2,.hm-final h2{margin:0;font-size:clamp(34px,4.6vw,64px);line-height:1.02;letter-spacing:-.05em;font-weight:700;text-wrap:balance}
.hm-head p{margin:20px 0 0;max-width:56ch;color:var(--b-muted);font-size:clamp(16px,1.3vw,18px);line-height:1.7}
.hm-head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:none}

/* ——— Hero ——— */
.hm-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(24px,4vw,64px);min-height:min(760px,calc(100svh - 40px));padding:clamp(40px,6vw,88px) 0 clamp(48px,6vw,80px)}
.hm-hero__bg{position:absolute;z-index:-1;inset:-120px calc(-1 * clamp(24px,3vw,56px)) 0;pointer-events:none;background:radial-gradient(42% 52% at 78% 42%,#e77d3b26,transparent 70%),radial-gradient(38% 48% at 92% 70%,#a08cc024,transparent 70%),linear-gradient(#ffffff07 1px,transparent 1px) 0 0/64px 64px,linear-gradient(90deg,#ffffff07 1px,transparent 1px) 0 0/64px 64px;-webkit-mask:radial-gradient(70% 80% at 60% 40%,#000 30%,transparent 80%);mask:radial-gradient(70% 80% at 60% 40%,#000 30%,transparent 80%)}
.hm-hero__copy{min-width:0;position:relative;z-index:2}
.hm-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;border:1px solid var(--b-line-2);border-radius:999px;background:#ffffff08;color:var(--b-muted);font-size:11.5px;font-weight:800;letter-spacing:.14em}
.hm-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--b-orange);box-shadow:0 0 12px #e77d3baa}
.hm-hero h1{margin:28px 0 26px;font-size:clamp(60px,8.4vw,132px);line-height:.92;letter-spacing:-.07em;font-weight:700}
.hm-hero h1 .hero-title-line{display:block}
.hm-accent{background:linear-gradient(100deg,#f2efe9 10%,#d9c8f0 60%,#b9a3dc);-webkit-background-clip:text;background-clip:text;color:transparent}
.hm-accent b{color:var(--b-orange);-webkit-text-fill-color:var(--b-orange);font-weight:inherit}
.hm-lead{max-width:30em;margin:0;color:var(--b-muted);font-size:clamp(16px,1.35vw,19px);line-height:1.7}
.hm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hm-stats{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:32px 0 0;color:var(--b-muted);font-size:14px}
.hm-stats b{color:var(--b-ink);font-size:20px;font-weight:800;letter-spacing:-.03em;margin-right:4px}
.hm-stats i{color:var(--b-dim);font-style:normal}

.hm-stack{position:relative;min-width:0;aspect-ratio:1/1;max-height:600px;width:100%;justify-self:end}
.hm-stack__glow{position:absolute;inset:16% 10%;border-radius:50%;background:radial-gradient(closest-side,#e77d3b40,transparent);filter:blur(30px)}
.hm-stack__card{position:absolute;left:50%;top:50%;width:min(80%,520px);aspect-ratio:16/10;border-radius:22px;overflow:hidden;background:var(--b-surface);border:1px solid #ffffff1a;box-shadow:0 40px 80px -30px #000,0 0 0 1px #00000040;transition:transform .7s var(--b-ease)}
.hm-stack__card>*{width:100%;height:100%}
.hm-stack__card .product-cover{object-fit:cover;display:block}
.hm-stack__card--1{z-index:3;transform:translate(-50%,-50%) translate(-4%,10%) rotate(-4deg)}
.hm-stack__card--2{z-index:2;transform:translate(-50%,-50%) translate(8%,-16%) rotate(6deg)}
.hm-stack__card--3{z-index:1;transform:translate(-50%,-50%) translate(-14%,-34%) rotate(-12deg) scale(.86);opacity:.7}
.hm-stack--1 .hm-stack__card--1{transform:translate(-50%,-50%) rotate(-4deg)}
.hm-stack:hover .hm-stack__card--1{transform:translate(-50%,-50%) translate(-8%,16%) rotate(-6deg)}
.hm-stack:hover .hm-stack__card--2{transform:translate(-50%,-50%) translate(12%,-20%) rotate(9deg)}
.hm-stack .practicum-cover{padding:0}


/* ——— Бегущая строка ——— */
.hm-marquee{position:relative;margin:0 calc(-1 * clamp(20px,3vw,56px));padding:20px 0;border-block:1px solid var(--b-line);overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hm-marquee__track{display:flex;align-items:center;gap:28px;width:max-content;animation:hm-marquee 38s linear infinite}
.hm-marquee span{color:var(--b-ink);font-size:clamp(16px,1.6vw,22px);font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.hm-marquee i{color:var(--b-orange);font-style:normal;font-weight:700;font-size:clamp(16px,1.6vw,22px)}
@keyframes hm-marquee{to{transform:translateX(-50%)}}

/* ——— Каталог ——— */
.hm-grid{display:grid;gap:clamp(16px,2vw,28px)}
.hm-grid--1{grid-template-columns:minmax(0,640px)}
.hm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
:is(.hm-grid,.catalog-section .product-grid) .product-card{border:1px solid var(--b-line);border-radius:var(--b-r-lg);background:linear-gradient(180deg,var(--b-surface) 0%,#18181a 100%);padding:10px;transition:transform .35s var(--b-ease),border-color .3s,box-shadow .35s}
:is(.hm-grid,.catalog-section .product-grid) .product-card:hover{transform:translateY(-6px);border-color:#ffffff26;box-shadow:0 30px 60px -30px #000c}
:is(.hm-grid,.catalog-section .product-grid) .product-card__art{border-radius:20px;aspect-ratio:16/10;overflow:hidden}
:is(.hm-grid,.catalog-section .product-grid) .product-card__art img,:is(.hm-grid,.catalog-section .product-grid) .product-card__art .practicum-cover__image{transition:transform .8s var(--b-ease)}
:is(.hm-grid,.catalog-section .product-grid) .product-card:hover .product-card__art img{transform:scale(1.04)}
:is(.hm-grid,.catalog-section .product-grid) .product-card__bottom{padding:22px 14px 8px;gap:22px}
:is(.hm-grid,.catalog-section .product-grid) .product-card h3{font-size:clamp(22px,2vw,28px);line-height:1.15;letter-spacing:-.035em;font-weight:700;margin:0 0 10px}
:is(.hm-grid,.catalog-section .product-grid) .product-card p{color:var(--b-muted);font-size:15px;line-height:1.6}
:is(.hm-grid,.catalog-section .product-grid) .price-tag{padding-top:18px;border-top:1px solid var(--b-line)}
:is(.hm-grid,.catalog-section .product-grid) .card-price{color:var(--b-ink);font-size:15px;font-weight:700}
:is(.hm-grid,.catalog-section .product-grid) .card-action{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#ffffff0d;font-size:13px;transition:background .2s,color .2s}
:is(.hm-grid,.catalog-section .product-grid) .product-card:hover .card-action{background:var(--b-orange);color:#1b120c}
.hm-grid .product-card__meta,.catalog-section .product-card__meta{gap:10px;color:var(--b-dim);font-size:13px}
:is(.hm-grid,.catalog-section .product-grid) .product-card__author{color:var(--b-muted)}
:is(.hm-grid,.catalog-section .product-grid) .product-card__author:hover{color:var(--b-ink)}
.hm-grid--3 .product-card h3{font-size:clamp(20px,1.7vw,24px)}

/* ——— Бенто ——— */
.hm-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,18px)}
.hm-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:220px;padding:clamp(22px,2.2vw,30px);border:1px solid var(--b-line);border-radius:var(--b-r-md);background:var(--b-surface);transition:border-color .3s,transform .35s var(--b-ease)}
.hm-tile:hover{border-color:#ffffff24;transform:translateY(-3px)}
.hm-tile--wide{grid-column:span 2;background:radial-gradient(90% 120% at 100% 0%,#a08cc01f,transparent 60%),var(--b-surface)}
.hm-tile:nth-child(4){background:radial-gradient(90% 120% at 100% 0%,#e77d3b1c,transparent 60%),var(--b-surface)}
.hm-icon{width:44px;height:44px;padding:11px;border-radius:13px;background:var(--b-violet-bg);color:var(--b-violet);flex:none}
.hm-tile h3{margin:auto 0 8px;padding-top:28px;font-size:clamp(19px,1.6vw,23px);line-height:1.2;letter-spacing:-.03em;font-weight:700}
.hm-tile p{margin:0;color:var(--b-muted);font-size:15px;line-height:1.6;max-width:44ch}

/* ——— Внутри урока ——— */
.hm-inside{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(40px,7vw,120px)}
.hm-inside__copy>p{margin:22px 0 0;max-width:46ch;color:var(--b-muted);font-size:clamp(16px,1.3vw,18px);line-height:1.7}
.hm-steps{display:grid;gap:0;margin:32px 0 36px;padding:0;list-style:none;max-width:440px}
.hm-steps li{display:flex;align-items:center;gap:16px;padding:15px 0;border-top:1px solid var(--b-line);font-size:16px;font-weight:600}
.hm-steps li:last-child{border-bottom:1px solid var(--b-line)}
.hm-steps b{color:var(--b-orange);font-size:12px;font-weight:800;letter-spacing:.08em;min-width:22px}
.hm-inside .button--secondary{border-radius:16px;min-height:54px;gap:12px;border:1px solid var(--b-line-2);background:transparent}
.hm-phone{position:relative;width:340px;padding:12px;border-radius:52px;background:linear-gradient(160deg,#3a3a3f,#1d1d20 40%,#2a2a2e);box-shadow:0 60px 100px -40px #000,inset 0 0 0 1px #ffffff1a}
.hm-phone::before{content:"";position:absolute;z-index:-1;inset:10% -30%;background:radial-gradient(closest-side,#a08cc030,transparent);filter:blur(20px)}
.hm-phone__screen{position:relative;display:flex;flex-direction:column;height:660px;border-radius:42px;overflow:hidden;background:radial-gradient(120% 60% at 100% 0%,#e77d3b22,transparent 60%),#121214;padding:20px 22px 24px}
.hm-phone__bar{display:grid;gap:12px;padding-top:24px}
.hm-phone__segs{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.hm-phone__segs i{height:3px;border-radius:2px;background:#ffffff1f}
.hm-phone__segs i:first-child{background:var(--b-orange)}
.hm-phone__brand{font-size:17px;font-weight:800;letter-spacing:-.06em}
.hm-phone__brand b{color:var(--b-orange)}
.hm-phone__body{display:flex;flex-direction:column;flex:1;margin-top:26px;min-height:0}
.hm-phone__chips{display:flex;gap:6px}
.hm-phone__chips em{padding:5px 10px;border-radius:999px;background:#ffffff0f;color:var(--b-muted);font-size:11px;font-style:normal;font-weight:700}
.hm-phone__title{display:block;margin:18px 0 12px;font-size:30px;line-height:1.02;letter-spacing:-.05em;font-weight:800}
.hm-phone__title b{color:var(--b-orange)}
.hm-phone__body>p{margin:0;color:var(--b-muted);font-size:13.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.hm-phone__label{margin:auto 0 10px;color:var(--b-violet);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.hm-phone ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.hm-phone li{display:flex;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff08;border:1px solid #ffffff0d;font-size:12.5px;line-height:1.35}
.hm-phone li b{color:var(--b-orange);font-size:11px}
.hm-phone__next{position:absolute;left:50%;bottom:16px;display:grid;place-items:center;width:40px;height:40px;margin-left:-20px;border-radius:50%;background:var(--b-orange);color:#1b120c;animation:hm-bob 2.4s ease-in-out infinite}
.hm-phone__next svg{width:20px;height:20px}
.hm-phone ul{margin-bottom:46px}
@keyframes hm-bob{50%{transform:translateY(4px)}}

/* ——— Авторы ——— */
.hm-authors__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(12px,1.4vw,18px)}
.hm-author{position:relative;display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--b-line);border-radius:var(--b-r-md);background:var(--b-surface);color:var(--b-ink);transition:border-color .3s,transform .35s var(--b-ease)}
.hm-author:hover{border-color:#ffffff26;transform:translateY(-3px)}
.hm-author__avatar{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#a08cc055,#e77d3b44);font-size:20px;font-weight:800}
.hm-author__avatar img{width:100%;height:100%;object-fit:cover}
.hm-author__body{display:grid;gap:3px;min-width:0}
.hm-author__body strong{font-size:17px;font-weight:700;letter-spacing:-.02em}
.hm-author__body span{color:var(--b-muted);font-size:14px;line-height:1.45}
.hm-author__body em{color:var(--b-dim);font-size:13px;font-style:normal}
.hm-author__go{margin-left:auto;display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:#ffffff0b;transition:background .2s,color .2s}
.hm-author:hover .hm-author__go{background:var(--b-orange);color:#1b120c}
.hm-author__go .arrow-icon{width:14px;height:14px}
.hm-author--invite{border-style:dashed;border-color:#ffffff26;background:transparent}
.hm-author--invite .hm-author__avatar{background:#ffffff0a;color:var(--b-orange)}
.hm-author--invite .hm-icon{background:none;padding:18px;width:64px;height:64px;color:var(--b-orange)}

/* ——— Финальный призыв ——— */
.hm-final{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:var(--b-section);padding:clamp(36px,5vw,72px);border:1px solid var(--b-line);border-radius:var(--b-r-lg);background:radial-gradient(60% 140% at 100% 100%,#e77d3b3a,transparent 60%),radial-gradient(50% 120% at 0% 0%,#a08cc026,transparent 60%),var(--b-surface)}
.hm-final h2{font-size:clamp(30px,3.8vw,52px)}
.hm-final h2 span{color:var(--b-muted)}
.hm-final .button{flex:none}

/* ——— Подвал ——— */
.site-footer{position:relative;overflow:hidden;margin-top:clamp(64px,8vw,112px);padding-top:28px;border-top:1px solid var(--b-line)}

/* ——— Появление ——— */
.has-reveal [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--b-ease),transform .7s var(--b-ease)}
.has-reveal [data-reveal].is-in{opacity:1;transform:none}
.hm-bento [data-reveal]:nth-child(2),.hm-authors__grid [data-reveal]:nth-child(2){transition-delay:.06s}
.hm-bento [data-reveal]:nth-child(3),.hm-authors__grid [data-reveal]:nth-child(3){transition-delay:.12s}
.hm-bento [data-reveal]:nth-child(4){transition-delay:.04s}
.hm-bento [data-reveal]:nth-child(5){transition-delay:.1s}
.hm-bento [data-reveal]:nth-child(6){transition-delay:.16s}

/* ——— Адаптив ——— */
@media(max-width:1180px){
  .hm-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm-tile--wide{grid-column:span 2}
}
@media(max-width:900px){
  .hm-hero{grid-template-columns:1fr;min-height:0;gap:8px;padding-top:36px}
  .hm-stack{aspect-ratio:16/12;max-height:none;justify-self:center;max-width:620px}
  .hm-inside{grid-template-columns:1fr;justify-items:center}
  .hm-inside__copy{justify-self:stretch}
  .hm-final{flex-direction:column;align-items:flex-start}
}
@media(max-width:760px){
  .hm-hero{padding:24px 0 36px}
  .hm-hero h1{font-size:clamp(54px,16.5vw,84px);margin:22px 0 18px}
  .hm-actions{margin-top:28px}
  .hm-actions>*{flex:1 1 auto;justify-content:center}
  .hm-stack{aspect-ratio:1/0.82;margin-top:8px}
  .hm-stack__card{width:82%;border-radius:16px}
  .hm-marquee{margin-inline:-20px;padding:14px 0}
  .hm-head--row{flex-direction:column;align-items:flex-start;gap:14px}
  .hm-grid--2,.hm-grid--3,.hm-grid--1{grid-template-columns:1fr}
  .hm-bento{grid-template-columns:1fr}
  .hm-tile,.hm-tile--wide{grid-column:auto;min-height:0}
  .hm-tile h3{padding-top:22px}
  .hm-phone{width:min(320px,100%);border-radius:46px}
  .hm-phone__screen{height:600px;border-radius:36px}
  .hm-final{padding:30px 22px;border-radius:24px}
  .hm-final .button{width:100%;justify-content:center}
  .hm-authors__grid{grid-template-columns:1fr}
  }
@media(prefers-reduced-motion:reduce){
  .hm-marquee__track,.hm-phone__next{animation:none}
  .hm-stack__card,.hm-tile,.hm-author,:is(.hm-grid,.catalog-section .product-grid) .product-card{transition:none}
  .has-reveal [data-reveal]{opacity:1;transform:none}
}

/* ——— Внутренние страницы ——— */
.page-intro--brand,.author-directory .page-intro{padding:clamp(40px,6vw,88px) 0 clamp(28px,3vw,44px)}
.page-intro--brand h1,.author-directory .page-intro h1{margin:0;font-size:clamp(48px,7vw,104px);line-height:.95;letter-spacing:-.065em;font-weight:700}
.page-intro--brand p,.author-directory .page-intro p{max-width:52ch;margin:22px 0 0;color:var(--b-muted);font-size:clamp(16px,1.3vw,18px);line-height:1.7}
.author-directory .page-intro .micro-label{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--b-violet);font-size:12px;font-weight:800;letter-spacing:.16em}
.author-directory .page-intro .micro-label::before{content:"";width:18px;height:1.5px;background:currentColor;opacity:.7}
.catalog-section{padding-top:8px}
.product-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1180px){.product-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.product-grid--three,.catalog-section .product-grid{grid-template-columns:1fr}}
.author-list{display:grid;gap:12px;border:0}
.author-list__item{border:0}
.author-list__link{display:flex;align-items:center;gap:20px;padding:18px 22px;border:1px solid var(--b-line);border-radius:var(--b-r-md);background:var(--b-surface);transition:border-color .3s,transform .35s var(--b-ease)}
.author-list__link:hover{border-color:#ffffff26;transform:translateY(-2px)}
.author-list__avatar{border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#a08cc055,#e77d3b44);color:var(--b-ink)}
.author-list__arrow{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ffffff0b;color:var(--b-ink);transition:background .2s,color .2s}
.author-list__link:hover .author-list__arrow{background:var(--b-orange);color:#1b120c}
.hm-grid .product-card__meta,.catalog-section .product-card__meta{margin:0;border-top:0;padding:4px 14px 10px;display:flex;justify-content:space-between}
:is(.hm-grid,.catalog-section .product-grid) .product-card__meta::before{display:none}
.author-list__count{white-space:nowrap}
@media(max-width:560px){
  .author-list__link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 16px;padding:16px}
  .author-list__avatar{grid-row:1/span 2}
  .author-list__count{grid-column:2;grid-row:2;color:var(--b-dim);font-size:13px}
  .author-list__arrow{grid-column:3;grid-row:1/span 2}
}

/* ——— Первый экран на всю высоту: бегущая строка у нижнего края ——— */
.hm-first{--hm-top:0px;display:flex;flex-direction:column;min-height:calc(100svh - var(--hm-top))}
.hm-first .hm-hero{flex:1;min-height:0;padding:clamp(28px,5vh,96px) 0;gap:clamp(32px,5vw,96px)}
.hm-first .hm-hero h1{margin:clamp(28px,4.5vh,44px) 0 clamp(26px,4vh,40px)}
.hm-first .hm-lead{max-width:32em;line-height:1.75}
.hm-first .hm-actions{margin-top:clamp(36px,5.5vh,52px);gap:14px}
.hm-first .hm-stats{margin-top:clamp(32px,5vh,48px)}
.hm-first .hm-marquee{flex:none;padding:clamp(14px,2.2vh,26px) 0}
@media(max-width:1179px) and (min-width:761px){.hm-first{--hm-top:104px}}
@media(max-width:900px){.hm-first .hm-hero{padding:clamp(28px,4vh,48px) 0 clamp(36px,5vh,56px);gap:clamp(20px,3vh,36px)}}
@media(max-width:760px){.hm-first{--hm-top:calc(80px + 61px + env(safe-area-inset-bottom))}}
@media(min-width:901px){.hm-first .hm-hero h1{font-size:clamp(56px,min(8.4vw,15vh),132px)}.hm-first .hm-stack{max-height:min(600px,calc(100svh - var(--hm-top) - 160px))}}
@media(max-width:900px){
  .hm-first .hm-hero{display:flex;flex-direction:column;align-items:stretch}
  .hm-first .hm-stack{flex:1 1 auto;aspect-ratio:auto;min-height:190px;max-height:460px;max-width:none;width:100%}
  .hm-first .hm-stack__card{width:auto;height:72%;max-width:86%;aspect-ratio:16/10}
}
@media(max-width:760px){
  .hm-first .hm-hero{padding:20px 0 24px;gap:22px}
  .hm-first .hm-hero h1{font-size:clamp(50px,15vw,76px);margin:20px 0 16px}
  .hm-first .hm-lead{font-size:15.5px;line-height:1.65}
  .hm-first .hm-actions{flex-wrap:nowrap;margin-top:24px;gap:10px}
  .hm-first .hm-actions>*{flex:1 1 0;min-width:0;padding:0 12px;font-size:14px;min-height:52px;white-space:nowrap}
  .hm-first .hm-actions .hm-cta{gap:8px}
  .hm-first .hm-stats{margin-top:20px}
  .hm-first .hm-stack{min-height:150px}
  .hm-first .hm-marquee{padding:13px 0}
  .hm-first .hm-marquee span,.hm-first .hm-marquee i{font-size:16px}
}
@media(max-width:760px){html.hm-h720 .hm-first .hm-stack{display:none}}
@media(max-width:360px){.hm-first .hm-actions{flex-wrap:wrap}.hm-first .hm-actions>*{flex:1 1 100%}}

/* Обложки в первом экране только на компьютере; на планшете и телефоне — чистый текст. */
.hm-stack__card{width:min(72%,480px)}
.hm-stack__card--2{transform:translate(-50%,-50%) translate(5%,-15%) rotate(5deg)}
.hm-stack:hover .hm-stack__card--2{transform:translate(-50%,-50%) translate(7%,-18%) rotate(7deg)}
.hm-stack:hover .hm-stack__card--1{transform:translate(-50%,-50%) translate(-6%,14%) rotate(-6deg)}
.hm-stack{padding:0 12px}
@media(max-width:1179px){
  .hm-first .hm-stack{display:none}
  .hm-first .hm-hero{display:flex;flex-direction:column;justify-content:center;align-items:stretch}
  .hm-first .hm-hero__copy{max-width:640px}
}
/* Мягкое свечение кнопки без «обрезанных» краёв */
.button--primary,.hm-cta.button--primary,.hm-final .button--primary{box-shadow:0 10px 28px -10px #e77d3b8c,inset 0 1px 0 #ffffff45}
.button--primary:hover,.hm-cta.button--primary:hover,.hm-final .button--primary:hover{box-shadow:0 14px 34px -10px #e77d3bb0,inset 0 1px 0 #ffffff45}

/* Фон первого экрана — до краёв окна; свечение кнопок не обрезается краем колонки. */
.home-page main{overflow-x:visible}
.hm-hero__bg{left:-240px;right:-240px}
.hm-hero h1,.hm-first .hm-hero h1{font-weight:800;letter-spacing:-.065em}

/* Иерархия первого экрана на телефоне: заголовок на всю ширину, подпись над ним — мелкая. */
@media(max-width:760px){
  .hm-first .hm-eyebrow{gap:7px;padding:6px 11px 6px 9px;font-size:9.5px;letter-spacing:.12em}
  .hm-first .hm-eyebrow::before{width:5px;height:5px}
  .hm-first .hm-hero h1{font-size:min(17vw,92px);line-height:.9;margin:18px 0 18px}
  .hm-first .hm-lead{font-size:15px;max-width:30em}
  .hm-first .hm-stats{font-size:13px}
  .hm-first .hm-stats b{font-size:18px}
}
@media(min-width:761px) and (max-width:1179px){
  .hm-first .hm-hero h1{font-size:min(13vw,13.5vh,136px)}
}
@media(max-width:760px){html.hm-h700 .hm-first .hm-hero{padding:12px 0 16px}html.hm-h700 .hm-first .hm-hero h1{margin:14px 0 12px}html.hm-h700 .hm-first .hm-lead{font-size:14px;line-height:1.55}html.hm-h700 .hm-first .hm-actions{margin-top:18px}html.hm-h700 .hm-first .hm-stats{margin-top:14px}}
@media(max-width:340px){.hm-first .hm-hero h1{font-size:16.2vw}}

/* Телефон: больше воздуха по бокам, первый экран распределён по высоте, а не сжат в центре. */
@media(max-width:760px){
  .site-shell{padding-inline:26px}
  .hm-marquee,.hm-first .hm-marquee{margin-inline:-26px}
  .hm-hero__bg{left:-26px;right:-26px}
  .hm-first .hm-hero{justify-content:flex-start;padding:clamp(28px,5vh,48px) 0 clamp(24px,4vh,36px)}
  .hm-first .hm-hero__copy{display:flex;flex-direction:column;flex:1;max-width:none}
  .hm-first .hm-eyebrow{align-self:flex-start}
  .hm-first .hm-hero h1{font-size:min(16vw,88px);margin:clamp(18px,3vh,28px) 0 clamp(16px,2.6vh,24px)}
  .hm-first .hm-lead{font-size:15.5px;line-height:1.65}
  .hm-first .hm-actions{margin-top:auto;padding-top:28px}
  .hm-first .hm-stats{margin-top:18px}
}
@media(max-width:360px){.site-shell{padding-inline:20px}.hm-marquee,.hm-first .hm-marquee{margin-inline:-20px}.hm-first .hm-hero h1{font-size:15.6vw}}
@media(min-width:761px) and (max-width:1179px) and (min-height:960px){
  .hm-first .hm-hero{padding-inline:clamp(0px,4vw,40px)}
  .hm-first .hm-eyebrow{font-size:12.5px;padding:9px 16px 9px 13px}
  .hm-first .hm-lead{font-size:clamp(18px,2.4vw,21px);max-width:34em}
  .hm-first .hm-actions .button,.hm-first .hm-ghost{min-height:62px;font-size:16.5px;padding:0 30px}
  .hm-first .hm-stats{font-size:15.5px}.hm-first .hm-stats b{font-size:23px}
}

/* Телефон: одна цельная группа по центру экрана, между блоками — ровные отступы. */
@media(max-width:760px){
  .hm-first .hm-hero{justify-content:center;padding:32px 0}
  .hm-first .hm-hero__copy{display:block;flex:none}
  .hm-first .hm-hero h1{margin:26px 0 22px}
  .hm-first .hm-actions{margin-top:36px;padding-top:0}
  .hm-first .hm-stats{margin-top:26px}
}
@media(max-width:760px){html.hm-h700 .hm-first .hm-hero{padding:16px 0}html.hm-h700 .hm-first .hm-hero h1{margin:16px 0 14px}html.hm-h700 .hm-first .hm-actions{margin-top:22px}html.hm-h700 .hm-first .hm-stats{margin-top:16px}}

/* «Бесплатно» — мягкий зелёный */
.card-price.card-price--free,.product-grid .card-price--free,:is(.hm-grid,.catalog-section .product-grid) .card-price--free{display:inline-flex;align-items:center;gap:7px;color:#86dba2;font-weight:700}
.card-price--free::before{content:"";width:7px;height:7px;border-radius:50%;background:#6fd08f;box-shadow:0 0 10px #6fd08f88}
.detail-meta strong.price-free,.pd .pd-buy .detail-meta>strong.price-free{color:#86dba2}

/* Телефон-превью урока: «Что заберёте» идёт сразу за текстом, а не прилипает к низу */
.hm-phone__label{margin:28px 0 12px}
.hm-phone ul{margin-bottom:0}
.hm-phone__body{padding-bottom:64px}
.hm-phone__body>*{flex:none}
.hm-phone__screen{height:auto;min-height:620px}
@media(max-width:760px){.hm-phone__screen{height:auto;min-height:580px}}

/* ===== Канал автора — как на YouTube: баннер, аватар, имя, вкладки, сетка практикумов ===== */
.author-page[data-channel]{padding-top:clamp(16px,2vw,28px)}
.author-page[data-channel] .author-intro{display:block;padding:0;border:0;gap:0}
.author-page[data-channel] .author-banner{position:relative;left:auto;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:6/1;transform:none;margin:0;border:0;border-radius:22px;overflow:hidden;background:linear-gradient(120deg,#28232e,#171719 65%,#3d2a23)}
.author-page[data-channel] .author-banner::after{display:none}
.author-page[data-channel] .author-profile{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,2.4vw,32px);margin:clamp(22px,2.6vw,32px) 0 0;padding:0;border:0;background:none}
.author-page[data-channel] .author-avatar{position:static;width:clamp(96px,11vw,164px);height:clamp(96px,11vw,164px);margin:0;border:0;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#a08cc055,#e77d3b44);box-shadow:none}
.author-page[data-channel] .author-avatar img{width:100%;height:100%;object-fit:cover}
.author-page[data-channel] .author-avatar__fallback{display:grid;place-items:center;width:100%;height:100%;font-size:clamp(30px,3.4vw,52px);font-weight:800;color:var(--b-ink)}
.author-page[data-channel] .author-profile__identity{display:grid;gap:8px;min-width:0}
.author-page[data-channel] .author-profile__identity h1{margin:0;font-size:clamp(30px,3.6vw,48px);line-height:1.05;letter-spacing:-.045em;font-weight:800}
.author-page[data-channel] .author-handle{display:flex;flex-wrap:wrap;gap:6px 0;margin:0;color:var(--b-muted);font-size:15px}
.author-page[data-channel] .author-handle span+span::before{content:"·";margin:0 9px;color:var(--b-dim)}
.author-page[data-channel] .author-handle span:first-child{color:var(--b-ink);font-weight:600}
.author-page[data-channel] .author-profile__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:0;color:var(--b-muted);font-size:14.5px}
.author-page[data-channel] .author-specialty{margin:0;color:var(--b-violet);font-size:inherit}
.author-page[data-channel] .author-specialty+.author-students::before{content:"·";margin:0 9px;color:var(--b-dim)}
.author-page[data-channel] .author-students{position:relative;display:inline-flex}
.author-page[data-channel] .author-students summary{display:inline-flex;gap:5px;cursor:pointer;list-style:none;color:var(--b-muted);font-size:inherit;border:0;text-decoration:underline dotted #ffffff40;text-underline-offset:4px}
.author-page[data-channel] .author-students summary::-webkit-details-marker{display:none}
.author-page[data-channel] .author-students strong{color:var(--b-ink)}
.author-page[data-channel] .author-students p{position:absolute;z-index:20;top:calc(100% + 10px);left:0;width:min(340px,80vw);margin:0;padding:14px 16px;border:1px solid var(--b-line-2);border-radius:14px;background:#202024;color:var(--b-muted);font-size:13px;line-height:1.55;box-shadow:0 20px 40px -18px #000}
.author-page[data-channel] .author-profile__description{max-width:62ch}
.author-page[data-channel] .author-lead{margin:2px 0 0;color:var(--b-muted);font-size:15px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.author-page[data-channel] .author-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}
.author-page[data-channel] .author-actions .button{min-height:44px;padding:0 20px;border-radius:999px;font-size:14px;border:1px solid var(--b-line-2);background:#ffffff10}
.author-page[data-channel] .author-actions .button:hover{background:#ffffff1c}
.author-page[data-channel] .author-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;color:var(--b-ink);font-size:14px;font-weight:600;background:transparent;border:1px solid var(--b-line)}
.author-page[data-channel] .author-link .arrow-icon{width:12px;height:12px}

.author-page[data-channel] .author-tabs{position:sticky;z-index:5;top:0;display:flex;gap:6px;min-height:0;margin:clamp(22px,2.6vw,32px) 0 0;padding:0;border-bottom:1px solid var(--b-line);background:var(--b-bg)}
.author-page[data-channel] .author-tabs a{min-height:52px;padding:0 16px;font-size:15px;font-weight:700}
.author-page[data-channel] .author-tabs a::after{height:3px!important;border-radius:3px 3px 0 0;background:var(--b-ink)!important}
.author-page[data-channel] .author-panel{padding-top:clamp(22px,2.4vw,30px)}

.channel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(24px,2.4vw,36px) clamp(16px,1.6vw,22px)}
.channel-tile{display:grid;gap:14px;min-width:0;color:var(--b-ink)}
.channel-tile__thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--b-surface);container-type:inline-size}
.channel-tile__thumb>*:not(.channel-tile__badge){width:100%;height:100%}
.channel-tile__thumb img,.channel-tile__thumb .practicum-cover__image{object-fit:cover;transition:transform .6s var(--b-ease)}
.channel-tile:hover .channel-tile__thumb img{transform:scale(1.04)}
.channel-tile__thumb .practicum-cover{padding:0}
.channel-tile__badge{position:absolute;right:10px;bottom:10px;padding:4px 8px;border-radius:7px;background:#000000c4;color:#fff;font-size:12px;font-weight:700;backdrop-filter:blur(6px)}
.channel-tile__body{display:grid;gap:6px;min-width:0}
.channel-tile__body strong{font-size:17px;line-height:1.3;font-weight:700;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.channel-tile__meta{display:grid;gap:6px;color:var(--b-muted);font-size:14px;line-height:1.5}
.channel-tile__meta em{font-style:normal;font-weight:700;color:var(--b-ink)}
.channel-tile__meta em.card-price--free{color:#86dba2}
.channel-tile__meta span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.author-page[data-channel] .author-panel--about{display:none;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(24px,4vw,64px);max-width:none;align-items:start}
.author-page[data-channel]:has(#author-about:target) .author-panel--about,.author-page--about-first[data-channel]:not(:has(#author-materials:target)) .author-panel--about{display:grid}
.author-page[data-channel] .author-about__main{display:grid;gap:28px;min-width:0}
.author-page[data-channel] .author-panel--about .author-bio{font-size:16.5px;line-height:1.75;color:var(--b-ink);white-space:pre-line}
.author-page[data-channel] .author-panel--about>.author-about__main>*{margin:0!important}
.author-page[data-channel] .author-about-card{display:grid;gap:18px;padding:22px;border:1px solid var(--b-line);border-radius:20px;background:var(--b-surface)}
.author-page[data-channel] .author-about-card h2{margin:0;font-size:18px;letter-spacing:-.02em}
.author-page[data-channel] .author-about-card ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.author-page[data-channel] .author-about-card li{display:flex;justify-content:space-between;gap:16px;font-size:14px}
.author-page[data-channel] .author-about-card li span{color:var(--b-muted)}
.author-page[data-channel] .author-about-card li a{display:inline-flex;gap:6px;align-items:center;color:var(--b-ink)}
.author-page[data-channel] .author-about-card .button{justify-content:center;border-radius:999px;min-height:46px}

@media(max-width:760px){
  .author-page[data-channel]{padding-top:8px}
  .author-page[data-channel] .author-banner{aspect-ratio:3.2/1;border-radius:16px}
  .author-page[data-channel] .author-profile{grid-template-columns:auto minmax(0,1fr);gap:16px;margin-top:18px;align-items:start}
  .author-page[data-channel] .author-avatar{width:80px;height:80px}
  .author-page[data-channel] .author-profile__identity{display:contents}
  .author-page[data-channel] .author-profile__identity h1{grid-column:2;align-self:center;font-size:26px}
  .author-page[data-channel] .author-profile__identity>*:not(h1){grid-column:1/-1}
  .author-page[data-channel] .author-handle{margin-top:2px;font-size:14px}
  .author-page[data-channel] .author-profile__meta{font-size:14px}
  .author-page[data-channel] .author-actions .button{flex:1;justify-content:center}
  .author-page[data-channel] .author-tabs{margin-top:20px;margin-inline:-26px;padding-inline:14px}
  .author-page[data-channel] .author-panel--about{grid-template-columns:1fr}
  .channel-grid{grid-template-columns:1fr;gap:26px}
}
.author-page__top{display:block;height:0}
.author-page[data-channel] .author-profile{width:100%;margin-left:0;margin-right:0}
.author-page[data-channel] .author-profile__identity>*{grid-column:1/-1;grid-row:auto;order:0;margin:0;text-align:left}
.author-page[data-channel] .author-profile__identity>h1{margin:0}
.author-page[data-channel] .author-profile__meta{flex-direction:row;justify-content:flex-start;align-items:center}
.author-page[data-channel] .author-profile__meta>.author-students{margin:0;font-size:inherit;display:inline-flex}
.author-page[data-channel] .author-students summary{min-height:0}
.channel-tile__thumb .practicum-cover__content{padding:7cqw}
.channel-tile__thumb .practicum-cover__brand{font-size:5.2cqw}
.channel-tile__thumb .practicum-cover__heading,.channel-tile__thumb .practicum-cover--idea .practicum-cover__heading{font-size:9.6cqw;max-width:92%}
.channel-tile__thumb .practicum-cover--marketing .practicum-cover__heading{margin-top:5cqw}
@media(max-width:760px){
  .author-page[data-channel] .author-profile__identity>h1{grid-column:2;grid-row:1}
  .author-page[data-channel] .author-avatar{grid-column:1;grid-row:1}
  .author-page[data-channel] .author-profile__identity>*:not(h1){grid-column:1/-1}
}
@media(max-width:760px){
  .author-page[data-channel] .author-profile__meta{flex-direction:column;align-items:flex-start;gap:4px}
  .author-page[data-channel] .author-specialty+.author-students::before{display:none}
}

/* ===== Авторы: карточки каналов ===== */
.author-list--cards{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(14px,1.6vw,22px);margin:0;padding:0;list-style:none;border:0}
.author-list--cards>li{margin:0;padding:0;border:0}
.author-list--cards .author-list__link{position:relative;display:flex!important;flex-direction:column;align-items:flex-start;gap:0;height:100%;padding:0 22px 20px!important;border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface);overflow:hidden;transform:none}
.author-list--cards .author-list__link:hover{border-color:#ffffff26;transform:translateY(-3px)}
.author-list__banner{display:block;width:calc(100% + 44px);margin:0 -22px;aspect-ratio:4/1;background:linear-gradient(120deg,#3a2d4a,#1e1d22 55%,#4a2e22)}
.author-list__banner img{width:100%;height:100%;object-fit:cover;display:block}
.author-list--cards .author-list__avatar{display:grid;place-items:center;width:84px!important;height:84px!important;margin:-42px 0 14px;border:4px solid var(--b-surface);border-radius:50%!important;overflow:hidden;font-size:24px;font-weight:800;background:linear-gradient(135deg,#a08cc0,#e77d3b)}
.author-list--cards .author-list__avatar img{width:100%;height:100%;object-fit:cover}
.author-list--cards .author-list__identity{display:grid;gap:4px}
.author-list--cards .author-list__identity strong{font-size:21px;font-weight:800;letter-spacing:-.03em}
.author-list--cards .author-list__identity span{color:var(--b-violet);font-size:14px}
.author-list__bio{margin-top:10px;color:var(--b-muted);font-size:14.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.author-list__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;padding-top:18px}
.author-list--cards .author-list__count{color:var(--b-dim);font-size:13.5px;white-space:nowrap}
.author-list--cards .author-list__arrow{display:inline-flex!important;align-items:center;gap:7px;width:auto!important;height:auto!important;padding:9px 14px;border-radius:999px;background:#ffffff0d;color:var(--b-ink);font-size:13.5px;font-weight:700;white-space:nowrap}
.author-list--cards .author-list__link:hover .author-list__arrow{background:var(--b-orange);color:#1b120c}
.author-list--cards .author-list__arrow .arrow-icon{width:12px;height:12px}
.author-list__invite a{display:flex;flex-direction:column;justify-content:center;gap:8px;height:100%;min-height:240px;padding:24px;border:1px dashed #ffffff2b;border-radius:22px;color:var(--b-ink);transition:border-color .2s}
.author-list__invite a:hover{border-color:var(--b-orange)}
.author-list__invite span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e77d3b1f;color:var(--b-orange);font-size:28px;font-weight:500}
.author-list__invite strong{margin-top:8px;font-size:20px;letter-spacing:-.02em}
.author-list__invite em{color:var(--b-muted);font-size:14.5px;font-style:normal;line-height:1.5;max-width:30ch}
@media(max-width:560px){.author-list--cards .author-list__link{display:flex!important}}
.author-list__banner{position:relative;overflow:hidden;height:auto;aspect-ratio:3.6/1}
.author-list__banner img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;border-radius:0!important;object-fit:cover}
.author-list--cards .author-list__avatar{position:relative;z-index:1}

/* ===== Страница практикума: «О практикуме» + карточка автора одной сеткой ===== */
.pd .pd-about{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,2.4vw,32px);margin-top:clamp(48px,6vw,88px);padding:0;border:0}
.pd .pd-about--author{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start}
.pd .pd-about__copy{display:grid;gap:18px;padding:clamp(24px,2.6vw,36px);border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface)}
.pd .pd-about__copy p{max-width:66ch;margin:0;color:#d6d3cd;font-size:clamp(16px,1.25vw,18px);line-height:1.75}
.pd .pd-about .detail-author-link{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:22px;border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface);color:var(--b-ink);transition:border-color .25s,transform .3s var(--b-ease)}
.pd .pd-about .detail-author-link:hover{border-color:#ffffff2b;transform:translateY(-2px)}
.pd-author__avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#a08cc0,#e77d3b);font-size:20px;font-weight:800}
.pd-author__avatar img{width:100%;height:100%;object-fit:cover}
.pd-author__body{display:grid;gap:3px;min-width:0}
.pd-author__label{color:var(--b-dim);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pd-author__body strong{font-size:19px;font-weight:800;letter-spacing:-.025em}
.pd-author__spec{color:var(--b-violet);font-size:14px}
.pd-author__go{grid-column:1/-1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;background:#ffffff0d;font-size:14px;font-weight:700;transition:background .2s,color .2s}
.pd .pd-about .detail-author-link:hover .pd-author__go{background:var(--b-orange);color:#1b120c}
.pd-author__go .arrow-icon{width:12px;height:12px}
.pd .pd-program{margin-top:clamp(48px,6vw,88px)}
.pd .pd-program__head{align-items:flex-end}
.pd-program__stats{display:inline-flex;flex-wrap:wrap;gap:8px 18px;color:var(--b-muted);font-size:14.5px}
.pd-program__stats .pd-stat{display:inline-flex;align-items:center;gap:7px}
@media(max-width:900px){.pd .pd-about--author{grid-template-columns:1fr}}
@media(max-width:760px){.pd .pd-program__head{flex-direction:column;align-items:flex-start;gap:10px}}
.pd .pd-about .detail-author-link .pd-author__go{color:var(--b-ink)}.pd .pd-about .detail-author-link:hover .pd-author__go{color:#1b120c}

/* ===== Статус оплаты ===== */
.pay-status{display:grid;place-items:center;min-height:calc(100svh - 220px);padding:clamp(32px,6vw,80px) 0;max-width:none!important;margin:0!important;border:0!important;background:none!important}
.pay-card{position:relative;overflow:hidden;width:min(520px,100%);padding:clamp(28px,4vw,44px);border:1px solid var(--b-line);border-radius:28px;background:radial-gradient(90% 60% at 100% 0%,#e77d3b1f,transparent 60%),var(--b-surface);text-align:center}
.pay-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 22px;border-radius:50%;background:#ffffff0a;color:var(--b-orange)}
.pay-icon svg{width:34px;height:34px}
.pay-status--wait .pay-icon svg{width:44px;height:44px}
.pay-spin{animation:pay-spin 1s linear infinite}
@keyframes pay-spin{to{transform:rotate(360deg)}}
.pay-status--fail .pay-icon{background:#e5484d1f;color:#ff8a8a}
.pay-status--check .pay-icon{background:#f5b74a1f;color:#f5c26b}
.pay-card .micro-label{color:var(--b-violet);font-size:11px;letter-spacing:.16em}
.pay-card h1{margin:10px 0 12px;font-size:clamp(30px,4vw,42px);line-height:1.05;letter-spacing:-.045em;font-weight:800}
.pay-text{margin:0 auto;max-width:38ch;color:var(--b-muted);font-size:16px;line-height:1.65}
.pay-product{display:flex;align-items:center;gap:14px;margin:26px 0 0;padding:10px 14px 10px 10px;border:1px solid var(--b-line);border-radius:18px;background:#ffffff06;text-align:left}
.pay-product__art{flex:none;width:84px;aspect-ratio:16/11;border-radius:12px;overflow:hidden;container-type:inline-size}
.pay-product__art>*{width:100%;height:100%}
.pay-product__art .product-cover{object-fit:cover}
.pay-product__art .practicum-cover__content{display:none}
.pay-product__body{display:grid;gap:3px;min-width:0}
.pay-product__body strong{font-size:15.5px;line-height:1.3}
.pay-product__body span{color:var(--b-muted);font-size:14px}
.pay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.pay-actions .button{min-height:52px;padding:0 24px;border-radius:16px}
.pay-foot{margin:22px 0 0;color:var(--b-dim);font-size:13.5px}
.pay-foot a{color:var(--b-ink);text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px}
@media(max-width:560px){.pay-actions .button{flex:1 1 100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.pay-spin{animation-duration:3s}}

/* ===== Вход через Telegram: одна карточка по центру ===== */
.login-split{position:relative;isolation:isolate;display:grid;place-items:center;min-height:calc(100svh - 220px);padding:clamp(24px,6vh,72px) 0}
.login-glow{position:absolute;z-index:-1;left:50%;top:46%;width:min(720px,120%);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,#e77d3b26,#a08cc014 55%,transparent);filter:blur(10px);pointer-events:none}
.login-split .auth-layout{display:block;width:min(420px,100%);max-width:none;min-height:0;margin:0;padding:0}
.login-split .auth-card{display:grid;justify-items:center;gap:0;padding:clamp(30px,4vw,44px) clamp(24px,3.4vw,40px);border:1px solid var(--b-line-2);border-radius:28px;background:#1b1b1ee6;backdrop-filter:blur(12px);text-align:center;box-shadow:0 40px 90px -40px #000}
.login-mark{display:grid;place-items:center;white-space:nowrap;width:60px;height:60px;margin-bottom:22px;border-radius:17px;background:linear-gradient(145deg,#2a2a2f,#1d1d21);border:1px solid var(--b-line-2);font-size:22px;font-weight:800;letter-spacing:-.06em}
.login-mark b{color:var(--b-orange)}
.login-split .auth-card h1{margin:0 0 10px;font-size:clamp(28px,3vw,34px);line-height:1.1;letter-spacing:-.04em;font-weight:800}
.login-split .auth-intro{max-width:30ch;margin:0 0 26px;color:var(--b-muted);font-size:15.5px;line-height:1.6}
.login-split .telegram-form{display:grid;gap:14px;width:100%;margin:0}
.login-tg{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;border-radius:16px!important;font-size:16px!important}
.login-tg svg{width:20px;height:20px;flex:none}
.login-split .auth-legal{margin:2px 0 0;color:var(--b-dim);font-size:12.5px;line-height:1.55}
.login-split .auth-legal a{color:var(--b-muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#ffffff30}
.login-split .notice{width:100%;text-align:left}
.login-split [data-bot-status]{display:inline-flex;align-items:center;gap:9px;margin:20px 0 0;color:var(--b-muted);font-size:14.5px}
.login-split [data-bot-status]::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--b-orange);box-shadow:0 0 0 0 #e77d3b88;animation:login-pulse 1.6s ease-out infinite}
@keyframes login-pulse{70%{box-shadow:0 0 0 9px #e77d3b00}100%{box-shadow:0 0 0 0 #e77d3b00}}
.login-split [data-bot-finish]{width:100%;margin:16px 0 0}
.login-check{width:100%;min-height:48px;border:1px solid var(--b-line-2);border-radius:14px;background:transparent;color:var(--b-ink);font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;transition:background .2s}
.login-check:hover{background:#ffffff0a}
.login-alt{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;color:var(--b-dim);font-size:13.5px}
.login-alt a{color:var(--b-muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#ffffff30}
.login-page .site-header .header-actions,.login-page .site-rail__account{visibility:hidden}
@media(max-width:560px){
  .login-split{min-height:calc(100svh - 170px);padding:16px 0 24px}
  .login-split .auth-card{padding:30px 22px 26px;border-radius:24px}
}
@media(prefers-reduced-motion:reduce){.login-split [data-bot-status]::before{animation:none}}
.login-mark{display:flex!important;align-items:center;justify-content:center;gap:0}
/* Шапка канала — минимум: имя, одна строка фактов, описание, кнопка */
.author-page[data-channel] .author-profile__meta{gap:0;color:var(--b-muted)}
.author-page[data-channel] .author-specialty{color:var(--b-muted)!important}
.author-page[data-channel] .author-specialty+.author-count::before{content:"·";margin:0 9px;color:var(--b-dim)}
.author-page[data-channel] .author-profile__identity{gap:10px}
.author-page[data-channel] .author-lead{-webkit-line-clamp:2;max-width:60ch}
.author-page[data-channel] .author-about-card__students{display:block!important}
.author-page[data-channel] .author-about-card__students summary{display:flex!important;justify-content:space-between;width:100%;text-decoration:none!important;color:var(--b-muted)}
.author-page[data-channel] .author-about-card__students summary strong{color:var(--b-ink)}
.author-page[data-channel] .author-about-card__students span{color:var(--b-muted)}
.author-page[data-channel] .author-about-card__students p{position:static!important;width:auto!important;margin-top:10px!important}
@media(max-width:760px){
  .author-page[data-channel] .author-profile{grid-template-columns:auto minmax(0,1fr);align-items:center}
  .author-page[data-channel] .author-profile__identity{display:grid!important;gap:4px;grid-column:2}
  .author-page[data-channel] .author-profile__identity>*{grid-column:1/-1!important;grid-row:auto!important}
  .author-page[data-channel] .author-profile__identity h1{font-size:24px}
  .author-page[data-channel] .author-profile__meta{flex-direction:row!important;flex-wrap:wrap;font-size:14px}
  .author-page[data-channel] .author-profile__description{display:none}
  .author-page[data-channel] .author-avatar{width:72px;height:72px;grid-row:1}
}
.author-page[data-channel] .author-profile__identity .author-profile__meta{display:block!important}
.author-page[data-channel] .author-profile__identity .author-profile__meta>*{display:inline!important;margin:0;font-size:inherit;line-height:1.5}
.author-page[data-channel] .author-count{white-space:nowrap}
@media(max-width:760px){
  .author-page[data-channel] .author-profile__identity .author-profile__meta>*{display:block!important}
  .author-page[data-channel] .author-specialty+.author-count::before{display:none}
  .author-page[data-channel] .author-count{color:var(--b-dim);font-size:13.5px}
}

/* ===== Вкладка «Об авторе»: блоки-карточки + факты ===== */
.author-page[data-channel] .author-panel--about{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:clamp(16px,2vw,24px)}
.author-page[data-channel] .author-about__main{gap:clamp(16px,2vw,24px)}
.author-page[data-channel] .author-about-block,.author-page[data-channel] .author-panel--about .author-method,.author-page[data-channel] .author-panel--about .author-contact{display:block;padding:clamp(22px,2.4vw,30px)!important;border:1px solid var(--b-line)!important;border-radius:22px;background:var(--b-surface)}
.author-page[data-channel] .author-about-block h2,.author-page[data-channel] .author-panel--about .author-method h2,.author-page[data-channel] .author-about-card h2{margin:0 0 12px!important;color:var(--b-violet);font-size:12px!important;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.author-page[data-channel] .author-about-block .author-bio{margin:0;font-size:17px;line-height:1.75;color:var(--b-ink)}
.author-page[data-channel] .author-panel--about .author-method p{margin:0;color:var(--b-ink)!important;font-size:16px;line-height:1.75}
.author-page[data-channel] .author-panel--about .author-contact{display:flex!important;align-items:center;justify-content:space-between;gap:20px;background:radial-gradient(80% 140% at 100% 50%,#e77d3b1a,transparent 60%),var(--b-surface)}
.author-page[data-channel] .author-panel--about .author-contact h2{margin:0 0 6px!important;font-size:20px!important;letter-spacing:-.025em}
.author-page[data-channel] .author-panel--about .author-contact p{margin:0;color:var(--b-muted);font-size:15px}
.author-page[data-channel] .author-contact__links{display:flex;flex-wrap:wrap;gap:10px;flex:none}
.author-page[data-channel] .author-contact__links .button{min-height:48px;padding:0 22px;border-radius:999px;background:linear-gradient(180deg,var(--b-orange-2),var(--b-orange));color:#1b120c;border:0;font-weight:800}
.author-page[data-channel] .author-about-card{position:sticky;top:72px;gap:0;padding:22px 22px 10px}
.author-page[data-channel] .author-about-card ul{gap:0}
.author-page[data-channel] .author-about-card li{align-items:center;padding:14px 0;border-top:1px solid var(--b-line);font-size:14.5px}
.author-page[data-channel] .author-about-card li strong{text-align:right}
.author-page[data-channel] .author-about-card__students details{width:100%}
.author-page[data-channel] .author-about-card__students summary span{font-size:14.5px}
.author-page[data-channel] .author-about-card__students summary span::after{content:"?";display:inline-grid;place-items:center;width:16px;height:16px;margin-left:7px;border-radius:50%;background:#ffffff14;color:var(--b-muted);font-size:10.5px;font-weight:800;vertical-align:1px}
.author-page[data-channel] .author-about-card__students p{padding:12px 14px!important;border-radius:12px!important;background:#ffffff08!important;border:0!important;box-shadow:none!important;font-size:13px!important}
@media(max-width:900px){
  .author-page[data-channel] .author-panel--about{grid-template-columns:1fr}
  .author-page[data-channel] .author-about-card{position:static}
}
@media(max-width:560px){
  .author-page[data-channel] .author-panel--about .author-contact{flex-direction:column;align-items:stretch}
  .author-page[data-channel] .author-contact__links .button{width:100%;justify-content:center}
  .author-page[data-channel] .author-about-block .author-bio{font-size:16px}
}
.author-page[data-channel] .author-about-card__students summary,.author-page[data-channel] .author-about-card__students summary span{text-decoration:none!important;border:0!important}

/* ===== Ошибки ===== */
.err-page{display:grid;justify-items:center;gap:0;max-width:560px;margin:0 auto;padding:clamp(56px,12vh,140px) 0 clamp(40px,8vh,96px);text-align:center}
.err-page__code{font-size:clamp(96px,18vw,180px);font-weight:800;line-height:.9;letter-spacing:-.07em;background:linear-gradient(180deg,#f2efe9,#f2efe933);-webkit-background-clip:text;background-clip:text;color:transparent}
.err-page h1{margin:18px 0 10px;font-size:clamp(28px,3.6vw,40px);line-height:1.1;letter-spacing:-.045em;font-weight:800}
.err-page>p{margin:0;max-width:40ch;color:var(--b-muted);font-size:16.5px;line-height:1.6}
.err-page__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}
.err-page__actions .button{min-height:52px;padding:0 24px;border-radius:16px}
.err-page .err-page__help{margin-top:22px;color:var(--b-dim);font-size:14px}
.err-page__help a{color:var(--b-muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#ffffff33}
@media(max-width:560px){.err-page__actions .button{flex:1 1 100%;justify-content:center}}

/* ===== Моя библиотека ===== */
.lib-intro p{max-width:56ch}
.lib-list{display:grid;gap:clamp(14px,1.6vw,20px);padding-bottom:16px}
.lib-card{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:clamp(18px,2.4vw,32px);align-items:center;padding:12px;border:1px solid var(--b-line);border-radius:26px;background:var(--b-surface);transition:border-color .25s}
.lib-card:hover{border-color:#ffffff24}
.lib-card__art{display:block;aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:#0e0e11}
.lib-card__art>*{width:100%;height:100%}
.lib-card__art .product-cover{object-fit:cover}
.lib-card__body{display:grid;gap:10px;min-width:0;padding:8px 14px 8px 0}
.lib-card__status{justify-self:start;padding:5px 11px;border-radius:999px;background:#ffffff0d;color:var(--b-muted);font-size:12.5px;font-weight:700}
.lib-card--done .lib-card__status{background:#6fd08f1f;color:#86dba2}
.lib-card h2{margin:0;font-size:clamp(21px,2vw,27px);line-height:1.15;letter-spacing:-.035em;font-weight:800}
.lib-card h2 a{color:var(--b-ink)}
.lib-card__bar progress{display:block;width:100%;height:6px;border:0;border-radius:99px;overflow:hidden;background:#ffffff12;appearance:none}
.lib-card__bar progress::-webkit-progress-bar{background:#ffffff12;border-radius:99px}
.lib-card__bar progress::-webkit-progress-value{background:linear-gradient(90deg,var(--b-orange),var(--b-orange-2));border-radius:99px}
.lib-card__bar progress::-moz-progress-bar{background:var(--b-orange);border-radius:99px}
.lib-card--done .lib-card__bar progress::-webkit-progress-value{background:#6fd08f}
.lib-card--done .lib-card__bar progress::-moz-progress-bar{background:#6fd08f}
.lib-card__next{display:flex;flex-wrap:wrap;gap:4px 8px;margin:2px 0 0;color:var(--b-ink);font-size:15px;line-height:1.45}
.lib-card__next span{color:var(--b-dim)}
.lib-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px}
.lib-card__actions .button{min-height:50px;padding:0 22px;border-radius:15px}
.lib-card__link{color:var(--b-muted);font-size:14.5px;font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff30}
.lib-more{display:flex;align-items:center;gap:14px;padding:18px 22px;border:1px dashed #ffffff26;border-radius:22px;color:var(--b-ink);transition:border-color .2s}
.lib-more:hover{border-color:var(--b-orange)}
.lib-more span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e77d3b1f;color:var(--b-orange);font-size:22px}
.lib-more strong{font-size:16px}.lib-more em{margin-left:auto;color:var(--b-dim);font-size:14px;font-style:normal}
.lib-empty{display:grid;justify-items:center;gap:12px;padding:clamp(40px,7vw,80px) 24px;border:1px solid var(--b-line);border-radius:28px;background:var(--b-surface);text-align:center}
.lib-empty__art{width:120px;height:84px;margin-bottom:10px}
.lib-empty__art span{display:block;width:100%;height:100%;border-radius:22px;background:linear-gradient(145deg,#ffffff24,#ffffff08);border:1px solid #ffffff2a;box-shadow:inset 0 2px 2px #ffffff60,0 20px 40px -20px #e77d3baa}
.lib-empty h2{margin:0;font-size:26px;letter-spacing:-.035em}
.lib-empty p{margin:0 0 10px;max-width:38ch;color:var(--b-muted)}
@media(max-width:760px){
  .lib-card{grid-template-columns:1fr;padding:10px;border-radius:22px}
  .lib-card__body{padding:4px 8px 10px}
  .lib-card__actions .button{flex:1;justify-content:center}
  .lib-more em{display:none}
}

/* ===== Страница курса ===== */
.cp{padding:clamp(18px,2.6vw,32px) 0 0}
.cp-back{display:inline-flex;margin-bottom:clamp(16px,2vw,24px);color:var(--b-muted);font-size:14px}
.cp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.cp-hero__art{aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:#0e0e11;box-shadow:0 40px 80px -40px #000}
.cp-hero__art>*{width:100%;height:100%}
.cp-hero__art .product-cover{object-fit:cover}
.cp-hero__copy{display:grid;gap:16px;min-width:0}
.cp-hero h1{margin:0;font-size:clamp(32px,3.8vw,52px);line-height:1.02;letter-spacing:-.05em;font-weight:800}
.cp-lead{margin:0;color:var(--b-muted);font-size:clamp(15.5px,1.2vw,17px);line-height:1.65;max-width:52ch}
.cp-facts{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.cp-facts span{padding:6px 12px;border-radius:999px;background:#ffffff0d;color:var(--b-muted);font-size:13.5px;font-weight:600}
.cp-progress{display:grid;gap:8px;padding:16px 18px;border:1px solid var(--b-line);border-radius:18px;background:var(--b-surface)}
.cp-progress__top{display:flex;justify-content:space-between;color:var(--b-muted);font-size:14.5px}
.cp-progress__top b{color:var(--b-ink)}
.cp-progress progress{display:block;width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:#ffffff12;appearance:none}
.cp-progress progress::-webkit-progress-bar{background:#ffffff12}
.cp-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--b-orange),var(--b-orange-2));border-radius:99px}
.cp-progress progress::-moz-progress-bar{background:var(--b-orange)}
.cp-cta{display:grid!important;justify-items:center;align-content:center;gap:3px;min-height:64px;padding:12px 22px!important;border-radius:18px!important;font-size:16.5px!important;text-align:center}
.cp-cta small{font-size:13px;font-weight:600;opacity:.75}
.cp-done{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:clamp(28px,3vw,40px);padding:22px 24px;border:1px solid #6fd08f40;border-radius:22px;background:radial-gradient(80% 140% at 0% 50%,#6fd08f1a,transparent 60%),var(--b-surface)}
.cp-done__badge{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#6fd08f22;color:#86dba2}
.cp-done__badge svg{width:26px;height:26px}
.cp-done h2{margin:0 0 4px;font-size:20px;letter-spacing:-.025em}
.cp-done p{margin:0;color:var(--b-muted);font-size:14.5px;line-height:1.55}
.cp-done .button{border-radius:999px;min-height:46px;padding:0 20px}
.cp-program{margin-top:clamp(40px,5vw,72px)}
.cp-program__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:18px}
.cp-program__head h2{margin:0;font-size:clamp(28px,3vw,40px);letter-spacing:-.045em}
.cp-program__head p{margin:0;max-width:46ch;color:var(--b-muted);font-size:14.5px}
.cp-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.cp-row{display:grid;grid-template-columns:44px minmax(0,1fr) 40px;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--b-line);border-radius:18px;background:var(--b-surface);color:var(--b-ink);transition:border-color .2s,transform .25s var(--b-ease)}
a.cp-row:hover{border-color:#ffffff2b;transform:translateX(2px)}
.cp-row__num{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#ffffff0b;color:var(--b-muted);font-size:14px;font-weight:800}
.cp-row__body{display:grid;gap:3px;min-width:0}
.cp-row__body strong{font-size:16.5px;line-height:1.3;letter-spacing:-.015em}
.cp-row__body small{color:var(--b-dim);font-size:13.5px}
.cp-row__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ffffff0b;color:var(--b-muted)}
.cp-row__icon svg{width:18px;height:18px}
.cp-row--done .cp-row__icon{background:#6fd08f1f;color:#86dba2}
.cp-row--done .cp-row__num{color:#86dba2}
.cp-row--current{border-color:#e77d3b66;background:radial-gradient(80% 160% at 0% 50%,#e77d3b14,transparent 60%),var(--b-surface)}
.cp-row--current .cp-row__icon{background:var(--b-orange);color:#1b120c}
.cp-row--current .cp-row__body small{color:var(--b-orange-2)}
.cp-row--locked{opacity:.55}
@media(max-width:900px){.cp-hero{grid-template-columns:1fr}.cp-done{grid-template-columns:auto minmax(0,1fr)}.cp-done .button{grid-column:1/-1}}
@media(max-width:560px){.cp-row{grid-template-columns:38px minmax(0,1fr) 34px;gap:12px;padding:12px}.cp-row__num{width:38px;height:38px}.cp-row__icon{width:34px;height:34px}.cp-cta{width:100%}}

/* ===== Настройки ===== */
.st{display:grid;gap:clamp(14px,1.6vw,18px);max-width:720px;padding-bottom:16px}
.st-profile{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--b-line);border-radius:24px;background:radial-gradient(80% 140% at 100% 0%,#a08cc01f,transparent 60%),var(--b-surface)}
.st-avatar{display:grid;place-items:center;flex:none;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#a08cc0,#e77d3b);font-size:26px;font-weight:800}
.st-profile h2{margin:0 0 6px;font-size:26px;letter-spacing:-.035em}
.st-profile p{margin:0}
.st-tg{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;background:#2aabee1f;color:#7fcbf3;font-size:13px;font-weight:700}
.st-tg::before{content:"";width:7px;height:7px;border-radius:50%;background:#2aabee}
.st-stats{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,18px)}
.st-stats div{display:grid;gap:4px;padding:18px 20px;border:1px solid var(--b-line);border-radius:20px;background:var(--b-surface)}
.st-stats b{font-size:30px;font-weight:800;letter-spacing:-.04em}
.st-stats span{color:var(--b-muted);font-size:14px}
.st-group{padding:8px 0 0;border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface);overflow:hidden}
.st-group h2{margin:10px 20px 6px;color:var(--b-violet);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.st-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-top:1px solid var(--b-line);color:var(--b-ink);transition:background .2s}
.st-group h2+.st-row{border-top:0}
.st-row:hover{background:#ffffff06}
.st-row span{display:grid;gap:3px}
.st-row strong{font-size:16px}
.st-row small{color:var(--b-dim);font-size:13.5px}
.st-row .arrow-icon{width:14px;height:14px;color:var(--b-dim)}
.st-logout{display:grid;justify-items:start;gap:10px;padding:6px 2px 0}
.st-logout .button{min-height:48px;padding:0 22px;border-radius:14px;border-color:#e5484d55;color:#ff9a9a}
.st-logout .button:hover{background:#e5484d14}
.st-logout p{margin:0;color:var(--b-dim);font-size:13.5px}
@media(max-width:560px){.st-stats{grid-template-columns:1fr 1fr}.st-stats b{font-size:24px}.st-logout .button{width:100%;justify-content:center}}

/* ---------- Навигация: «Моё», аккаунт, нижняя панель ---------- */
.acc-ava{display:grid;place-items:center;flex:none;width:28px;height:28px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#a08cc0,#e77d3b);color:#fff;font-size:11px;font-weight:800;letter-spacing:0}
.acc-ava img{width:100%;height:100%;object-fit:cover}
.header-account-menu summary.header-account{gap:9px;padding-left:6px}
.acc-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-account-menu__panel{gap:2px;min-width:230px;padding:8px;border:1px solid var(--b-line-2);border-radius:16px;background:#1f1f23;box-shadow:0 20px 50px #000a}
.header-account-menu__panel a,.acc-logout button{display:flex;align-items:center;gap:11px;min-height:42px;padding:9px 11px;border-radius:10px;color:var(--b-ink);font-size:14px;font-weight:600;text-decoration:none}
.header-account-menu__panel svg,.acc-logout svg{width:18px;height:18px;flex:none;color:var(--b-muted)}
.header-account-menu__panel a:hover,.header-account-menu__panel a:focus-visible,.acc-logout button:hover,.acc-logout button:focus-visible{background:#ffffff0d}
.acc-logout{margin:4px 0 0;padding-top:4px;border-top:1px solid var(--b-line)}
.acc-logout button{width:100%;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:#ff9db0;cursor:pointer;text-align:left}
.acc-logout button svg{color:#ff9db0}
.site-rail__help{display:none}
@media(min-width:1180px){
  .site-rail__personal{gap:2px;padding:20px 0 0}
  .site-rail__personal>span{padding:0 13px}
  .site-rail__personal a{position:relative;display:flex;align-items:center;gap:13px;min-height:42px;padding:9px 13px;border-radius:11px;color:var(--muted);font-size:13px;font-weight:600}
  .site-rail__personal a:hover{background:#ffffff08;color:var(--ink)}
  .site-rail__personal a[aria-current=page]{background:var(--soft);box-shadow:inset 2px 0 0 var(--ink);color:var(--ink)}
  .site-rail .site-rail__help{display:flex;margin-top:auto}
  .site-rail__help+.site-rail__account{margin-top:8px}
  .site-rail__account .header-account{justify-content:flex-start;gap:10px;padding:7px 10px;text-align:left;font-size:13px}
  .site-rail__account .header-account-menu__panel a,.site-rail__account .acc-logout button{min-height:42px;padding:9px 10px;font-size:13px}
}
@media(max-width:760px){
  .site-shell--channel-nav .header-account-menu summary.header-account{max-width:170px;padding:5px 12px 5px 5px}
  .header-account-menu__panel{min-width:240px}
  .mobile-dock.mobile-dock--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mobile-dock--4 a::before{inset:2px 8px}
}

/* ---------- Подвал ---------- */
/* Компактный подвал: слева логотип и «© danprod год», справа документы */
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px 40px;padding:28px 0 32px}
.ft-brand{display:grid;gap:6px;justify-items:start}
.site-footer .footer-copy{color:var(--b-dim);font-size:12.5px;letter-spacing:.01em}
.site-footer .legal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 26px}
.site-footer .legal-footer a{min-height:0;padding:4px 0;color:var(--b-muted);font-size:13.5px;white-space:nowrap}
.site-footer .legal-footer a:hover{color:var(--b-ink)}
@media(max-width:760px){
  .site-footer{flex-wrap:nowrap;align-items:flex-end;gap:20px;padding:24px 0 26px}
  .site-footer .legal-footer{flex-direction:column;flex-wrap:nowrap;align-items:flex-end;gap:2px;text-align:right}
  .site-footer .legal-footer{flex:1 1 auto;min-width:0}
  .site-footer .ft-brand{flex:none}
  .site-footer .footer-copy{white-space:nowrap}
  .site-footer .legal-footer a{padding:5px 0;font-size:13px;white-space:normal}
}

/* ---------- Поддержка ---------- */
.sup{max-width:980px;padding-bottom:20px}
.sup-contacts.support-contact{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 0;padding:0;border:0;background:none}
.sup-card.support-contact__method{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:24px;border:1px solid var(--b-line);border-radius:24px;background:radial-gradient(90% 120% at 100% 0%,#e77d3b14,transparent 60%),var(--b-surface)}
.sup-card--tg.support-contact__method{background:radial-gradient(90% 120% at 100% 0%,#a08cc01f,transparent 60%),var(--b-surface)}
.sup-card__icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border-radius:14px;background:#ffffff0a;color:var(--b-orange)}
.sup-card--tg .sup-card__icon{color:#7fb6ff}
.sup-card__icon svg{width:22px;height:22px}
.sup-card__label{color:var(--b-muted);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.sup-card>a:not(.button){color:var(--b-ink);font-size:clamp(18px,2.2vw,22px);font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.sup-card .button{margin-top:14px;min-height:48px}
.sup-block{margin-top:clamp(48px,6vw,80px)}
.sup-block__head h2,.sup-author h2{margin:8px 0 18px;font-size:clamp(26px,3.4vw,36px);letter-spacing:-.035em}
.sup-faq{display:grid;gap:10px}
.sup-q{border:1px solid var(--b-line);border-radius:18px;background:var(--b-surface);transition:border-color .2s}
.sup-q[open]{border-color:var(--b-line-2)}
.sup-q summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;font-size:16.5px;font-weight:700;cursor:pointer;list-style:none}
.sup-q summary::-webkit-details-marker{display:none}
.sup-q summary:focus-visible{outline:2px solid var(--b-orange);outline-offset:2px;border-radius:18px}
.sup-q__mark{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#ffffff0a;color:var(--b-muted);transition:transform .25s var(--b-ease),background .2s}
.sup-q__mark svg{width:16px;height:16px}
.sup-q[open] .sup-q__mark{transform:rotate(45deg);background:#e77d3b22;color:var(--b-orange)}
.sup-q p{margin:0;padding:0 20px 20px;color:var(--b-muted);font-size:15.5px;line-height:1.6}
.sup-q p a{color:var(--b-ink)}
.sup-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:s}
.sup-steps li{position:relative;padding:16px 18px 16px 58px;border:1px solid var(--b-line);border-radius:16px;background:var(--b-surface);font-size:15.5px;line-height:1.5;counter-increment:s}
.sup-steps li::before{content:"0" counter(s);position:absolute;left:18px;top:15px;color:var(--b-orange);font-weight:800;font-variant-numeric:tabular-nums}
.sup-note{display:flex;align-items:center;gap:10px;margin:14px 0 0;color:var(--b-muted);font-size:14.5px}
.sup-note svg{width:18px;height:18px;flex:none;color:#86dba2}
.sup-author{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:clamp(48px,6vw,80px);padding:clamp(24px,4vw,40px);border:1px solid #e77d3b33;border-radius:28px;background:radial-gradient(70% 140% at 100% 100%,#e77d3b26,transparent 65%),var(--b-surface)}
.sup-author h2{margin-bottom:8px}
.sup-author p{margin:0;max-width:520px;color:var(--b-muted);line-height:1.55}
.sup-author .button{flex:none;gap:8px;min-height:52px}
.sup-author .button svg{width:18px;height:18px}
.sup-docs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sup-doc{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--b-line);border-radius:18px;background:var(--b-surface);color:var(--b-ink);text-decoration:none;transition:border-color .2s,background .2s}
.sup-doc:hover{border-color:var(--b-line-2);background:var(--b-surface-2)}
.sup-doc>svg{width:22px;height:22px;flex:none;color:var(--b-violet)}
.sup-doc strong{display:block;font-size:15.5px}
.sup-doc small{display:block;margin-top:2px;color:var(--b-muted);font-size:13.5px}
@media(max-width:760px){
  .sup-contacts.support-contact,.sup-docs{grid-template-columns:1fr}
  .sup-card .button{width:100%}
  .sup-author{flex-direction:column;align-items:stretch}
  .sup-q summary{padding:16px;font-size:15.5px}
  .sup-q p{padding:0 16px 16px}
}

/* ---------- Документы ---------- */
.doc.legal-page{max-width:1080px;margin:0;padding-top:clamp(40px,6vw,72px)}
.doc-head{max-width:760px;margin:0 0 clamp(32px,4vw,48px);padding:0;border:0}
.doc-head h1{margin:14px 0 14px;font-size:clamp(36px,5.4vw,60px);line-height:1.02;letter-spacing:-.045em}
.doc-head .legal-intro{margin:0;color:var(--b-muted);font-size:clamp(16px,1.6vw,18px);line-height:1.55}
.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:18px 0 0;color:var(--b-dim);font-size:13.5px}
.doc-meta .legal-date{display:inline-flex;padding:5px 11px;border:1px solid var(--b-line-2);border-radius:999px;color:var(--b-muted)}
.doc-meta__other a{color:var(--b-ink)}
.doc-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.doc-toc{position:sticky;top:28px;padding:16px;border:1px solid var(--b-line);border-radius:18px;background:var(--b-surface)}
.doc-toc__title{margin:0 0 8px;padding:0 6px;color:var(--b-muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.doc-toc ol,.doc-toc-m ol{display:grid;gap:2px;margin:0;padding:0;list-style:none;counter-reset:t}
.doc-toc li,.doc-toc-m li{counter-increment:t}
.doc-toc a,.doc-toc-m a{display:flex;gap:8px;padding:7px 6px;border-radius:8px;color:var(--b-muted);font-size:13.5px;line-height:1.35;text-decoration:none}
.doc-toc a::before,.doc-toc-m a::before{content:counter(t);flex:none;min-width:18px;white-space:nowrap;color:var(--b-dim);font-variant-numeric:tabular-nums}
.doc-toc a:hover,.doc-toc-m a:hover{background:#ffffff08;color:var(--b-ink)}
.doc-toc-m{display:none}
.doc-body{min-width:0;max-width:720px}
.doc .legal-section{scroll-margin-top:24px;margin:0;padding:28px 0;border-top:1px solid var(--b-line)}
.doc .legal-section:first-child{padding-top:0;border-top:0}
.doc .legal-section h2{margin:0 0 14px;font-size:clamp(20px,2.2vw,24px);letter-spacing:-.025em}
.doc .legal-section p,.doc .legal-section li{color:#cfccc6;font-size:16px;line-height:1.7}
.doc .legal-section ul{display:grid;gap:10px;padding-left:20px}
.doc .legal-section li::marker{color:var(--b-orange)}
.doc .legal-section strong{color:var(--b-ink)}
.doc .legal-section a{color:var(--b-ink);text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px}
.doc-help{margin:12px 0 0;padding:18px 20px;border:1px solid var(--b-line);border-radius:16px;background:var(--b-surface);color:var(--b-muted);font-size:15px}
.doc-help a{color:var(--b-orange);font-weight:700}
@media(max-width:900px){
  .doc-layout{grid-template-columns:1fr;gap:20px}
  .doc-toc{display:none}
  .doc-toc-m{display:block;border:1px solid var(--b-line);border-radius:16px;background:var(--b-surface)}
  .doc-toc-m summary{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-weight:700;cursor:pointer;list-style:none}
  .doc-toc-m summary::-webkit-details-marker{display:none}
  .doc-toc-m summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--b-muted);border-bottom:2px solid var(--b-muted);transform:rotate(45deg) translateY(-2px);transition:transform .2s}
  .doc-toc-m[open] summary::after{transform:rotate(225deg)}
  .doc-toc-m ol{padding:0 10px 12px}
  .doc .legal-section p,.doc .legal-section li{font-size:15.5px}
}
@media print{.doc-toc,.doc-toc-m,.doc-help{display:none!important}.doc-layout{display:block}}
@media(min-width:1180px){
  .site-rail__account .header-account-menu__panel{min-width:0}
  .site-rail__account .header-account-menu__panel a,.site-rail__account .acc-logout button{white-space:nowrap}
  .site-rail__personal a span,.site-rail>a span{white-space:nowrap}
}
@media(max-width:760px){.doc-head h1{font-size:clamp(30px,8.4vw,40px);hyphens:manual;overflow-wrap:anywhere}}
/* ---------- Лайки и комментарии ---------- */
.pd-like{display:flex;align-items:center;gap:8px;margin-top:14px}
.like-btn,.like-comments{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px 0 13px;border:1px solid var(--b-line-2);border-radius:999px;background:#ffffff06;color:var(--b-ink);font:inherit;font-size:14.5px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.like-btn:hover,.like-comments:hover{background:#ffffff0f}
.like-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;transition:fill .2s,stroke .2s,transform .25s}
.like-comments svg{width:18px;height:18px}
.like-btn b,.like-comments b{font-variant-numeric:tabular-nums}
.like-btn.is-liked{border-color:#ff6b8a55;background:#ff6b8a14;color:#ff8fa6}
.like-btn.is-liked svg{fill:#ff6b8a;stroke:#ff6b8a}
.like-btn.is-pop svg{animation:like-pop .4s cubic-bezier(.2,.9,.3,1.4)}
@keyframes like-pop{0%{transform:scale(.7)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.like-btn.is-pop svg{animation:none}}
.like-btn:focus-visible,.like-comments:focus-visible{outline:2px solid var(--b-orange);outline-offset:2px}

.pd .pd-comments{margin-top:clamp(48px,6vw,88px)}
.cm-count{color:var(--b-dim);font-weight:700}
.u-avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#a08cc0,#e77d3b);color:#fff;font-size:14px;font-weight:800}
.u-avatar img{width:100%;height:100%;object-fit:cover}
.cm-form{display:flex;gap:14px;align-items:flex-start;margin:22px 0 8px;padding:16px;border:1px solid var(--b-line);border-radius:20px;background:var(--b-surface)}
.cm-form__main{flex:1;min-width:0}
.cm-form textarea{display:block;width:100%;min-height:46px;padding:10px 2px;border:0;border-bottom:1px solid var(--b-line-2);background:transparent;color:var(--b-ink);font:inherit;font-size:15.5px;line-height:1.5;resize:none;outline:none;transition:border-color .2s}
.cm-form textarea:focus{border-color:var(--b-orange)}
.cm-form textarea::placeholder{color:var(--b-dim)}
.cm-form__foot{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:12px}
.cm-form__foot span{color:var(--b-dim);font-size:13px}
.cm-form__foot .button{min-height:42px;padding:0 20px}
.cm-guest{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 8px;padding:18px 20px;border:1px solid var(--b-line);border-radius:20px;background:var(--b-surface)}
.cm-guest p{margin:0;color:var(--b-muted)}
.cm-list{display:grid;gap:4px;margin:14px 0 0;padding:0;list-style:none}
.cm{display:flex;gap:14px;padding:16px 4px;border-bottom:1px solid var(--b-line)}
.cm:last-child{border-bottom:0}
.cm-body{flex:1;min-width:0}
.cm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 4px}
.cm-head strong{font-size:15px}
.cm-head time{color:var(--b-dim);font-size:13px}
.cm-badge{padding:2px 8px;border-radius:999px;background:#e77d3b22;color:var(--b-orange);font-size:11.5px;font-style:normal;font-weight:800;letter-spacing:.02em}
.cm-text{margin:0;white-space:pre-line;overflow-wrap:anywhere;line-height:1.55;font-size:15.5px}
.cm-del{margin-top:6px}
.cm-del button{padding:0;border:0;background:none;color:var(--b-dim);font:inherit;font-size:13px;cursor:pointer}
.cm-del button:hover{color:#ff8fa6}
.cm-empty{margin:18px 4px 0;color:var(--b-muted)}
@media (max-width:640px){.cm-form{padding:14px;gap:10px}.cm-form>.cm-avatar{display:none}.cm{gap:12px}.cm-avatar{width:34px;height:34px;font-size:12px}}

/* ---------- Настройки: фото и имя ---------- */
.st-profile--edit{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}
.st-photo{display:grid;justify-items:center;gap:8px;min-width:120px}
.st-photo .st-avatar{width:88px;height:88px;overflow:hidden;color:#fff}
.st-photo .st-avatar img{width:100%;height:100%;object-fit:cover}
.st-photo__pick{position:relative;cursor:pointer;color:var(--b-orange);font-size:14px;font-weight:700}
.st-photo__pick input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.st-photo__pick:focus-within{outline:2px solid var(--b-orange);outline-offset:3px;border-radius:6px}
.st-photo__remove{padding:0;border:0;background:none;color:var(--b-dim);font:inherit;font-size:13px;cursor:pointer}
.st-photo__remove:hover{color:#ff8fa6}
.st-photo__status{margin:0;min-height:0;color:var(--b-dim);font-size:13px;text-align:center}
.st-photo__status:empty{display:none}
.st-photo__status.is-error{color:#ff8fa6}
.st-name label{display:block;margin-bottom:8px;color:var(--b-dim);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.st-name__row{display:flex;gap:10px}
.st-name__row input{flex:1;min-width:0;min-height:48px;padding:0 16px;border:1px solid var(--b-line-2);border-radius:14px;background:#ffffff06;color:var(--b-ink);font:inherit;font-size:17px;font-weight:700}
.st-name__row input:focus{outline:none;border-color:var(--b-orange)}
.st-name__row .button{min-height:48px}
.st-name__hint{margin:8px 0 0;color:var(--b-muted);font-size:13.5px}
.st-name__hint.is-error{color:#ff8fa6}
.st-name__hint.is-ok{color:#86dba2}
@media (max-width:640px){.st-profile--edit{grid-template-columns:1fr;gap:18px}.st-name__row{flex-direction:column}}

.header-account__photo{flex:none;width:28px;height:28px;margin-right:8px;border-radius:50%;object-fit:cover}

/* ---------- Профиль: компактная карточка ---------- */
.st-card.st-profile{display:flex;align-items:center;gap:18px}
.st-ava-btn{position:relative;flex:none;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.st-ava-btn .st-avatar{width:72px;height:72px;overflow:hidden;color:#fff}
.st-ava-btn .st-avatar img{width:100%;height:100%;object-fit:cover}
.st-ava-btn__badge{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:28px;height:28px;border:3px solid var(--b-surface);border-radius:50%;background:#2b2b31;color:var(--b-ink);transition:background .2s}
.st-ava-btn__badge svg{width:14px;height:14px}
.st-ava-btn:hover .st-ava-btn__badge{background:var(--b-orange);color:#1a1310}
.st-ava-btn:focus-visible{outline:2px solid var(--b-orange);outline-offset:4px}
.st-who{min-width:0;flex:1}
.st-name-view{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.st-name-view h2{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-name-view[hidden],.st-name-form[hidden]{display:none}
.st-pen{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--b-muted);cursor:pointer;transition:background .2s,color .2s}
.st-pen svg{width:16px;height:16px}
.st-pen:hover,.st-pen:focus-visible{background:#ffffff10;color:var(--b-ink)}
.st-name-form{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.st-name-form input{flex:1;min-width:0;height:42px;padding:0 12px;border:1px solid var(--b-orange);border-radius:12px;background:#ffffff08;color:var(--b-ink);font:inherit;font-size:19px;font-weight:800;letter-spacing:-.02em;outline:none}
.st-name-ok,.st-name-no{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:12px;font-size:17px;font-weight:800;cursor:pointer}
.st-name-ok{background:var(--b-orange);color:#1a1310}
.st-name-no{background:#ffffff0d;color:var(--b-muted)}
.st-msg{margin:8px 0 0!important;font-size:13.5px}
.st-msg.is-ok{color:#86dba2}.st-msg.is-error{color:#ff8fa6}
@media(max-width:480px){.st-ava-btn .st-avatar{width:64px;height:64px}.st-card.st-profile{gap:14px;padding:18px}.st-name-view h2{font-size:22px}}

/* ---------- Кадрирование фото ---------- */
.crop{width:min(560px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border:1px solid var(--b-line-2);border-radius:24px;background:#18181b;color:var(--b-ink);box-shadow:0 40px 100px #000c}
.crop::backdrop{background:#000b;backdrop-filter:blur(6px)}
.crop[open]{display:flex;flex-direction:column}
.crop__top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 14px;border-bottom:1px solid var(--b-line)}
.crop__top h2{margin:0;font-size:16px;letter-spacing:-.01em}
.crop__btn{justify-self:start;min-height:38px;padding:0 12px;border:0;border-radius:10px;background:none;color:var(--b-muted);font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.crop__btn--done{justify-self:end;background:var(--b-orange);color:#1a1310}
.crop__btn--done:disabled{opacity:.4;cursor:default}
.crop__stage{position:relative;display:grid;place-items:center;height:min(420px,56dvh);background:#0c0c0e;overflow:hidden;touch-action:none;user-select:none}
.crop__frame{position:relative;display:none}
.crop.has-image .crop__frame{display:block}
.crop__frame img{display:block;width:100%;height:100%;pointer-events:none;-webkit-user-drag:none}
.crop__empty{margin:0;color:var(--b-muted)}
.crop__empty[hidden]{display:none}
.crop__box{position:absolute;box-shadow:0 0 0 9999px #000000a6;outline:1px solid #ffffffcc;cursor:move;touch-action:none}
.crop__box:focus-visible{outline:2px solid var(--b-orange)}
.crop__circle{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 1.5px #fff,0 0 0 9999px #00000059;pointer-events:none}
.crop__box{overflow:hidden}
.crop__box i{position:absolute;z-index:2;width:22px;height:22px;border:0 solid #fff}
.crop__box i[data-h="nw"]{left:0;top:0;border-width:4px 0 0 4px;cursor:nwse-resize}
.crop__box i[data-h="ne"]{right:0;top:0;border-width:4px 4px 0 0;cursor:nesw-resize}
.crop__box i[data-h="sw"]{left:0;bottom:0;border-width:0 0 4px 4px;cursor:nesw-resize}
.crop__box i[data-h="se"]{right:0;bottom:0;border-width:0 4px 4px 0;cursor:nwse-resize}
.crop__box i::after{content:"";position:absolute;inset:-12px}
.crop__grid{position:absolute;inset:0;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(33.33% - .5px),#ffffff59 calc(33.33% - .5px) calc(33.33% + .5px),transparent calc(33.33% + .5px) calc(66.66% - .5px),#ffffff59 calc(66.66% - .5px) calc(66.66% + .5px),transparent calc(66.66% + .5px)),linear-gradient(transparent calc(33.33% - .5px),#ffffff59 calc(33.33% - .5px) calc(33.33% + .5px),transparent calc(33.33% + .5px) calc(66.66% - .5px),#ffffff59 calc(66.66% - .5px) calc(66.66% + .5px),transparent calc(66.66% + .5px));transition:opacity .2s}
.crop__box.is-active .crop__grid{opacity:1}
.crop__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px}
.crop__preview{display:flex;align-items:center;gap:12px;color:var(--b-muted);font-size:13px;line-height:1.3}
.crop__preview canvas{width:56px;height:56px;border-radius:50%;background:#ffffff0a}
.crop__actions{display:grid;justify-items:end;gap:4px}
.crop__actions form{margin:0}
.crop__link{padding:6px 0;border:0;background:none;color:var(--b-orange);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.crop__link--danger{color:#ff8fa6;font-weight:600}
.crop__status{margin:0;padding:0 16px 14px;color:var(--b-muted);font-size:13.5px}
.crop__status:empty{display:none}
.crop__status.is-error{color:#ff8fa6}
@media(max-width:560px){
  .crop{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}
  .crop__stage{flex:1;height:auto}
  .crop__foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
}

/* ---------- Шапка: только аватарка ---------- */
.header-account--ava{padding:0!important;min-height:0!important;border-radius:50%!important;border:0!important;background:none!important}
.header-account--ava .acc-ava{width:40px;height:40px;font-size:14px;box-shadow:0 0 0 2px #ffffff14;transition:box-shadow .2s}
.header-account-menu[open] .header-account--ava .acc-ava,.header-account--ava:hover .acc-ava{box-shadow:0 0 0 2px var(--b-orange)}
.acc-who{margin:2px 0 4px;padding:6px 11px 10px;border-bottom:1px solid var(--b-line);color:var(--b-ink);font-size:14px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:1180px){
  .site-rail__account{display:flex!important;justify-content:center}
  .site-rail__account .header-account--ava{width:auto}
  .site-rail__account .header-account--ava .acc-ava{width:44px;height:44px;font-size:15px}
  .site-rail__account .header-account-menu{width:100%;text-align:center}
  .site-rail__account .header-account-menu summary.header-account--ava{display:inline-flex;max-width:none}
  .site-rail__account .header-account-menu__panel{left:0;right:0;width:auto;text-align:left}
}
.st>*{min-width:0}.st-card.st-profile{min-width:0}.st-name-form input{width:0}
/* Короткое уведомление сверху */
.toast{position:fixed;z-index:120;top:max(16px,env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 16px 10px 10px;border:1px solid #86dba240;border-radius:999px;background:#17261dcc;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#c9f5d6;font-size:14.5px;font-weight:700;box-shadow:0 14px 40px #0008;transform:translateX(-50%);animation:toast-in .35s cubic-bezier(.2,.9,.3,1.2) both}
.toast__dot{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#86dba2;color:#0f1f15;font-size:13px;font-weight:900}
.toast--error{border-color:#ff8fa640;background:#2a171bcc;color:#ffd0da}
.toast--error .toast__dot{background:#ff8fa6;color:#2a0f15}
.toast.is-leaving{animation:toast-out .3s ease both}
@keyframes toast-in{from{opacity:0;transform:translate(-50%,-14px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes toast-out{to{opacity:0;transform:translate(-50%,-10px)}}
@media(prefers-reduced-motion:reduce){.toast,.toast.is-leaving{animation-duration:.01s}}

/* ---------- Стать автором ---------- */
.ap,.ae{max-width:860px;padding-bottom:24px}
.ap-head h1{font-size:clamp(40px,6vw,80px)}
.ap-how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 28px;padding:0;list-style:none}
.ap-how li{display:flex;gap:12px;padding:16px;border:1px solid var(--b-line);border-radius:18px;background:var(--b-surface)}
.ap-how b{color:var(--b-orange);font-weight:800;font-variant-numeric:tabular-nums}
.ap-how span{color:var(--b-muted);font-size:13.5px;line-height:1.45}
.ap-how strong{display:block;margin-bottom:2px;color:var(--b-ink);font-size:15px}
.ap-card{margin:0 0 14px;padding:clamp(18px,3vw,26px);border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface)}
fieldset.ap-card{min-width:0}
.ap-card legend{float:left;width:100%;margin:0 0 16px;padding:0;color:var(--b-violet);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ap-card legend+*{clear:both}
.ap-field{display:grid;gap:6px;margin:0 0 16px}
.ap-field:last-child{margin-bottom:0}
.ap-field>span,.ap-label{font-size:14.5px;font-weight:700}
.ap-field em{color:var(--b-dim);font-style:normal;font-weight:600}
.ap-field small,.ap-group small{color:var(--b-muted);font-size:13px;line-height:1.45}
.ap-field input,.ap-field select,.ap-field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--b-line-2);border-radius:14px;background:#ffffff06;color:var(--b-ink);font:inherit;font-size:16px;line-height:1.45;outline:none;transition:border-color .2s}
.ap-field textarea{resize:vertical}
.ap-field input:focus,.ap-field select:focus,.ap-field textarea:focus{border-color:var(--b-orange)}
.ap-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--b-muted) 50%),linear-gradient(135deg,var(--b-muted) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.ap-field select option{background:#1c1c1f}
.ap-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}.ap-two>.ap-field{margin:0}
.ap-group{display:grid;gap:10px;margin-top:4px}
.ap-choices{display:flex;flex-wrap:wrap;gap:8px}
.ap-choice{position:relative;cursor:pointer}
.ap-choice input{position:absolute;opacity:0;pointer-events:none}
.ap-choice span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--b-line-2);border-radius:999px;color:var(--b-muted);font-size:14.5px;font-weight:600;transition:all .2s}
.ap-choice input:checked+span{border-color:var(--b-orange);background:#e77d3b1f;color:var(--b-ink)}
.ap-choice input:focus-visible+span{outline:2px solid var(--b-orange);outline-offset:2px}
.ap-agree{display:grid;gap:12px}
.ap-check{display:flex;gap:12px;align-items:flex-start;color:var(--b-muted);font-size:14.5px;line-height:1.5;cursor:pointer}
.ap-check input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--b-orange)}
.ap-check a{color:var(--b-ink)}
.ap-submit{justify-self:start;min-height:54px;padding:0 28px;margin-top:6px}
.ap-error{margin:0 0 14px;padding:14px 18px;border:1px solid #ff8fa64d;border-radius:16px;background:#ff8fa614;color:#ffc2cf;font-weight:600}
.ap-state h2,.ap-login h2{margin:0 0 8px;font-size:clamp(22px,3vw,28px);letter-spacing:-.03em}
.ap-state p,.ap-login p{margin:0 0 16px;color:var(--b-muted);line-height:1.55}
.ap-state p:last-child{margin-bottom:0}
.ap-state a:not(.button){color:var(--b-ink)}
.ap-state--ok{border-color:#86dba240}
.ap-badge{display:inline-flex;margin-bottom:12px;padding:5px 11px;border-radius:999px;background:#e77d3b1f;color:var(--b-orange);font-size:12.5px;font-weight:800}
.ap-row{display:flex;flex-wrap:wrap;gap:10px}
.ap-login{display:grid;justify-items:start}
.ap-terms-link{margin-top:14px;color:var(--b-muted);font-size:14px}
@media(max-width:760px){.ap-how{grid-template-columns:1fr 1fr}.ap-two{grid-template-columns:1fr}.ap-submit{width:100%;justify-self:stretch}}

/* ---------- Доходы автора ---------- */
.ae-top{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-bottom:14px}
.ae-balance{display:grid;align-content:start;gap:6px;padding:clamp(20px,3vw,28px);border:1px solid #e77d3b33;border-radius:24px;background:radial-gradient(80% 140% at 100% 0%,#e77d3b24,transparent 60%),var(--b-surface)}
.ae-balance>span{color:var(--b-muted);font-size:14px;font-weight:700}
.ae-balance>strong{font-size:clamp(36px,5vw,52px);letter-spacing:-.04em;line-height:1.05}
.ae-balance form{margin-top:10px}
.ae-balance .button{min-height:50px}
.ae-note{margin:8px 0 0;color:var(--b-muted);font-size:14px;line-height:1.5}
.ae-stats{display:grid;gap:14px}
.ae-stats>div{display:grid;gap:2px;padding:18px 20px;border:1px solid var(--b-line);border-radius:20px;background:var(--b-surface)}
.ae-stats span{color:var(--b-muted);font-size:13.5px;font-weight:700}
.ae-stats b{font-size:24px;letter-spacing:-.02em}
.ae-stats small{color:var(--b-dim);font-size:12.5px}
.ae-card{margin:0 0 14px;padding:clamp(18px,3vw,26px);border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface)}
.ae-card h2{margin:0 0 14px;font-size:20px;letter-spacing:-.02em}
.ae-cardline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px}
.ae-cardline strong{font-size:20px;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.ae-cardline small{color:var(--b-muted)}
.ae-chip{padding:4px 10px;border-radius:8px;background:#ffffff10;font-size:12.5px;font-weight:800}
.ae-change summary{color:var(--b-orange);font-weight:700;cursor:pointer}
.ae-change[open] summary{margin-bottom:14px}
.ae-cardform{display:grid;gap:0}
.ae-cardform .button{justify-self:start;margin-top:2px}
.ae-small{margin:12px 0 0;color:var(--b-dim);font-size:13px;line-height:1.5}
.ae-list{display:grid;margin:0;padding:0;list-style:none}
.ae-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--b-line)}
.ae-item:first-child{border-top:0;padding-top:0}
.ae-item strong{display:block;font-size:15px}
.ae-item small{display:block;margin-top:2px;color:var(--b-muted);font-size:12.5px;line-height:1.45}
.ae-sum{display:grid;justify-items:end;flex:none;text-align:right}
.ae-sum b{font-size:16px;font-variant-numeric:tabular-nums}
.ae-sum em{color:var(--b-dim);font-size:12.5px;font-style:normal}
.ae-item.is-off{opacity:.55}.ae-item.is-off b{text-decoration:line-through}
.ae-empty,.ae-foot{color:var(--b-muted);line-height:1.55}
.ae-foot a,.ae-empty a{color:var(--b-ink)}
@media(max-width:760px){.ae-top{grid-template-columns:1fr}.ae-stats{grid-template-columns:1fr 1fr}.ae-balance .button,.ae-cardform .button{width:100%;justify-self:stretch}}

/* ---------- Материалы автора ---------- */
.mt{max-width:860px;padding-bottom:24px}
.mt-list{display:grid;gap:14px;margin-bottom:22px}
.mt-card,.mt-new{padding:clamp(18px,3vw,26px);border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface)}
.mt-card__head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.mt-card h3{margin:0;font-size:19px;letter-spacing:-.02em}
.mt-card small{color:var(--b-dim);font-size:13px}
.mt-badge{flex:none;padding:5px 11px;border-radius:999px;background:#ffffff10;color:var(--b-muted);font-size:12.5px;font-weight:800}
.mt-badge--changes{background:#ffb74d22;color:#ffc46b}.mt-badge--preparing,.mt-badge--review{background:#a08cc026;color:var(--b-violet)}.mt-badge--published{background:#86dba224;color:#86dba2}
.mt-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:18px 0 12px;padding:0;list-style:none}
.mt-steps li{display:grid;gap:8px;color:var(--b-dim);font-size:12.5px;font-weight:700}
.mt-steps i{height:5px;border-radius:999px;background:#ffffff14}
.mt-steps .is-done i{background:var(--b-orange)}.mt-steps .is-now i{background:linear-gradient(90deg,var(--b-orange),#e77d3b55)}.mt-steps .is-warn i{background:#ffc46b}
.mt-steps .is-done,.mt-steps .is-now{color:var(--b-ink)}.mt-steps .is-warn{color:#ffc46b}
.mt-text{margin:0 0 12px;color:var(--b-muted);line-height:1.5}
.mt-files{display:grid;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.mt-files li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff06;font-size:14px;min-width:0}
.mt-files li>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-ext{flex:none;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:800}
.mt-ext--pdf{background:#e5484d26;color:#ff9a9a}.mt-ext--docx{background:#3b82f626;color:#93b8ff}.mt-ext--pptx{background:#e77d3b26;color:#f39a5c}
.mt-more{display:grid;gap:10px}
.mt-more input[type=text]{min-height:44px;padding:0 14px;border:1px solid var(--b-line-2);border-radius:12px;background:#ffffff06;color:var(--b-ink);font:inherit}
.mt-more .button{justify-self:start}
.mt-new h2{margin:0 0 8px;font-size:clamp(22px,3vw,28px);letter-spacing:-.03em}
.mt-lead{margin:0 0 20px;color:var(--b-muted);line-height:1.55}
.mt-drop{position:relative;display:grid;gap:4px;padding:14px 16px;border:1.5px dashed var(--b-line-2);border-radius:16px;color:var(--b-muted);cursor:pointer;transition:border-color .2s,background .2s}
.mt-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.mt-drop b{color:var(--b-ink)}
.mt-drop:hover,.mt-drop.is-over,.mt-drop:focus-within{border-color:var(--b-orange);background:#e77d3b0d}
.mt-drop--big{justify-items:center;margin:0 0 16px;padding:30px 18px;text-align:center}
.mt-drop__icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:6px;border-radius:14px;background:#e77d3b1f;color:var(--b-orange);font-size:22px;font-weight:800}
.mt-drop small{color:var(--b-dim);font-size:12.5px}
.mt-picked{display:grid;gap:4px;margin:8px 0 0;padding:0;list-style:none;color:var(--b-ink);font-size:13.5px}
.mt-safe{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#86dba212;color:#b9ecc9;font-size:13.5px;line-height:1.5}
.mt-status{margin:10px 0 0;color:var(--b-muted);font-size:14px}.mt-status:empty{display:none}.mt-status.is-error{color:#ff8fa6}
@media(max-width:560px){.mt-steps{grid-template-columns:repeat(2,1fr)}.mt-new .button,.mt-more .button{width:100%;justify-self:stretch}}

/* ---------- Панель управления ---------- */
.ad{padding-bottom:28px}
.ad-tabs{display:flex;gap:6px;margin:clamp(20px,3vw,32px) 0 0;padding:4px;overflow-x:auto;scrollbar-width:none;border:1px solid var(--b-line);border-radius:16px;background:var(--b-surface)}
.ad-tabs::-webkit-scrollbar{display:none}
.ad-tabs a{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:40px;padding:0 14px;border-radius:12px;color:var(--b-muted);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.ad-tabs a svg{width:17px;height:17px}
.ad-tabs a:hover{color:var(--b-ink);background:#ffffff08}
.ad-tabs a[aria-current=page]{background:#ffffff12;color:var(--b-ink)}
.ad-tabs a[aria-current=page] svg{color:var(--b-orange)}
.ad-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:clamp(24px,3vw,40px) 0 clamp(18px,2vw,26px)}
.ad-head h1{margin:8px 0 0;font-size:clamp(36px,5vw,60px);letter-spacing:-.05em;line-height:1}
.ad-head p{margin:12px 0 0;max-width:60ch;color:var(--b-muted);line-height:1.55}
.ad-period{display:inline-flex;gap:4px;margin-bottom:16px;padding:4px;border:1px solid var(--b-line);border-radius:12px}
.ad-period a{padding:7px 12px;border-radius:9px;color:var(--b-muted);font-size:13.5px;font-weight:700;text-decoration:none}
.ad-period a[aria-current]{background:#ffffff12;color:var(--b-ink)}
.ad-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.ad-kpi{display:grid;gap:4px;padding:18px 20px;border:1px solid var(--b-line);border-radius:20px;background:var(--b-surface)}
.ad-kpi span{color:var(--b-muted);font-size:13.5px;font-weight:700}
.ad-kpi strong{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ad-kpi small{color:var(--b-dim);font-size:12.5px}
.ad-kpi--accent{border-color:#e77d3b40;background:radial-gradient(90% 140% at 100% 0%,#e77d3b22,transparent 60%),var(--b-surface)}
.ad-card{margin:0 0 12px;padding:clamp(16px,2.4vw,24px);border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface);min-width:0}
.ad-card h2{margin:0;font-size:18px;letter-spacing:-.02em}
.ad-card__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.ad-card__head small{color:var(--b-dim)}
.ad-chart{display:block;width:100%;height:140px}
.ad-chart rect{fill:var(--b-orange)}
.ad-chart rect.is-zero{fill:#ffffff14}
.ad-chart__axis{display:flex;justify-content:space-between;margin-top:8px;color:var(--b-dim);font-size:12px}
.ad-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.ad-grid>.ad-card{margin:0}
.ad-grid--wide{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}
.ad-side{display:grid;gap:12px}.ad-side .ad-card{margin:0}.ad-side h2{margin-bottom:12px}
.ad-todo,.ad-feed{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.ad-todo a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:#ffffff06;color:var(--b-ink);font-weight:700;text-decoration:none}
.ad-todo a:hover{background:#ffffff0d}
.ad-todo__icon{font-size:18px}
.ad-todo b{margin-left:auto;min-width:28px;padding:3px 9px;border-radius:999px;background:var(--b-orange);color:#1a1310;text-align:center;font-size:13px}
.ad-feed li{display:flex;gap:12px;padding:10px 2px;border-top:1px solid var(--b-line)}
.ad-feed li:first-child{border-top:0}
.ad-feed p{margin:0;color:var(--b-muted);font-size:14px;line-height:1.45}
.ad-feed b{color:var(--b-ink)}
.ad-feed small{display:block;color:var(--b-dim);font-size:12px}
.ad-empty,.ad-hint{color:var(--b-muted);font-size:14px;line-height:1.5}
.ad-hint{margin:12px 0 0}
.ad-search{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.ad-search input[name=q]{flex:1;min-width:220px;min-height:46px;padding:0 14px;border:1px solid var(--b-line-2);border-radius:14px;background:#ffffff06;color:var(--b-ink);font:inherit}
.ad-search input[name=q]:focus{outline:none;border-color:var(--b-orange)}
.ad-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--b-muted);font-size:14px;font-weight:600;cursor:pointer}
.ad-toggle input{width:18px;height:18px;accent-color:var(--b-orange)}
.ad-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 14px;border:1px solid var(--b-line-2);border-radius:11px;background:#ffffff06;color:var(--b-ink);font:inherit;font-size:13.5px;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}
.ad-btn:hover{background:#ffffff10}
.ad-btn--ok{border-color:#86dba255;color:#a8ecbe}.ad-btn--bad{border-color:#ff8fa655;color:#ffadbd}
.ad-btn.is-on{border-color:var(--b-orange);background:#e77d3b1f}
.ad-pill{display:inline-flex;align-items:center;padding:4px 10px;border:0;border-radius:999px;background:#ffffff10;color:var(--b-muted);font:inherit;font-size:12px;font-weight:800;font-style:normal;white-space:nowrap}
.ad-pill--ok{background:#86dba222;color:#86dba2}.ad-pill--bad{background:#ff8fa622;color:#ff9db0}.ad-pill--warn{background:#ffc46b22;color:#ffc46b}
button.ad-pill{cursor:pointer}
.ad-list{display:grid;gap:8px}
.ad-sale{border:1px solid var(--b-line);border-radius:16px;background:var(--b-surface)}
.ad-sale summary{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}
.ad-sale summary::-webkit-details-marker{display:none}
.ad-sale__main{flex:1;min-width:0}
.ad-sale__main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-sale__main small{color:var(--b-muted);font-size:13px}
.ad-sale__sum{font-weight:800;font-variant-numeric:tabular-nums}
.ad-sale__body{padding:0 16px 16px}
.ad-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 10px}
.ad-copy dt{color:var(--b-dim);font-size:12px;font-weight:700}
.ad-copy dd{margin:2px 0 0}
[data-copy]{cursor:copy;border-radius:8px;transition:background .2s}
code[data-copy]{display:inline-block;padding:3px 7px;background:#7ab7ff14;color:#9cc9ff;font-size:13.5px;word-break:break-all}
[data-copy].is-copied{background:#86dba233!important;color:#c9f5d6!important}
.ad-letter{margin:0 0 10px;padding:12px 14px;border-radius:12px;background:#0f0f12;color:#d9d6d0;font:13.5px/1.5 ui-monospace,Menlo,monospace;white-space:pre-wrap}
.ad-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ad-row form{margin:0}
.ad-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.ad-product{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--b-line);border-radius:20px;background:var(--b-surface);color:var(--b-ink);text-decoration:none;transition:border-color .2s}
.ad-product:hover{border-color:var(--b-line-2)}
.ad-product__cover{aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#0f0f12}
.ad-product__cover>*{width:100%;height:100%}
.ad-product__body{display:grid;align-content:start;gap:6px;min-width:0}
.ad-product__body .ad-pill{justify-self:start}
.ad-product__body strong{font-size:15.5px;line-height:1.3}
.ad-product__body small{color:var(--b-muted);font-size:12.5px}
.ad-product__stats{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--b-muted);font-size:12.5px}
.ad-product__stats b{color:var(--b-ink)}
.ad-apps{display:grid;gap:10px}
.ad-app{padding:16px;border:1px solid var(--b-line);border-radius:16px;background:#ffffff04}
.ad-app__head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.ad-app__head small{display:block;color:var(--b-muted);font-size:13px}
.ad-app__head small a{color:var(--b-orange)}
.ad-app__topic{margin:10px 0;font-weight:700}
.ad-app details{margin-bottom:12px}
.ad-app summary{color:var(--b-muted);font-size:14px;cursor:pointer}
.ad-dl dt{margin-top:10px;color:var(--b-dim);font-size:12px;font-weight:700}
.ad-dl dd{margin:2px 0 0;color:var(--b-ink);font-size:14.5px;line-height:1.5;white-space:pre-line}
.ad-dl a{color:var(--b-orange);word-break:break-all}
.ad-lines{display:grid}
.ad-line{display:flex;align-items:center;gap:14px;padding:12px 4px;border-top:1px solid var(--b-line);color:var(--b-ink);text-decoration:none}
.ad-line:first-child{border-top:0}
a.ad-line:hover{background:#ffffff05}
.ad-line--top{align-items:flex-start}
.ad-line>span:first-child:not(.u-avatar),.ad-line__grow{flex:1;min-width:0}
.ad-line strong{display:block}
.ad-line strong small,.ad-line strong small a{color:var(--b-muted);font-weight:600}
.ad-line small{display:block;color:var(--b-muted);font-size:12.5px}
.ad-line__nums{display:flex;gap:14px;color:var(--b-muted);font-size:13px;white-space:nowrap}
.ad-line__nums b{color:var(--b-ink)}
.ad-line .ad-text{display:block;margin-top:4px;white-space:pre-line}
.ad-text{color:#cfccc6;line-height:1.55}
.ad-meta{margin:-4px 0 12px;color:var(--b-muted);font-size:14px}.ad-meta a{color:var(--b-orange)}
.ad-h3{margin:18px 0 8px;font-size:14px;color:var(--b-violet);letter-spacing:.06em;text-transform:uppercase}
.ad-stack{display:grid;gap:8px}
.ad-stack select{min-height:44px;padding:0 12px;border:1px solid var(--b-line-2);border-radius:12px;background:#1c1c1f;color:var(--b-ink);font:inherit}
.ad-full{width:100%;margin-top:12px}
@media(max-width:900px){.ad-kpis{grid-template-columns:1fr 1fr}.ad-grid,.ad-grid--wide{grid-template-columns:1fr}.ad-copy{grid-template-columns:1fr}.ad-line__nums{display:none}}
@media(max-width:480px){.ad-product{grid-template-columns:88px minmax(0,1fr)}.ad-sale summary .ad-pill{display:none}}

/* ---------- Кабинет автора ---------- */
.au-progress{height:6px;margin:-4px 0 14px;border-radius:999px;background:#ffffff10;overflow:hidden}
.au-progress i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--b-orange),#f39a5c);transition:width .6s var(--b-ease)}
.au-steps{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.au-steps a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:#ffffff05;color:var(--b-ink);text-decoration:none}
.au-steps a:hover{background:#ffffff0c}
.au-steps strong{display:block;font-size:14.5px}
.au-steps small{display:block;color:var(--b-muted);font-size:12.5px}
.au-check{display:grid;place-items:center;flex:none;width:26px;height:26px;border:2px solid var(--b-line-2);border-radius:50%;color:#0f1f15;font-size:13px;font-weight:900}
.au-steps .is-done .au-check{border-color:#86dba2;background:#86dba2}
.au-steps .is-done strong{color:var(--b-muted);text-decoration:line-through;text-decoration-color:#ffffff40}
.au .ad-head p a{color:var(--b-orange)}
.au-channel{margin:0 0 12px;padding:0 0 18px;border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface);overflow:hidden}
.au-banner{position:relative;display:block;width:100%;aspect-ratio:6/1;padding:0;border:0;background:linear-gradient(120deg,#3a2d4a,#1e1d22 55%,#4a2e22);cursor:pointer;overflow:hidden}
.au-banner img,.au-avatar img{width:100%;height:100%;object-fit:cover;object-position:var(--crop-x,50%) var(--crop-y,50%);transform-origin:var(--crop-x,50%) var(--crop-y,50%);transform:scale(var(--crop-zoom,1))}
.au-banner__empty{display:grid;place-items:center;height:100%;color:var(--b-muted);font-weight:700}
.au-edit{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:12px;background:#000000a6;backdrop-filter:blur(8px);color:#fff;font-size:13px;font-weight:700}
.au-edit svg{width:16px;height:16px}
.au-banner:hover .au-edit,.au-banner:focus-visible .au-edit{background:var(--b-orange);color:#1a1310}
.au-channel__row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:0 20px;margin-top:-34px;position:relative}
.au-avatar{position:relative;flex:none;width:96px;height:96px;padding:0;border:4px solid var(--b-surface);border-radius:50%;background:linear-gradient(135deg,#a08cc0,#e77d3b);color:#fff;font-size:30px;font-weight:800;cursor:pointer}
.au-avatar>span:first-child,.au-avatar>img{border-radius:50%;overflow:hidden}
.au-avatar img{display:block}
.au-avatar>span:first-child{display:grid;place-items:center;width:100%;height:100%}
.au-channel__who{flex:1;min-width:160px;padding-bottom:4px}
.au-channel__who strong{display:block;font-size:22px;letter-spacing:-.02em}
.au-channel__who small{color:var(--b-muted)}
.au-channel__status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:4px}
.au-channel__status form{margin:0}
.au-hint{margin:14px 20px 0;color:var(--b-dim);font-size:12.5px}
.au-form .ad-card__head{margin-bottom:6px}
.crop--wide{width:min(860px,calc(100vw - 32px))}
.crop__mobile{position:absolute;z-index:1;border:2px dashed #ffffffd0;border-radius:4px;pointer-events:none}
.crop__mobile em{position:absolute;left:6px;top:4px;padding:1px 6px;border-radius:6px;background:#000000a6;color:#fff;font-size:11px;font-style:normal;font-weight:700}
.crop[data-kind=banner] .crop__box{overflow:visible}
.crop__legend{margin:0;color:var(--b-muted);font-size:13px;line-height:1.45}
.crop__legend b{color:var(--b-ink)}
@media(max-width:560px){.au-channel__row{margin-top:-26px;padding:0 14px}.au-avatar{width:76px;height:76px;font-size:24px}.au-channel__status{width:100%}.au-channel__status form,.au-channel__status .button{width:100%}.au-edit span{display:none}}
.au-form>form,.au-form form.editor-form,.au-form .author-editor{max-width:none;margin:0;padding:0;border:0;background:none;box-shadow:none}
@media(max-width:760px){
  .au-banner{aspect-ratio:3.2/1}
  .au-channel__row{flex-direction:column;align-items:flex-start;gap:10px;margin-top:-30px}
  .au-channel__who{padding:0}
  .au-edit{top:10px;bottom:auto;right:10px;padding:7px 10px;font-size:12px}
}
/* ===== Запасные способы входа ===== */
.alt-logins{display:grid;gap:10px;width:100%;margin-top:18px}
.alt-or{display:flex;align-items:center;gap:12px;margin:2px 0 6px;color:var(--b-dim);font-size:13px}
.alt-or::before,.alt-or::after{content:"";flex:1;height:1px;background:var(--b-line-2)}
.alt-login{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;padding:0 16px;border:1px solid var(--b-line-2);border-radius:14px;background:#ffffff08;color:var(--b-ink);font-size:15px;font-weight:700;transition:background .2s,border-color .2s;cursor:pointer}
.alt-login:hover{background:#ffffff12;border-color:#ffffff33}
.alt-login svg{width:22px;height:22px;flex:none}
details.alt-login{display:block;padding:0}
details.alt-login summary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;list-style:none;cursor:pointer}
details.alt-login summary::-webkit-details-marker{display:none}
details.alt-login[open]{background:#ffffff06}
.alt-email{display:grid;gap:10px;padding:4px 14px 14px;text-align:left}
.alt-email label{display:grid;gap:6px;color:var(--b-muted);font-size:13px;font-weight:600}
.alt-email input,.alt-code__input{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--b-line-2);border-radius:12px;background:#111113;color:var(--b-ink);font:inherit;font-size:16px}
.alt-email input:focus,.alt-code__input:focus{outline:none;border-color:#a08cc0;box-shadow:0 0 0 4px #a08cc026}
.alt-email .button{min-height:48px;border-radius:12px;justify-content:center}
.alt-code{display:grid;gap:12px;width:100%;margin-top:4px}
.alt-code__input{text-align:center;font-size:28px;font-weight:800;letter-spacing:.4em}
.login-split .auth-card .notice{margin:0 0 14px}
.st-row--static{cursor:default}.st-row--static:hover{background:none}
.st-ok{color:#86dba2;font-style:normal;font-weight:800}
.st-note{margin:0 20px 8px;color:#86dba2;font-size:14px}
.st-link{padding:14px 20px 18px;border-top:1px solid var(--b-line)}
.st-link p{margin:0 0 12px;color:var(--b-muted);font-size:14px;line-height:1.5}
.alt-logins--link{margin-top:0}

/* Вход и регистрация — две вкладки одной карточки */
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%;margin:0 0 22px;padding:4px;border-radius:14px;background:#ffffff08;border:1px solid var(--b-line-2)}
.auth-tabs a{display:grid;place-items:center;min-height:38px;border-radius:10px;color:var(--b-dim);font-size:14px;font-weight:700;text-decoration:none;transition:background .2s,color .2s}
.auth-tabs a:hover{color:var(--b-ink)}
.auth-tabs a[aria-current="page"]{background:#ffffff14;color:var(--b-ink)}
.auth-switch{margin:18px 0 0;color:var(--b-dim);font-size:14px;text-align:center}
.auth-switch a{color:var(--b-ink);font-weight:700}
.signup-hint{margin:0 0 18px;padding:14px 16px;border-radius:14px;background:#e77d3b12;border:1px solid #e77d3b33;text-align:left}
.signup-hint strong{display:block;margin-bottom:4px;font-size:14.5px}
.signup-hint p{margin:0;color:var(--b-dim);font-size:14px;line-height:1.5}
.signup-create{width:100%;margin-top:10px}

/* Напоминание «привяжите Яндекс ID»: маленькая всплывашка внизу, не сдвигает страницу */
.login-move{position:fixed;z-index:59;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:min(620px,calc(100vw - 32px));padding:8px 8px 8px 16px;border:1px solid #ffcf5c2e;border-radius:18px;background:#1d1d20f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 50px -18px #000;animation:login-move-in .45s cubic-bezier(.2,.8,.2,1) .8s both}
@media(min-width:1180px){.login-move{left:calc(50% + 94px)}}
.login-move__text{margin:0;min-width:0;color:var(--b-muted,#a6a4a0);font-size:13.5px;line-height:1.4}
.login-move__text b{color:var(--b-ink,#f2efe9);font-weight:700}
.login-move__go{flex:none;padding:9px 14px;border-radius:12px;background:var(--b-orange,#e77d3b);color:#1a1209;font-size:13.5px;font-weight:800;text-decoration:none}
body:has(.cookie-notice) .login-move{display:none}
@keyframes login-move-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translateX(-50%)}}
@media(max-width:720px){.login-move{left:10px;right:10px;width:auto;max-width:none;transform:none;bottom:calc(10px + env(safe-area-inset-bottom));padding:8px 8px 8px 14px;gap:10px;animation-name:login-move-in-m}.login-move__text span{display:none}.login-move__text{font-size:13px}body:has(.mobile-dock) .login-move{bottom:calc(74px + env(safe-area-inset-bottom))}}
@keyframes login-move-in-m{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.login-move{animation:none}}
.st-link--urgent{background:#ffcf5c0d}
.st-link--urgent p b{color:var(--ink,#f0ede8)}
.alt-logins--main{margin-top:6px}
.alt-logins--main .alt-login{min-height:56px;font-size:16px;font-weight:700;border-radius:16px;background:#ffffff0d}
.alt-logins--old{margin-top:22px}
.alt-logins--old .telegram-form{gap:8px}
.alt-login--tg{font:inherit;color:var(--b-muted);cursor:pointer;min-height:46px;font-size:14.5px;font-weight:600}
.alt-login--tg svg{width:18px;height:18px;color:#2aabee}
.telegram-form--old .field-hint{margin:0;color:var(--b-dim);font-size:12.5px;line-height:1.45;text-align:center}
.ad-line--payout{align-items:flex-start}
.ad-reveal{margin-top:8px}
.ad-reveal summary{display:inline-flex;cursor:pointer;color:var(--b-muted);font-size:13px;font-weight:700;list-style:none}
.ad-reveal summary::-webkit-details-marker{display:none}
.ad-reveal summary::before{content:"🔒 ";margin-right:4px}
.ad-reveal[open] summary::before{content:"🔓 "}
.ad-reveal .ad-copy{margin-top:10px}

/* Заявка автора: выбор формата и пример оформления */
.ap-formats{margin:0 0 18px}
.ap-format-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ap-format{position:relative;cursor:pointer;min-width:0}
.ap-format input{position:absolute;opacity:0;pointer-events:none}
.ap-format__card{display:grid;gap:6px;height:100%;padding:16px;border:1px solid var(--b-line-2);border-radius:18px;background:#ffffff05;transition:border-color .2s,background .2s,transform .2s}
.ap-format:hover .ap-format__card{border-color:#ffffff38}
.ap-format__card strong{font-size:17px}
.ap-format__card em{color:var(--b-ink);font-style:normal;font-size:14px;line-height:1.4;opacity:.85}
.ap-format__card small{color:var(--b-muted);font-size:12.5px}
.ap-format input:checked+.ap-format__card{border-color:var(--b-orange);background:#e77d3b17;transform:translateY(-2px)}
.ap-format input:focus-visible+.ap-format__card{outline:2px solid var(--b-orange);outline-offset:2px}
.ap-format-info{display:none;padding:16px 18px;border-radius:16px;background:#ffffff07;border:1px solid var(--b-line);animation:ap-info-in .3s ease}
.ap-format-info summary{cursor:pointer;font-size:15px;font-weight:700;list-style:none}.ap-format-info summary::-webkit-details-marker{display:none}.ap-format-info summary::after{content:"+";float:right;color:var(--b-dim);font-weight:500}.ap-format-info[open] summary::after{content:"–"}.ap-format-info[open] summary{margin-bottom:8px}
.ap-format-info ul{margin:0 0 8px;padding-left:18px;color:var(--b-ink);font-size:14px;line-height:1.55}
.ap-format-info p{margin:0;color:var(--b-muted);font-size:13.5px;line-height:1.5}
.ap-formats:has(input[value=practicum]:checked) .ap-format-info--practicum,
.ap-formats:has(input[value=course]:checked) .ap-format-info--course,
.ap-formats:has(input[value=intensive]:checked) .ap-format-info--intensive,
.ap-formats:has(input[value=trainer]:checked) .ap-format-info--trainer{display:block}
@keyframes ap-info-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.ap-preview{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:20px;align-items:center;margin:0 0 18px;padding:18px;border-radius:18px;background:linear-gradient(120deg,#e77d3b12,#ffffff04);border:1px solid var(--b-line)}
.ap-preview p{margin:8px 0;color:var(--b-muted);font-size:14px;line-height:1.55}
.ap-preview ul{margin:0;padding-left:18px;color:var(--b-ink);font-size:13.5px;line-height:1.6}
.ap-phone{display:grid;gap:9px;padding:14px 13px 13px;border:1px solid #ffffff1f;border-radius:26px;background:#151517;box-shadow:0 18px 40px -20px #000}
.ap-phone__bar{display:flex;gap:4px}.ap-phone__bar i{flex:1;height:3px;border-radius:3px;background:#ffffff1c}.ap-phone__bar i.on{background:var(--b-orange)}
.ap-phone__kicker{color:var(--b-orange);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ap-phone__title{font-size:15px;line-height:1.2}
.ap-phone__card{padding:10px;border-radius:12px;background:#ffffff0a;font-size:11.5px;line-height:1.4;color:var(--b-ink)}
.ap-phone__line{height:6px;border-radius:6px;background:#ffffff14}.ap-phone__line--short{width:60%}
.ap-phone__btn{margin-top:4px;padding:8px;border-radius:10px;background:var(--b-orange);color:#1a1209;text-align:center;font-size:12px;font-weight:800}
@media(max-width:720px){.ap-format-list{grid-template-columns:1fr}.ap-preview{grid-template-columns:1fr}.ap-phone{max-width:220px;margin:0 auto}}
/* Рассылка в Telegram (/admin/broadcast) */
.bc-form{display:grid;gap:14px}
.bc-field{display:grid;gap:6px;min-width:0;align-content:start}
.bc-field>span{color:var(--b-muted);font-size:13px;font-weight:700}
.bc-field>span i{font-style:normal;font-weight:500;color:var(--b-dim)}
.bc-field small{color:var(--b-dim);font-size:12.5px}
.bc-field textarea,.bc-field input,.bc-field select{width:100%;min-width:0;padding:12px 14px;border:1px solid var(--b-line-2);border-radius:14px;background:#ffffff06;color:var(--b-ink);font:inherit;font-size:15px;line-height:1.5}
.bc-field textarea{resize:vertical;min-height:150px}
.bc-field textarea:focus,.bc-field input:focus,.bc-field select:focus{outline:none;border-color:var(--b-orange)}
.bc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bc-actions{display:flex;flex-wrap:wrap;gap:10px}
.bc-actions .ad-btn{min-height:46px;padding:0 18px;font-size:14.5px}
.bc-actions .ad-btn:disabled{opacity:.45;cursor:not-allowed}
.bc-preview{max-width:420px;padding:12px 14px 10px;border-radius:16px 16px 16px 4px;background:#2b5278;color:#fff;font-size:14.5px;line-height:1.45}
.bc-preview__bot{display:block;margin-bottom:4px;color:#8fd0ff;font-size:13px;font-weight:700}
.bc-preview__text{overflow-wrap:anywhere}
.bc-preview__btn{display:block;margin-top:10px;padding:9px;border-radius:10px;background:#ffffff1f;text-align:center;font-size:13.5px;font-weight:600}
@media(max-width:640px){.bc-row{grid-template-columns:1fr}.bc-actions .ad-btn{flex:1}}
.bc .notice{margin:0 0 14px}
.bc .notice--success{border-color:#86dba255;color:#a8ecbe}
.bc .notice a{color:var(--b-orange);font-weight:700}

/* Стандартный выбор файла — в стиле сайта */
input[type=file]{max-width:100%;color:var(--b-muted,#a6a4a0);font:inherit;font-size:14px}
input[type=file]::file-selector-button{margin-right:12px;padding:9px 14px;border:1px solid var(--b-line-2,#ffffff1f);border-radius:11px;background:#ffffff0d;color:var(--b-ink,#f2efe9);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;transition:background .2s}
input[type=file]::file-selector-button:hover{background:#ffffff1a}
/* Вкладки панели: если не влезают — края плавно гаснут, активная вкладка видна сразу */
.ad-tabs.can-left.can-right{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
.ad-tabs.can-right:not(.can-left){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}
.ad-tabs.can-left:not(.can-right){-webkit-mask-image:linear-gradient(90deg,transparent,#000 44px);mask-image:linear-gradient(90deg,transparent,#000 44px)}
/* Под напоминанием оставляем место, чтобы оно не закрывало нижние кнопки */
body:has(.login-move) .site-footer{padding-bottom:96px}
@media(max-width:720px){body:has(.login-move) .site-footer{padding-bottom:150px}}

/* Настройки → Уведомления */
.st-mini{min-height:34px;padding:0 12px;border:1px solid var(--b-line-2);border-radius:10px;background:transparent;color:var(--b-muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.st-mini:hover{color:var(--b-ink);background:#ffffff0d}
.st-toggle label{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;cursor:pointer}
.st-toggle input[type=checkbox]{appearance:none;flex:none;width:46px;height:28px;border-radius:999px;background:#ffffff1f;position:relative;cursor:pointer;transition:background .2s}
.st-toggle input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#f2efe9;transition:transform .2s}
.st-toggle input[type=checkbox]:checked{background:var(--b-orange)}
.st-toggle input[type=checkbox]:checked::after{transform:translateX(18px)}
.st-toggle input[type=checkbox]:focus-visible{outline:2px solid var(--b-orange);outline-offset:2px}
.alt-login--tg-link{font:inherit;cursor:pointer;color:var(--b-ink)}
.alt-login--tg-link svg{color:#2aabee}
.bc-kinds{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bc-kind{position:relative;cursor:pointer}
.bc-kind input{position:absolute;opacity:0;pointer-events:none}
.bc-kind span{display:grid;gap:4px;height:100%;padding:14px;border:1px solid var(--b-line-2);border-radius:16px;background:#ffffff05}
.bc-kind small{color:var(--b-muted);font-size:12.5px;line-height:1.45}
.bc-kind input:checked+span{border-color:var(--b-orange);background:#e77d3b17}
.bc-kind input:focus-visible+span{outline:2px solid var(--b-orange);outline-offset:2px}
.bc-preview__btn--quiet{background:#ffffff12;color:#ffffffb0;font-weight:500}
@media(max-width:640px){.bc-kinds{grid-template-columns:1fr}}
.auth-old-note{margin:20px 0 0;color:var(--b-muted);font-size:13.5px;line-height:1.5;text-align:center}.auth-old-note a{color:var(--b-ink);text-decoration:underline}
.product-card__format{display:inline-block;margin:0 0 6px;color:var(--b-orange,#e77d3b);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

/* Каталог: фильтр по формату (появляется, когда форматов больше одного) */
.catalog-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.catalog-filter a{padding:8px 14px;border-radius:999px;border:1px solid var(--b-line-2);color:var(--b-muted);text-decoration:none;font-size:14px;line-height:1.2}
.catalog-filter a:hover{color:var(--b-ink);border-color:var(--b-dim)}
.catalog-filter a[aria-current="page"]{background:var(--b-ink);color:var(--b-bg);border-color:transparent}

/* Заявка на новый продукт: поля, которые нужны только одному формату */
.mt-only{display:none}
.mt-new:has(input[name=format][value=intensive]:checked) .mt-only--intensive,
.mt-new:has(input[name=format][value=trainer]:checked) .mt-only--trainer{display:grid}
.mt-formats{margin-top:4px}

/* Промокоды: число и единица скидки в одной строке */
.promo-value{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px}

/* Возврат в карточке продажи */
.rf{margin-top:16px;padding:14px 16px;border:1px solid var(--b-line-2);border-radius:16px;background:#ffffff04}
.rf>summary{cursor:pointer;font-weight:650;color:var(--b-ink)}
.rf--done{border-color:#ff8fa633}
.rf-steps{margin:10px 0;padding-left:20px;color:var(--b-ink);font-size:14px;line-height:1.55}
.rf-steps li{margin:4px 0}
.rf-form{display:grid;gap:12px;max-width:360px;margin-top:8px}

/* Заявка в авторы: способ связи */
.ap-contact{display:grid;gap:10px;margin:14px 0 18px;padding:16px 18px;border:1px solid var(--b-line-2);border-radius:18px;background:#ffffff04}
.ap-contact p{margin:0;color:var(--b-muted);font-size:14px;line-height:1.5}
.ap-contact--ok p{color:#a8ecbe}
.ap-contact .button{justify-self:start}
.ap-contact__or{text-transform:uppercase;letter-spacing:.08em;font-size:12px!important;color:var(--b-dim)!important}
.bc-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--b-muted) 50%),linear-gradient(135deg,var(--b-muted) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.bc-field select option{background:var(--b-surface);color:var(--b-ink)}
.bc-field input[type=date]{color-scheme:dark}
.bc-running{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Ширина страницы: обрезаем вылезающее свечение и бегущую строку на уровне оболочки страницы,
   а не html/body — так прокручивается сама страница, и встроенные браузеры (Telegram, Safari) не путаются. */
.site-shell{overflow-x:clip}
@supports not (overflow:clip){.site-shell{overflow-x:hidden}}

/* Плашка «Вход: …» — спокойный зелёный, а не цвет Telegram */
.st-tg{background:#3fb9501f;color:#8fe0a0}
.st-tg::before{background:#46c463}

/* ===== Страницы не на всю ширину: по центру, текст по левому краю блока ===== */
@media(min-width:1100px){
  .page-intro:has(+ .st),.st,.sup,.mt,.ap,.ae{width:100%;margin-left:auto;margin-right:auto}
  .page-intro:has(+ .st),.st{max-width:1080px}
  .sup{max-width:1080px}
  .mt,.ap,.ae{max-width:940px}
  .page-intro:has(+ .st),.sup>.page-intro,.mt>.page-intro,.ap>.page-intro,.ae>.page-intro{padding-left:4px}
}

/* ===== Настройки на широком экране ===== */
@media(min-width:1100px){
  .st{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
  .st>*{grid-column:1/-1}
  .st>.st-profile{grid-column:1}
  .st>.st-stats{grid-column:2}
  .st-profile{padding:26px 30px}
  .st-stats div{align-content:start;padding:26px 28px}
  .st-group{display:grid;grid-template-columns:240px minmax(0,1fr);padding:0}
  .st-group>*{grid-column:2}
  .st-group>.st-head{grid-column:1;grid-row:1/span 30;display:grid;align-content:start;gap:10px;padding:28px 30px;border-right:1px solid var(--b-line)}
  .st-group>.st-head h2{margin:0}
  .st-group>.st-head+*{border-top:0}
  .st-row,.st-link{padding:20px 30px}
  .st-group>.st-note{margin:18px 30px 0}
  .st-logout{grid-template-columns:auto 1fr;align-items:center;justify-items:start;gap:18px;padding:8px 4px 0}
}
.st-head p{display:none}
@media(min-width:1100px){.st-head p{display:block;margin:0;color:var(--b-dim);font-size:13.5px;line-height:1.5}}
.st-group>.st-head+.st-row,.st-group>.st-head+.st-note+.st-row{border-top:0}

/* Телефон: первый экран не пересчитывается, когда браузер (Safari, Telegram) прячет или показывает свои панели.
   Высота экрана запоминается один раз при открытии (brand.js → --vh0 и классы hm-h720/hm-h700),
   иначе страница прыгает по кругу: панель прячется → экран выше → вёрстка меняется → панель снова появляется. */
@media(max-width:760px){
  .hm-first{min-height:calc(var(--vh0,1svh) * 100 - var(--hm-top))}
  .hm-first .hm-hero{padding:clamp(28px,calc(var(--vh0,1svh) * 5),48px) 0 clamp(24px,calc(var(--vh0,1svh) * 4),36px)}
  .hm-first .hm-hero h1{margin:clamp(18px,calc(var(--vh0,1svh) * 3),28px) 0 clamp(16px,calc(var(--vh0,1svh) * 2.6),24px)}
  .hm-first .hm-marquee{padding:clamp(14px,calc(var(--vh0,1svh) * 2.2),26px) 0}
}

/* ===== Загрузка при переходе между страницами ===== */
.dp-loading{position:fixed;inset:0;z-index:5000;pointer-events:none;display:grid;place-items:center;opacity:0;transition:opacity .25s ease}
.dp-loading__bar{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--b-orange,#e77d3b),#f39a5c,#b9a3dc);box-shadow:0 0 12px #e77d3b99;opacity:0}
.dp-loading.is-bar .dp-loading__bar{opacity:1;animation:dp-bar 8s cubic-bezier(.1,.7,.2,1) forwards}
@keyframes dp-bar{0%{transform:scaleX(0)}15%{transform:scaleX(.35)}40%{transform:scaleX(.62)}100%{transform:scaleX(.94)}}
.dp-loading__card{display:grid;justify-items:center;gap:16px;padding:30px 36px;border:1px solid #ffffff17;border-radius:26px;background:#1c1c1fe6;box-shadow:0 30px 80px #0009;transform:translateY(8px) scale(.98);transition:transform .3s cubic-bezier(.22,1,.36,1);opacity:0}
.dp-loading.is-full{opacity:1;background:#151517b3;pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dp-loading.is-bar{opacity:1}
.dp-loading.is-full .dp-loading__card{opacity:1;transform:none}
.dp-loading__logo{font-size:26px;font-weight:800;letter-spacing:-.05em;color:#f2efe9}
.dp-loading__logo b{color:var(--b-orange,#e77d3b);display:inline-block;animation:dp-slash 1.1s ease-in-out infinite}
@keyframes dp-slash{50%{opacity:.35;transform:translateY(-2px)}}
.dp-loading__dots{display:flex;gap:7px}
.dp-loading__dots i{width:8px;height:8px;border-radius:50%;background:#f39a5c;animation:dp-dot 1s ease-in-out infinite}
.dp-loading__dots i:nth-child(2){animation-delay:.15s;background:#e9a37a}.dp-loading__dots i:nth-child(3){animation-delay:.3s;background:#b9a3dc}
@keyframes dp-dot{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-6px);opacity:1}}
.dp-loading__text{color:#a6a4a0;font-size:14px}
@media (prefers-reduced-motion:reduce){.dp-loading__bar,.dp-loading__logo b,.dp-loading__dots i{animation:none!important}.dp-loading.is-bar .dp-loading__bar{transform:scaleX(.6)}}

/* Партнёрское соглашение: из чего складывается цена и таблица «хочу получать → ставлю цену» */
.doc-split{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 16px}
.doc-split--two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:480px}
.doc-step{margin:14px 0 0;color:var(--b-ink);font-size:14px;font-weight:600}
.doc-split>div{display:grid;gap:4px;padding:14px 14px 12px;border:1px solid var(--b-line);border-radius:14px;background:#ffffff05}
.doc-split b{color:var(--b-ink);font-size:22px;font-weight:650;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.doc-split span{color:var(--b-muted);font-size:13px;line-height:1.35}
.doc-split .doc-split__you{border-color:#46c46355;background:#3fb95014}
.doc-split .doc-split__you b{color:#8fe0a0}
.doc-table{width:100%;max-width:420px;margin:10px 0 18px;border-collapse:collapse;font-variant-numeric:tabular-nums}
.doc-table th,.doc-table td{padding:10px 14px;border-bottom:1px solid var(--b-line);text-align:left;font-size:15px}
.doc-table th{color:var(--b-muted);font-size:13px;font-weight:500}
.doc-table td:last-child{color:var(--b-ink);font-weight:600}
@media(max-width:560px){.doc-split{grid-template-columns:1fr 1fr}}


/* Комментарии: честные отметки учеников */
.cm-badge--done{background:#3fb95020;color:#8fe0a0}
.cm-badge--student{background:#ffffff10;color:var(--b-muted)}

/* Конец практикума: сертификат, отзыв, «что дальше» */
.tr-done{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.tr-cert,.tr-review{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--b-line-2);border-radius:18px;background:var(--b-surface);color:var(--b-ink);text-decoration:none;transition:border-color .2s}
.tr-cert:hover,.tr-review:hover{border-color:#ffffff38}
.tr-cert strong,.tr-review strong{display:block;font-size:15px}
.tr-cert small,.tr-review small{display:block;margin-top:3px;color:var(--b-muted);font-size:13px;line-height:1.45}
.tr-cert__seal{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;background:#e77d3b1f;color:var(--b-orange)}
.tr-cert__seal svg{width:24px;height:24px}
.tr-next{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;margin-top:12px;padding:24px 26px;border:1px solid #e77d3b40;border-radius:22px;background:radial-gradient(90% 160% at 100% 0%,#e77d3b1c,transparent 60%),var(--b-surface)}
.tr-next h2{margin:6px 0 6px;font-size:clamp(20px,2vw,24px)}
.tr-next p{margin:0;color:var(--b-muted);font-size:14.5px;line-height:1.5}
.tr-next__gift{margin-top:12px!important;color:var(--b-ink)!important}
.tr-next__gift span{display:block;margin-top:6px;color:var(--b-muted);font-size:13.5px}
.tr-next code,.tr-invite code{padding:2px 8px;border-radius:8px;background:#ffffff10;color:var(--b-ink);font-weight:700;letter-spacing:.04em}
@media(max-width:760px){.tr-done{grid-template-columns:1fr}.tr-next{grid-template-columns:1fr}.tr-next .button{justify-content:center}}
.tr-trial-end .pd-kind{display:inline-block;margin-bottom:10px}
.tr-invite{gap:14px}

/* Сертификат по макету Данила: A4 альбомный, слева белое поле, справа тёмная косая плашка с оранжевой кромкой и числом уроков.
   Все размеры — в cqw от ширины листа (1cqw = 1/100 ширины), поэтому на экране, телефоне и в PDF это один макет в разном масштабе. */
@font-face{font-family:'Unbounded';font-weight:200 900;font-display:swap;src:url(/fonts/site/unbounded-cyrillic-wght-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-weight:200 900;font-display:swap;src:url(/fonts/site/unbounded-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:'JetBrains Mono';font-weight:400;font-display:swap;src:url(/fonts/site/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-weight:400;font-display:swap;src:url(/fonts/site/jetbrains-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:'JetBrains Mono';font-weight:500;font-display:swap;src:url(/fonts/site/jetbrains-mono-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-weight:500;font-display:swap;src:url(/fonts/site/jetbrains-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F}
.cert-page{display:grid;justify-items:center;gap:var(--sp-5,24px);padding:clamp(24px,4vw,56px) 0 64px}
.cert-sheet{container-type:inline-size;width:min(100%,1040px);border-radius:6px;overflow:hidden;box-shadow:0 40px 90px -40px #000,0 0 0 1px #ffffff14;outline:0}
html body .cert-page .cert{--c-ink:#141414;--c-muted:#6f6b66;--c-line:#ddd6cc;--c-acc:#e77d3b;--wide:'Unbounded','Onest',sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;
  position:relative;box-sizing:border-box;aspect-ratio:297/210;margin:0;padding:0;border:0;border-radius:0;background:#fff!important;background-image:none!important;color:var(--c-ink);font-family:'Onest','Manrope',system-ui,sans-serif;overflow:hidden}
.cert::after{content:none}
.cert p,.cert h1{margin:0}
/* Правая плашка: оранжевая кромка + тёмная заливка, обе со скосом. */
.cert__side{position:absolute;top:0;bottom:0;right:0;width:31.25cqw;background:var(--c-acc);clip-path:polygon(23.2% 0,100% 0,100% 100%,0 100%)}
.cert__side::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 45% at 10% 100%,#3d2619,transparent 70%),linear-gradient(160deg,#1b1a1a,#141414 60%);clip-path:polygon(26.4% 0,100% 0,100% 100%,3.2% 100%)}
/* Левая часть */
.cert__left{position:absolute;left:7.1cqw;top:5.6cqw;bottom:4.9cqw;width:57.3cqw;display:flex;flex-direction:column}
.cert__brand{font-family:'Onest',sans-serif;font-size:3.6cqw;line-height:1;font-weight:800;letter-spacing:-.055em;color:var(--c-ink)}
.cert__brand span{color:var(--c-acc)}
.cert__main{margin-top:auto;padding-bottom:1cqw}
html body .cert .cert__kicker{display:flex;align-items:center;gap:1.5cqw;margin-bottom:3.4cqw;color:var(--c-muted)!important;font-family:var(--mono);font-size:1cqw;font-weight:500;letter-spacing:.42em;text-transform:uppercase}
.cert__kicker::before{content:"";width:2.1cqw;height:.17cqw;background:var(--c-acc)}
.cert__name{font-family:var(--wide);font-weight:600;line-height:1.02;letter-spacing:-.035em;color:var(--c-ink);text-wrap:balance;overflow-wrap:anywhere}
.cert__name--l{font-size:6.6cqw}.cert__name--m{font-size:5.2cqw}.cert__name--s{font-size:4.1cqw}
.cert__line{margin-top:3.8cqw!important;color:var(--c-muted);font-size:1.3cqw}
html body .cert .cert__product{margin-top:1.2cqw;color:var(--c-ink);font-family:var(--wide);font-weight:500;line-height:1.15;letter-spacing:-.03em;text-wrap:balance}
html body .cert .cert__product--l{font-size:2.6cqw}html body .cert .cert__product--m{font-size:2.15cqw}html body .cert .cert__product--s{font-size:1.75cqw}
.cert__foot{display:grid;grid-template-columns:19.5cqw 19.5cqw 1fr;align-items:end;margin-top:auto;padding-top:2.1cqw;border-top:.1cqw solid var(--c-line)}
.cert__foot>div{display:grid;gap:.9cqw;min-width:0}
.cert__foot b{font-size:1.4cqw;font-weight:600;line-height:1.2;color:var(--c-ink)}
.cert__foot span{font-size:1cqw;color:var(--c-muted)}
.cert__check{display:flex!important;align-items:center;gap:1.5cqw;justify-self:end}
.cert__qr{flex:none;width:5.8cqw;height:5.8cqw;color:#111}
.cert__check code{display:block;font-family:var(--mono);font-size:1.12cqw;line-height:1.45;color:var(--c-ink);word-break:normal}
.cert__check>div{display:grid;gap:.6cqw}
.cert__note{margin-top:1.7cqw!important;color:#9a958f;font-size:.82cqw;line-height:1.4}
/* Правая часть */
.cert__right{position:absolute;top:5.6cqw;right:5cqw;bottom:5cqw;left:72cqw;display:flex;flex-direction:column;align-items:flex-end;color:#ecebe7}
.cert__id{font-family:var(--mono);font-size:1.05cqw;letter-spacing:.06em;color:#ecebe7;margin-top:.6cqw!important}
.cert__id span{color:#8c8781;margin-right:.3em}
.cert__stats{margin-top:auto;display:flex;flex-direction:column;align-items:flex-end}
.cert__num{font-family:var(--wide);font-weight:600;font-size:16cqw;line-height:.82;letter-spacing:-.06em;color:#ecebe7;font-variant-numeric:lining-nums}
.cert__meta{margin-top:3cqw!important;font-family:var(--mono);font-size:1cqw;line-height:1.75;letter-spacing:.38em;text-transform:uppercase;text-align:right;color:#8c8781;margin-right:-.38em}
.cert__meta::before{content:"";display:block;width:2.1cqw;height:.17cqw;margin:0 .38em 2cqw auto;background:var(--c-acc)}
.cert-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.cert-hint{margin:0;color:var(--b-dim);font-size:13px;text-align:center}
.cert-hint a{color:inherit}
.cert-zoomhint{display:none}
/* Имя на сертификате: строка под листом + окно «Изменить» (один раз) */
.cert-namebar{box-sizing:border-box;width:min(100%,1040px);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px 16px 20px;border-radius:18px;background:#1b1b1f;border:1px solid #ffffff12}
.cert-namebar__text{display:grid;gap:3px;min-width:0}
.cert-namebar__text small{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--b-dim)}
.cert-namebar__text b{font-family:'Unbounded',sans-serif;font-weight:600;font-size:18px;line-height:1.25;letter-spacing:-.03em;color:var(--b-ink);overflow-wrap:anywhere}
.cert-namebar__text em{font-style:normal;font-size:13px;line-height:1.45;color:var(--b-dim)}
.cert-namebar__text em a{color:inherit}
.cert-namebar__ok{font-weight:600;color:#9fd8a8}
.cert-namebar__edit{flex:none;display:inline-flex;align-items:center;gap:8px}
.cert-namebar__edit svg{width:17px;height:17px}
.cert-dlg{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto;padding:0;border:1px solid #ffffff14;border-radius:22px;background:#1b1b1f;color:var(--b-ink);box-shadow:0 40px 100px -30px #000}
.cert-dlg::backdrop{background:#000b;backdrop-filter:blur(4px)}
.cert-dlg__form{display:grid;gap:16px;padding:22px}
.cert-dlg__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cert-dlg__head h2{margin:0;font-size:20px;letter-spacing:-.02em}
.cert-dlg__close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#ffffff10;color:var(--b-ink);cursor:pointer}
.cert-dlg__close svg{width:18px;height:18px}
.cert-dlg__lead{margin:-6px 0 0;font-size:14px;line-height:1.5;color:var(--b-dim)}
.cert-name__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cert-name__row label{display:grid;gap:8px;font-size:13px;color:var(--b-dim)}
.cert-name__row input{box-sizing:border-box;width:100%;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid #ffffff1f;background:#121214;color:var(--b-ink);font:inherit;font-size:16px}
.cert-name__row input:focus{outline:2px solid #e77d3b80;outline-offset:1px;border-color:transparent}
.cert-name__preview{display:grid;gap:6px;margin:0;padding:14px 16px;border-radius:14px;background:#fff;color:#6f6b66;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.cert-name__preview b{font-family:'Unbounded',sans-serif;font-weight:600;font-size:20px;line-height:1.2;letter-spacing:-.03em;text-transform:none;color:#141414;overflow-wrap:anywhere}
.cert-name__warn{margin:0;padding:12px 14px;border-radius:12px;background:#e77d3b14;border:1px solid #e77d3b33;color:#f0d6c4;font-size:13.5px;line-height:1.5}
.cert-name__warn b{color:#ffb98a}
.cert-name__agree{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--b-ink);cursor:pointer}
.cert-name__agree input{width:18px;height:18px;accent-color:#e77d3b}
.cert-name__err{margin:0;color:#ff9c8a;font-size:13.5px}
.cert-dlg__actions{display:flex;gap:10px}
@media (max-width:639px){
  .cert-namebar{flex-direction:column;align-items:stretch;gap:14px;padding:16px}
  .cert-namebar__edit{justify-content:center;width:100%}
  .cert-dlg__actions [data-cert-close]{display:none}
  .cert-namebar__text b{font-size:16px}
  .cert-name__row{grid-template-columns:1fr}
  .cert-dlg{width:100%;max-width:none;margin:auto 0 0;border-radius:22px 22px 0 0;max-height:92svh}
  .cert-dlg__form{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}
  .cert-dlg__actions{flex-direction:column}.cert-dlg__actions .button{width:100%}
}
@media print{.cert-namebar,.cert-dlg{display:none}}
/* Телефон: лист целиком, по нажатию — на весь экран с поворотом. */
@media (max-width:639px){
  .cert-sheet{cursor:zoom-in}
  .cert-zoomhint{display:block;margin:-8px 0 0;color:var(--b-dim);font-size:13px}
  .cert-actions{display:grid;grid-template-columns:1fr;width:100%}.cert-actions .button{width:100%}
  html.cert-zoom{overflow:hidden}
  html.cert-zoom .cert-sheet{position:fixed;z-index:300;left:50%;top:50%;width:min(100svh - 32px,141.4vw - 46px);transform:translate(-50%,-50%) rotate(90deg);cursor:zoom-out;box-shadow:0 0 0 100vmax #000e}
}
@media print{
  html:root,html body,html body main{background:#fff!important}
  body *{visibility:hidden!important}
  .cert-sheet,.cert-sheet *{visibility:visible!important}
  .cert-sheet{position:fixed;left:0;top:0;width:297mm;height:210mm;box-shadow:none;border-radius:0}
  html body .cert-page .cert{width:297mm;height:210mm;aspect-ratio:auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cert-sheet .cert__side,.cert-sheet .cert__side::before{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{size:A4 landscape;margin:0}
}
.tr-cert__seal--soft{background:#a08cc01c;color:var(--b-violet)}

/* Колонка слева: «О проекте» и «Поддержка» внизу, одной группой */
.site-rail__help-group{display:none}
@media(min-width:1180px){
  .site-rail .site-rail__help-group{display:grid;gap:2px;margin-top:auto}
  .site-rail .site-rail__help-group .site-rail__help{margin-top:0}
  .site-rail__help-group+.site-rail__account{margin-top:8px}
}

/* ===== О проекте ===== */
.ab{display:grid;gap:clamp(28px,4vw,48px);max-width:1040px;margin:0 auto;padding:clamp(16px,3vw,32px) 0 64px}
.ab-hero{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,52px)}
.ab-photo{position:relative;aspect-ratio:1;border-radius:28px;overflow:hidden;border:1px solid var(--b-line-2);box-shadow:0 30px 70px -30px #000}
.ab-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#15151799);pointer-events:none}
.ab-photo img{display:block;width:100%;height:100%;object-fit:cover}
.ab-intro h1{margin:10px 0 12px;font-size:clamp(36px,5vw,60px);line-height:1.02;letter-spacing:-.035em}
.ab-lead{margin:0;color:var(--b-muted);font-size:clamp(17px,1.8vw,20px);line-height:1.5}
.ab-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.ab-tags span{padding:6px 12px;border:1px solid var(--b-line-2);border-radius:999px;color:var(--b-ink);font-size:13px}
.ab-story{max-width:720px}
.ab-story h2,.ab-contact h2{margin:0 0 14px;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em}
.ab-story p{margin:0 0 14px;color:#d4d1cb;font-size:clamp(16px,1.6vw,18px);line-height:1.7}
.ab-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ab-principle{padding:22px;border:1px solid var(--b-line);border-radius:20px;background:var(--b-surface)}
.ab-principle__icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:14px;border-radius:13px;background:#e77d3b1c;color:var(--b-orange)}
.ab-principle__icon svg{width:22px;height:22px}
.ab-principle strong{display:block;font-size:16px}
.ab-principle p{margin:6px 0 0;color:var(--b-muted);font-size:14px;line-height:1.55}
.ab-bottom{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px}
.ab-contact,.ab-seller{margin:0;padding:clamp(22px,2.6vw,30px);border:1px solid var(--b-line);border-radius:22px;background:var(--b-surface)}
.ab-contact p{margin:0;color:var(--b-muted);line-height:1.55}
.ab-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 16px}
.ab-more{font-size:14px}.ab-more a{color:var(--b-ink)}
.ab-seller{display:grid;gap:12px;align-content:start}
.ab-seller div{display:grid;gap:2px}
.ab-seller dt{color:var(--b-dim);font-size:12px;letter-spacing:.03em}
.ab-seller dd{margin:0;color:var(--b-ink);font-size:14.5px;line-height:1.45;font-variant-numeric:tabular-nums}
.ab-seller a{color:inherit}
.ab-missing{color:var(--b-orange)}
@media(max-width:860px){.ab-hero{grid-template-columns:1fr}.ab-photo{max-width:420px}.ab-principles,.ab-bottom{grid-template-columns:1fr}}

/* ===== Статьи ===== */
.ar-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding-bottom:56px}
.ar-card{display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid var(--b-line);border-radius:20px;background:var(--b-surface);color:var(--b-ink);text-decoration:none;transition:border-color .2s,transform .2s}
.ar-card:hover{border-color:#ffffff30;transform:translateY(-2px)}
.ar-card h2{margin:4px 0 0;font-size:20px;line-height:1.25}
.ar-card p{margin:0;color:var(--b-muted);font-size:14.5px;line-height:1.55}
.ar-card__meta{color:var(--b-dim);font-size:12.5px}
.ar-card__go{margin-top:auto;padding-top:8px;color:var(--b-orange);font-size:14px;font-weight:600}
.ar-empty{color:var(--b-muted)}
.ar{max-width:720px;margin:0 auto;padding:clamp(16px,3vw,32px) 0 64px}
.ar-head h1{margin:12px 0 12px;font-size:clamp(30px,4.4vw,46px);line-height:1.1;letter-spacing:-.03em}
.ar-lead{margin:0;color:var(--b-muted);font-size:clamp(17px,1.8vw,19px);line-height:1.55}
.ar-body{margin-top:clamp(22px,3vw,34px);color:#dcd9d3;font-size:clamp(16px,1.6vw,18px);line-height:1.75}
.ar-body h2{margin:32px 0 10px;color:var(--b-ink);font-size:clamp(21px,2.4vw,26px);line-height:1.25}
.ar-body p,.ar-body ul,.ar-body ol{margin:0 0 16px}
.ar-body li{margin:6px 0}
.ar-body a{color:var(--b-orange-2)}
.ar-body blockquote{margin:20px 0;padding:14px 18px;border-left:3px solid var(--b-orange);border-radius:0 12px 12px 0;background:#ffffff06;color:var(--b-ink)}
.ar-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding:22px 24px;border:1px solid #e77d3b40;border-radius:20px;background:radial-gradient(90% 160% at 100% 0%,#e77d3b18,transparent 60%),var(--b-surface)}
.ar-cta strong{display:block;font-size:16px}.ar-cta span{display:block;margin-top:4px;color:var(--b-muted);font-size:14px}
.ar-more{display:grid;gap:8px;margin-top:28px}
.ar-more a{color:var(--b-ink);font-size:15px}
@media(max-width:640px){.ar-cta{flex-direction:column;align-items:flex-start}}
@media(min-width:1180px){
  .site-rail__help-group>a{position:relative;isolation:isolate;display:flex;align-items:center;gap:13px;min-height:42px;padding:9px 13px;border-radius:11px;color:var(--muted);font-size:13px;font-weight:600;transition:color .2s ease}
  .site-rail__help-group>a svg{flex:0 0 20px;width:20px;height:20px}
  .site-rail__help-group>a:hover{background:#ffffff08;color:var(--ink)}
  .site-rail__help-group>a[aria-current=page]{background:var(--soft);box-shadow:inset 2px 0 0 var(--ink);color:var(--ink)}
}
.ar-cta .button{flex:none;white-space:nowrap}

.ab-tags .ab-tag--green{border-color:#46c46355;background:#3fb9501f;color:#8fe0a0;font-weight:600}
/* Заявки по шагам (в авторы и на продукт): один шаг на экране, черновик сохраняется */
.ap-wizard{max-width:640px}
.ap-wizard__head{margin:0 0 24px}
.ap-wizard__head .hm-kicker{margin-bottom:10px}
.ap-wizard__head h1{margin:0 0 16px;font-size:clamp(30px,5vw,44px);letter-spacing:-.03em}
.ap-steps{display:flex;gap:6px;margin:0;padding:0;list-style:none}
.ap-steps li{flex:1;display:grid;gap:8px;min-width:0;color:var(--b-dim);font-size:13px;font-weight:700}
.ap-steps li::before{content:"";display:block;height:4px;border-radius:999px;background:#ffffff14}
.ap-steps li.is-done::before,.ap-steps li.is-now::before{background:var(--b-ink)}
.ap-steps li.is-now,.ap-steps li.is-done{color:var(--b-ink)}
.ap-steps a{color:inherit;text-decoration:none}.ap-steps a:hover{text-decoration:underline}
.ap-wizard__body{margin:0}
.ap-wizard__body>.ap-field:first-child{margin-top:0}
.ap-wizard__body .ap-contact{margin-bottom:0}
.ap-wizard__body .ap-formats{margin-bottom:20px}
.ap-wizard__body .ap-check{margin-top:4px}
.ap-wizard__foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:20px}
.ap-wizard__foot .ap-submit{margin:0}
.ap-wizard__foot small{flex-basis:100%;color:var(--b-dim);font-size:13px}
.ap-wizard__foot .mt-status{flex-basis:100%;margin:0}
.ap-back{order:2;color:var(--b-muted);font-size:14.5px;text-decoration:none}.ap-back:hover{color:var(--b-ink)}
.mt-add{margin:0 0 24px}
@media(max-width:720px){.ap-wizard__foot .ap-submit{width:100%}.ap-back{order:3}}
.mt .ap+.ae-foot{max-width:640px}
/* Профиль автора: короче форма, соцсети с иконками */
.author-editor .field small{color:var(--b-muted);font-size:13px;font-weight:500;line-height:1.45}
.author-editor .field em{color:var(--b-dim);font-style:normal;font-weight:600}
.author-editor__group{border-color:var(--b-line)!important;border-radius:18px!important;background:#ffffff04}
.author-editor__group>p{margin:0;color:var(--b-muted);font-size:13.5px;font-weight:500;line-height:1.45}
.author-editor__social{gap:12px!important}
.field--social{grid-template-columns:40px 110px minmax(0,1fr);align-items:center;gap:10px!important}
.field--social .field__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#ffffff0a;color:var(--b-ink)}
.field--social .field__icon svg{width:20px;height:20px}
.field--social input{min-height:44px}
@media(max-width:600px){.field--social{grid-template-columns:40px minmax(0,1fr)}.field--social>span:nth-child(2){display:none}}
.author-page[data-channel] .author-link svg{width:18px;height:18px;margin-right:2px}
.author-page[data-channel] .author-socials{margin-top:18px;padding-top:16px;border-top:1px solid var(--b-line)}
.author-page[data-channel] .author-socials__label{display:block;margin-bottom:10px;color:var(--b-muted);font-size:13px}
.author-page[data-channel] .author-about-card .author-socials ul{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;margin:0;padding:0;list-style:none}
.author-page[data-channel] .author-about-card .author-socials li{display:block;padding:0;border:0;min-width:0}
.author-page[data-channel] .author-about-card .author-socials li a.author-social{display:flex;justify-content:center;align-items:center;min-height:48px;padding:0;border-radius:12px;background:#ffffff0a;color:var(--b-ink);text-decoration:none}
.author-page[data-channel] .author-social:hover{background:#ffffff14}
.author-page[data-channel] .author-social span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.author-page[data-channel] .author-social svg{flex:none;width:22px;height:22px}
/* Бесплатная часть пройдена: персональная скидка */
.pw{max-width:560px;margin:0 auto;padding:clamp(40px,8vh,96px) 0 48px;text-align:center}
.pw--offer{display:grid;gap:14px;justify-items:center}
.pw-kicker{padding:6px 12px;border-radius:999px;background:#86dba21f;color:#a8ecbe;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pw--offer h1{margin:4px 0 0;font-size:clamp(28px,5vw,40px);line-height:1.1;letter-spacing:-.03em}
.pw-lead{margin:0;color:var(--b-muted);font-size:16px;line-height:1.55}
.pw-card{width:100%;display:grid;gap:14px;margin-top:10px;padding:22px;border-radius:22px;background:#ffffff08;border:1px solid var(--b-line)}
.pw-timer{display:grid;gap:4px}
.pw-timer__label{color:var(--b-muted);font-size:13px}
.pw-timer strong{font-size:clamp(36px,8vw,48px);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.pw-price{display:flex;justify-content:center;align-items:baseline;gap:12px}
.pw-price s{color:var(--b-dim);font-size:18px}
.pw-price strong{font-size:28px}
.pw-price span{padding:3px 9px;border-radius:999px;background:#86dba224;color:#a8ecbe;font-size:13px;font-weight:800}
.pw-buy{min-height:54px;font-size:16px}
.pw-note{margin:0;color:var(--b-dim);font-size:13px;line-height:1.5}
.pw-later{color:var(--b-muted);font-size:14px}
.pd .pd-lesson--freepart .pd-lesson__meta{color:#a8ecbe}
.pw-banner{position:sticky;top:8px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 16px;padding:12px 14px 12px 18px;border-radius:16px;background:#1f2a23;border:1px solid #86dba240;color:#d6f3df;font-size:14.5px}
.pw-banner b{font-variant-numeric:tabular-nums}
.pw-banner .button{min-height:42px}
@media(max-width:600px){.pw-banner .button{width:100%}}
.checkout-personal{display:grid;gap:4px;padding:14px 16px;border-radius:14px;background:#86dba214;border:1px solid #86dba238}
.checkout-personal strong{color:#a8ecbe;font-size:15px}
.checkout-personal span{color:var(--b-muted);font-size:13.5px}
/* Цена практикума с бесплатной частью: «попробовать» и «купить» — два разных действия */
.pd .pd-buy .pd-choice{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%}
.pd .pd-buy .pd-choice .button{width:100%;justify-content:center}
.pd .pd-buy .pd-choice__try{flex-direction:column;gap:2px;min-height:58px;line-height:1.2}
.pd .pd-buy .pd-choice__try small{font-size:12.5px;font-weight:600;opacity:.7}
.pd .pd-buy .pd-choice__try small:empty{display:none}
.pd .pd-buy .pd-choice__or{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted,#9a9894);margin:2px 0}
.pd .pd-buy .pd-choice__or::before,.pd .pd-buy .pd-choice__or::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.1)}
.pd .pd-buy .pd-choice__again{align-self:center;font-size:13px;color:var(--muted,#9a9894);text-decoration:underline;text-underline-offset:3px}
/* Экран оплаты «Цвета»: сайт сейчас и размытый финал */
.pw-site{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 22px}
.pw-site figure{margin:0;display:grid;gap:10px}
.pw-frame{height:190px;overflow:hidden;border-radius:14px;border:1px solid var(--b-line,#ffffff1a);background:#fff;pointer-events:none}
.pw-frame--final{filter:blur(5px) saturate(1.1);transform:scale(1.02)}
.pw-site__final{position:relative}
.pw-site__final::after{content:"🔒";position:absolute;top:80px;left:50%;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#141416d9;font-size:18px}
.pw-site figcaption{display:grid;gap:2px}.pw-site figcaption b{font-size:15px}.pw-site figcaption span{font-size:13px;color:var(--b-muted,#aaa8a4);line-height:1.4}
@media(max-width:640px){.pw-site{gap:10px}.pw-frame{height:120px;border-radius:10px}.pw-site__final::after{top:38px;width:38px;height:38px;font-size:15px}.pw-site figcaption b{font-size:13.5px}.pw-site figcaption span{font-size:12px}}
/* Сертификат «Цвета»: сайт ученика под сертификатом */
.cert-site{display:grid;gap:10px;width:100%;max-width:860px;margin:8px auto 0}.cert-site__label{margin:0;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--b-muted,#aaa8a4)}
.cert-site__frame{height:clamp(240px,42vw,440px);overflow:auto;border-radius:16px;border:1px solid #ffffff1a;background:#fff;scrollbar-width:none}
@media print{.cert-site{display:none}}

/* ---------- Становление автором: готовые шапки, страница в заявке, «Создать продукт» ---------- */
html body .author-banner--p1,html body .au-banner.author-banner--p1{background:radial-gradient(120% 160% at 88% 0%,#ffffff26,transparent 55%),linear-gradient(115deg,#24172a 0%,#6d3436 48%,#e7894a 100%)!important}
html body .author-banner--p2,html body .au-banner.author-banner--p2{background:radial-gradient(120% 160% at 88% 0%,#ffffff22,transparent 55%),linear-gradient(118deg,#0d1d2b 0%,#1b4a66 52%,#5ea6b6 100%)!important}
html body .author-banner--p3,html body .au-banner.author-banner--p3{background:radial-gradient(120% 160% at 88% 0%,#ffffff20,transparent 55%),linear-gradient(118deg,#111d16 0%,#2c573b 55%,#9fb768 100%)!important}
html body .author-banner--p4,html body .au-banner.author-banner--p4{background:radial-gradient(120% 160% at 88% 0%,#ffffff22,transparent 55%),linear-gradient(118deg,#1e1a2e 0%,#57478a 52%,#c6a6df 100%)!important}
html body .author-banner--p5,html body .au-banner.author-banner--p5{background:radial-gradient(90% 140% at 82% 10%,#5a5a64,transparent 60%),linear-gradient(118deg,#121214 0%,#26262b 100%)!important}
html body .author-banner--p6,html body .au-banner.author-banner--p6{background:radial-gradient(120% 160% at 88% 0%,#ffffff2a,transparent 55%),linear-gradient(118deg,#33291f 0%,#957754 55%,#ead5aa 100%)!important}
.au-presets{margin:18px 20px 0;padding:0;border:0;min-width:0}
.au-presets legend{margin:0 0 10px;padding:0;color:var(--b-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.au-presets__row{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.au-preset{display:grid;gap:6px;cursor:pointer}
.au-preset input{position:absolute;opacity:0;pointer-events:none}
.au-preset__sw{display:block;aspect-ratio:2.6/1;border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff14;overflow:hidden;transition:box-shadow .2s,transform .2s}
.au-preset__sw--own{background:var(--b-surface-2)}
.au-preset__sw img{display:block;width:100%;height:100%;object-fit:cover}
.au-preset__name{color:var(--b-muted);font-size:12.5px;font-weight:600;text-align:center}
.au-preset:hover .au-preset__sw{transform:translateY(-1px)}
.au-preset input:checked+.au-preset__sw{box-shadow:0 0 0 2px var(--b-bg),0 0 0 4px var(--b-orange)}
.au-preset input:checked~.au-preset__name{color:var(--b-ink)}
.au-preset input:focus-visible+.au-preset__sw{box-shadow:0 0 0 2px var(--b-bg),0 0 0 4px var(--b-violet)}
.au-avatar--empty>span:first-child{background:var(--b-surface-2);color:var(--b-muted);box-shadow:inset 0 0 0 2px #ffffff26}
.au-avatar--empty{background:var(--b-surface-2)}
.au-avatar--empty::after{content:'Добавьте фото';position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);white-space:nowrap;color:var(--b-orange-2);font-size:12px;font-weight:700}
.au-live{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:14px 18px;border:1px solid var(--b-line);border-radius:18px;background:var(--b-surface)}
.au-live form{margin:0}
.au-live__text{flex:1;min-width:180px;color:var(--b-muted);font-size:14px}
.ap-lead{margin:0 0 18px;color:var(--b-muted);font-size:15px;line-height:1.55}
.ap-page{margin:0 0 26px}
.ap-page .au-channel{margin:0;background:var(--b-bg)}
.ap-page .au-channel__row{padding-bottom:6px}
.ap-wizard__body--s3 .au-avatar--empty{margin-bottom:18px}
.ap-review{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:24px;align-items:start}
.ap-review__frame{position:relative;overflow:hidden;max-height:620px;padding:16px;border:1px solid var(--b-line-2);border-radius:18px;background:var(--b-bg)}
.ap-review__frame::after{content:'';position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,var(--b-bg));pointer-events:none}
.ap-review__tag{position:absolute;z-index:2;top:26px;left:26px;padding:4px 10px;border-radius:999px;background:#000000a0;backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:700}
.ap-review__frame .author-page{margin:0;pointer-events:none}
.ap-review__side h2{margin:0 0 14px;font-size:22px;letter-spacing:-.02em}
.ap-next{display:grid;gap:12px;margin:0 0 18px;padding:0;list-style:none}
.ap-next li{display:flex;gap:12px;color:var(--b-muted);font-size:14.5px;line-height:1.5}
.ap-next b{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--b-violet-bg);color:var(--b-violet);font-size:13px}
.ap-review__side .ap-back{display:inline-block;margin:0 0 18px}
@media(max-width:820px){.ap-review{grid-template-columns:1fr}.ap-review__frame{max-height:520px;padding:12px}}
.ap-create{margin:0 0 28px;padding:clamp(20px,3vw,28px);border:1px solid #e77d3b40;border-radius:22px;background:radial-gradient(120% 100% at 100% 0%,#e77d3b14,transparent 60%),var(--b-surface)}
.ap-create__eye{display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:999px;background:#ffffff0d;color:var(--b-muted);font-size:12px;font-weight:700}
.ap-create h2{margin:0 0 8px;font-size:clamp(22px,2.6vw,28px);letter-spacing:-.02em}
.ap-create p{max-width:620px;margin:0 0 18px;color:var(--b-muted);line-height:1.55}
.ap-create__fmts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ap-create__fmt{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--b-line-2);border-radius:16px;background:var(--b-bg);color:var(--b-ink);text-decoration:none;transition:border-color .2s,transform .2s}
.ap-create__fmt strong{font-size:17px}
.ap-create__fmt small{color:var(--b-muted);font-size:13.5px;line-height:1.45}
.ap-create__fmt:hover,.ap-create__fmt:focus-visible{border-color:var(--b-orange);transform:translateY(-2px)}
.ap-create__fmt strong::after{content:' →';color:var(--b-orange)}
.ap-create__open{display:grid;gap:8px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--b-line);list-style:none}
.ap-create__open a{display:flex;justify-content:space-between;gap:12px;color:var(--b-ink);text-decoration:none;font-size:14.5px}
.ap-create__open em{flex:none;color:var(--b-violet);font-style:normal;font-size:13px}
@media(max-width:560px){.au-presets{margin:16px 14px 0}.au-presets__row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ap-how{grid-template-columns:1fr!important}}

/* ---------- Бот не может написать: плашка автору и пометки в панели ---------- */
.tg-nudge{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px 16px;border:1px solid #2aabee40;border-radius:18px;background:linear-gradient(100deg,#2aabee14,transparent 70%),var(--b-surface)}
.tg-nudge--fail{border-color:#f05a4f55;background:linear-gradient(100deg,#f05a4f14,transparent 70%),var(--b-surface)}
.tg-nudge__ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#2aabee;color:#fff}
.tg-nudge__ico svg{width:20px;height:20px}
.tg-nudge__text{flex:1;display:grid;gap:3px;min-width:0}
.tg-nudge__text strong{font-size:15.5px}
.tg-nudge__text small{color:var(--b-muted);font-size:13.5px;line-height:1.45}
.tg-nudge form{margin:0;flex:none}
@media(max-width:560px){.tg-nudge{flex-wrap:wrap}.tg-nudge form,.tg-nudge form .button{width:100%}}
.ad-reach{display:block;margin-top:4px;color:var(--b-muted);font-size:12.5px}
.ad-reach--ok{color:#9be3b3}
.ad-reach--bad{color:#ff9d94}
.ad-alert{margin:0 0 16px;padding:14px 16px;border:1px solid #f05a4f55;border-radius:14px;background:#f05a4f12;line-height:1.5}
.ap-botask{margin:0 0 18px;padding:14px 16px;border:1px solid #2aabee40;border-radius:14px;background:#2aabee0f}
.ap-botask strong{display:block;margin-bottom:4px}
.ap-botask p{margin:0 0 12px;color:var(--b-muted);font-size:14px;line-height:1.5}
@media(max-width:560px){.tg-nudge{align-items:flex-start;gap:12px;padding:14px}.tg-nudge__ico{width:32px;height:32px}.tg-nudge__ico svg{width:16px;height:16px}.tg-nudge__text strong{font-size:15px}.tg-nudge__text small{font-size:13px}.tg-nudge form .button{min-height:44px}}

/* ---------- Вкладки кабинета и панели: без скрытой прокрутки ----------
   Все вкладки всегда видны: на компьютере переносятся на следующую строку, на телефоне — сеткой.
   Никакой горизонтальной прокрутки (колесом мыши её не прокрутить, а на телефоне не видно, что там есть ещё). */
.ad-tabs{flex-wrap:wrap;overflow:visible;-webkit-mask-image:none!important;mask-image:none!important}
.ad-tabs a{flex:0 0 auto}
@media(max-width:640px){
  .ad-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .ad-tabs a{justify-content:flex-start;min-height:44px;padding:0 12px;white-space:normal;line-height:1.2}
  .ad-tabs[aria-label="Кабинет автора"]{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ad-tabs[aria-label="Кабинет автора"] a{flex-direction:column;justify-content:center;gap:4px;min-height:58px;padding:6px 4px;font-size:12px;text-align:center}
}

/* ---------- Отступы: одна шкала на весь сайт ----------
   4 · 8 · 12 · 16 · 24 · 32 · 48. Между самостоятельными блоками страницы — не меньше 16 на телефоне и 24 на компьютере;
   внутри карточки — поля не меньше 16 / 24; между подписью и её полем — 8–10; между текстом и следующим блоком — не меньше 12. */
:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-block:clamp(16px,2.4vw,24px)}
.tg-nudge{margin:var(--sp-block) 0}
.tg-nudge + .ad, .tg-nudge + section{margin-top:0}
.tg-nudge + .ad > .ad-tabs:first-child{margin-top:0}
.ap-create{margin-top:var(--sp-block)}

/* Заявка на рассмотрении: одна карточка — статус и куда придёт ответ */
.ap--pending{max-width:640px;margin:clamp(24px,5vw,56px) auto 0}
.ap--pending .ap-state{display:grid;gap:var(--sp-3,12px)}
.ap--pending .ap-state h1{margin:0;font-size:clamp(26px,4vw,34px);letter-spacing:-.03em;line-height:1.15}
.ap--pending .ap-state>p{margin:0}
.ap--pending .ap-badge{justify-self:start}
.ap-where{display:grid;gap:var(--sp-3,12px);margin-top:var(--sp-2,8px);padding:var(--sp-4,16px);border:1px solid var(--b-line);border-radius:16px;background:#ffffff06}
.ap-where--warn{border-color:#2aabee55;background:#2aabee0d}
.ap-where p{margin:0;color:var(--b-muted);line-height:1.55}
.ap-where p b{color:var(--b-ink)}
.ap-where__or{font-size:14px}
.ap-where form{margin:0}
.ap-where .button{justify-self:start}
@media(max-width:560px){.ap-where .button,.ap-where form .button{width:100%}}
.ap-pagelink{justify-self:start;color:var(--b-muted)!important;font-size:14px;text-decoration:underline;text-underline-offset:3px}
/* Код друга: не переносится по буквам; на телефоне — текст, под ним кнопка на всю ширину. */
.tr-invite code{white-space:nowrap}
.tr-invite__code{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
@media(max-width:560px){
  .tr-invite{flex-direction:column;align-items:stretch;gap:var(--sp-4)}
  .tr-invite>span{display:grid;gap:var(--sp-2)}
  .tr-invite .button{width:100%}
  .st-link .button{justify-content:flex-start;text-align:left;gap:var(--sp-3)}
}

/* ---------- «Мой стек»: по практикумам (src/feed-modules.js renderStack, public/stack.js) ----------
   Сетка отступов: 8 · 12 · 16 · 24 · 32 · 48. */
.stk{max-width:1080px;padding-bottom:48px}
.stk-intro p{max-width:620px}
.stk>.button{margin-top:24px}
.stk-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.stk-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--b-line-2);color:var(--b-muted);font-size:14.5px;font-weight:700;transition:background .15s,color .15s,border-color .15s}
.stk-tab span{min-width:24px;padding:2px 8px;border-radius:999px;background:#ffffff10;color:var(--b-dim);font-size:12px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}
.stk-tab:hover,.stk-tab:focus-visible{color:var(--b-ink);border-color:#ffffff38}
.stk-tab.is-on{background:var(--b-ink);border-color:var(--b-ink);color:#151517}
.stk-tab.is-on span{background:#15151714;color:#151517}
.stk-panel{margin-top:32px}
.stk-panel__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}
.stk-panel__head h2{margin:0;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.025em;line-height:1.15}
.stk-open{color:var(--b-muted);font-size:14.5px;font-weight:700}
.stk-open:hover,.stk-open:focus-visible{color:var(--b-ink)}
.stk-search{display:block;margin-top:24px}
.stk-search input{width:100%;min-height:48px;padding:0 16px 0 44px;border-radius:14px;border:1px solid var(--b-line-2);background:#0f0f11 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2377757a' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px 50%;color:var(--b-ink);font:inherit;font-size:15px}
.stk-search input:focus{outline:none;border-color:var(--b-orange)}
.stk-search input::-webkit-search-cancel-button{filter:invert(.6)}
.stk-sec{margin-top:16px;border-radius:var(--b-r-md);border:1px solid var(--b-line);background:#ffffff04}
.stk-search+.stk-sec{margin-top:24px}
.stk-sec__head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:16px 24px;border-radius:var(--b-r-md);cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.stk-sec__head::-webkit-details-marker{display:none}
.stk-sec__head:hover{background:#ffffff06}
.stk-sec__head:focus-visible{outline:2px solid var(--b-orange);outline-offset:2px}
.stk-sec__title{display:grid;gap:4px;min-width:0}
.stk-sec__title b{font-size:19px;letter-spacing:-.02em;color:var(--b-ink)}
.stk-sec__title small{overflow:hidden;color:var(--b-dim);font-size:13.5px;white-space:nowrap;text-overflow:ellipsis}
.stk-sec__chev{flex:none;color:var(--b-muted);transition:transform .2s var(--b-ease)}
.stk-sec[open]>.stk-sec__head .stk-sec__chev{transform:rotate(180deg)}
.stk-sec__body{padding:0 24px 24px}
.stk-sec__tools{display:flex;justify-content:flex-end;margin:-8px 0 8px}
.stk-sub{margin:24px 0 16px;color:var(--b-dim);font-size:13.5px;line-height:1.5}
.stk-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 4px;border:0;background:none;color:var(--b-muted);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.stk-link:hover,.stk-link:focus-visible{color:var(--b-ink)}
.stk-link.is-ok,.stk .button.is-ok{color:#86dba2}
.stk-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.stk-item{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;padding:24px;border-radius:var(--b-r-md);background:var(--b-surface-2);border:1px solid var(--b-line)}
.stk-item__head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.stk-item__head small{min-width:0;overflow:hidden;color:var(--b-dim);font-size:12.5px;white-space:nowrap;text-overflow:ellipsis}
.stk-item h4{margin:0;font-size:17px;line-height:1.3;letter-spacing:-.01em}
.stk-kind{justify-self:start;padding:4px 8px;border-radius:999px;background:#ffffff10;color:var(--b-muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.stk-body{margin:0;padding:16px;border-radius:12px;background:#0f0f11;color:var(--b-ink);font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}
.stk-body.is-clamp{max-height:calc(14px*1.55*6 + 32px);overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.stk-more{justify-self:start;margin-top:-4px;padding:0;border:0;background:none;color:var(--b-muted);font:inherit;font-size:13.5px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.stk-more:hover{color:var(--b-ink)}
.stk-item__row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.stk-item__row form{margin-left:auto}
.stk-copy{min-height:44px}
.stk-del{min-height:44px;padding:0 4px;background:none;border:0;color:var(--b-dim);font:inherit;font-size:13.5px;cursor:pointer}
.stk-del:hover{color:#ff9b8a}
.stk-site-now{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px 24px;padding:24px;border-radius:var(--b-r-md);background:var(--b-surface);border:1px solid var(--b-line)}
.stk-site-now__text{display:grid;gap:8px}
.stk-site-now h4{margin:0;font-size:20px;letter-spacing:-.02em}
.stk-site-now small{color:var(--b-dim);font-size:13.5px}
.stk-site-now .stk-site__sw i{width:32px;height:32px;margin-left:-8px;border-width:3px}
.stk-site-now__dl{min-height:48px}
.stk-site__sw{display:flex;padding-left:8px}
.stk-site__sw i{width:18px;height:18px;border-radius:50%;border:2px solid #17171a;margin-left:-5px}
.stk-site-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.stk-site-tile{position:relative;display:grid;gap:8px;width:100%;min-height:100%;padding:16px;border-radius:var(--b-r-sm);border:1px solid var(--b-line);background:#ffffff05;color:var(--b-ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
.stk-site-tile:hover,.stk-site-tile:focus-visible{background:#ffffff0c;border-color:var(--b-line-2)}
.stk-site-tile__n{color:var(--b-dim);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.stk-site-tile b{font-size:14.5px;line-height:1.3}
.stk-site-tile__dl{color:var(--b-muted);font-size:12.5px;font-weight:700}
.stk-site-tile:disabled{cursor:progress;opacity:.7}
.stk-gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.stk-gloss div{padding:16px;border-radius:var(--b-r-sm);background:#ffffff05;border:1px solid var(--b-line)}
.stk-gloss dt{font-weight:800;font-size:15.5px;color:var(--b-ink)}
.stk-gloss dd{margin:8px 0 0;color:var(--b-muted);font-size:14.5px;line-height:1.5}
.stk-gloss small{display:block;margin-top:8px;color:var(--b-dim);font-size:12.5px}
.stk .is-short>.is-extra{display:none}
.stk-panel.is-searching .is-short>.is-extra:not([hidden]){display:revert}
.stk-panel.is-searching .stk-all{display:none}
.stk-all{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:12px;border-radius:var(--b-r-sm);border:1px dashed var(--b-line-2);background:none;color:var(--b-muted);font:inherit;font-size:14.5px;font-weight:700;cursor:pointer}
.stk-all:hover,.stk-all:focus-visible{color:var(--b-ink);border-color:#ffffff38}
.stk-none{margin:32px 0 0;color:var(--b-muted);font-size:15px;text-align:center}
.stk [hidden]{display:none!important}
@media(max-width:960px){.stk-site-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.stk-cards,.stk-gloss{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){
  .stk-tabs{margin-top:24px}
  .stk-panel{margin-top:24px}
  .stk-search{margin-top:16px}
  .stk-sec__head{min-height:64px;padding:12px 16px}
  .stk-sec__body{padding:0 12px 12px}
  .stk-sec__title b{font-size:17px}
  .stk-item{padding:16px}
  .stk-site-now{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}
  .stk-site-now .stk-site__sw{justify-self:start}
  .stk-site-now__dl{width:100%}
  .stk-site-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stk-site-tile{padding:12px}
}

/* ---------- Согласие на обработку персональных данных (src/pd-consent.js) ---------- */
.pdc{max-width:640px;padding-bottom:48px}

.pdc__card{display:grid;gap:16px;margin-top:32px;padding:24px;border-radius:var(--b-r-lg);background:var(--b-surface);border:1px solid var(--b-line)}
.pdc__check{display:flex;gap:12px;align-items:flex-start;color:var(--b-ink);font-size:15.5px;line-height:1.5;cursor:pointer}
.pdc__check input{flex:none;width:22px;height:22px;margin-top:1px;accent-color:var(--b-orange)}
.pdc__check a{color:var(--b-ink);text-decoration:underline;text-underline-offset:3px}
.pdc__check.is-error input{outline:2px solid #ff8a7a;outline-offset:2px}
.pdc__error{margin:0;color:#ff9b8a;font-size:14px}
.pdc__row{display:flex}
.pdc__row .button{min-height:48px}
.pdc__note{margin:0;color:var(--b-dim);font-size:13.5px;line-height:1.55}
.pdc__note a,.pdc__link{color:var(--b-muted);text-decoration:underline;text-underline-offset:3px}
.pdc__link{padding:0;border:0;background:none;font:inherit;cursor:pointer}
.ap-check+.ap-check{margin-top:12px}
@media(max-width:640px){.pdc__card{margin-top:24px;padding:16px}.pdc__row .button{width:100%}}
/* Перенастройка кода владельца (src/owner-totp.js) */
.otp__steps{display:grid;gap:8px;margin:0;padding-left:20px;color:var(--b-muted);font-size:15px;line-height:1.5}
.otp__steps b{color:var(--b-ink);font-weight:600}
.otp__qr{display:block;width:220px;height:220px;border-radius:12px}
.otp__manual summary{color:var(--b-muted);font-size:14px;cursor:pointer}
.otp__manual[open] summary{margin-bottom:12px}
.otp__manual .auth-setup-key{display:block;word-break:break-all}
.otp__open{display:inline-block;margin-top:12px;color:var(--b-ink);font-size:14px;text-decoration:underline;text-underline-offset:3px}
.otp__form{display:grid;gap:16px}

/* refresh.css */
/* Дизайн-система danprod (обновление «спокойный интерфейс»).
   Подключается последним и задаёт общие правила: шкала шрифтов, отступы, скругления, кнопки,
   карточки-плашки для групп. Все селекторы с префиксом html body, чтобы перекрывать старые слои без !important. */
:root{--b-bg:#0f0f11;--plate:#1b1b1f;--plate-2:#242428;--plate-line:#ffffff10;--ds-gutter:28px;--ds-section:64px;--ds-r-sm:12px;--ds-r-md:20px;--ds-r-lg:28px;--ds-text:16px;--ds-lead:17px;--ds-small:14px;--ds-tiny:12px;--ds-h1:40px;--ds-h2:28px;--ds-h3:20px;--ds-line:#ffffff14;--b-dim:#8e8c92;--muted:#a9a7a3;--b-muted:#aaa8a4}
@media(min-width:900px){:root{--ds-gutter:40px;--ds-section:112px;--ds-text:16px;--ds-lead:19px;--ds-h1:60px;--ds-h2:40px;--ds-h3:22px}}

/* --- Основа --- */
html body{font-size:var(--ds-text);line-height:1.6;-webkit-font-smoothing:antialiased}
@media(max-width:899px){html body .site-shell{padding-inline:var(--ds-gutter)}}
html body main{max-width:1200px;margin-inline:auto}
html body main p{text-wrap:pretty}
html body main h1{text-wrap:balance}
html body main h2{text-wrap:balance}
html body .page-intro p,html body .page-intro--brand p{max-width:60ch;margin:0;color:var(--b-muted);font-size:var(--ds-lead);line-height:1.55}
/* Заголовок и текст под ним не слипаются (чекап 11.11.2026): тот же отступ, что на экранах согласия и кода */
html body .page-intro h1+p,html body .page-intro--brand h1+p{margin-top:16px}
html body .back-link{display:inline-flex;align-items:center;min-height:44px;color:var(--b-muted);font-size:var(--ds-small)}

/* Кнопки: два вида, высота 48 (главные — 56), скругление 16, как у Яндекса и Т-Банка. Вторая — серая плашка. */
html body .button:not(.hm-first *){min-height:48px;padding:0 22px;border-radius:16px;font-size:15px;font-weight:650;letter-spacing:0}
html body .button--secondary{background:var(--plate-2);border:1px solid transparent;color:var(--b-ink);box-shadow:none}
html body .button--secondary:hover{background:#2c2c31;border-color:transparent}
html body .hm-final .button{min-height:56px;padding:0 28px;font-size:16px;border-radius:16px}


/* Шапка и подвал: больше воздуха. */
html body .site-header--floating{margin-top:16px}
html body .site-footer{margin-top:var(--ds-section);padding:32px 0 calc(40px + env(safe-area-inset-bottom));border-top:1px solid var(--ds-line);gap:20px}
html body .legal-footer a{display:inline-flex;align-items:center;min-height:40px;font-size:var(--ds-small);color:var(--b-muted)}
@media(max-width:899px){html body .site-footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}html body .legal-footer{gap:0}}

/* --- Главная. Первый экран («Платформа знаний» и бегущая строка) оставлен как был;
   бегущая строка на телефоне по-прежнему от края до края. --- */
@media(max-width:899px){html body .hm-first .hm-marquee{margin-inline:calc(-1 * var(--ds-gutter))}}
html body .hm-section{margin-top:var(--ds-section);padding-top:0;border-top:0}
html body .hm-head{margin-bottom:clamp(24px,3vw,40px)}
html body .hm-head h2,html body .hm-inside h2,html body .hm-final h2,html body .hm-trust h2{font-size:var(--ds-h2);line-height:1.1;letter-spacing:-.03em}
html body .hm-head p{max-width:56ch;margin-top:12px;color:var(--b-muted);font-size:var(--ds-lead)}
html body .hm-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--b-ink);font-weight:650;text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:5px;border-bottom:0;padding:0}
html body .hm-link:hover{text-decoration-color:var(--b-orange)}
html body .hm-link .arrow-icon{width:14px;height:14px}

/* Три шага обучения: плашки с номером. */
html body .hm-flow li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:16px;padding:20px;border:1px solid var(--ds-line);border-radius:var(--ds-r-md);background:#ffffff06}
html body .hm-flow{display:grid;gap:10px;margin:24px 0 8px;padding:0;list-style:none;counter-reset:none}
html body .hm-flow__n{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e77d3b1f;color:var(--b-orange);font-weight:700;font-size:15px}
html body .hm-flow strong{display:block;font-size:17px;font-weight:650;line-height:1.35}
html body .hm-flow p{margin:4px 0 0;color:var(--b-muted);font-size:15px;line-height:1.5}
html body .hm-how .hm-flow{max-width:720px}
@media(min-width:900px){html body .hm-how .hm-flow{grid-template-columns:repeat(3,1fr);gap:16px;max-width:none}html body .hm-how .hm-flow li{grid-template-columns:1fr;gap:14px;padding:24px}}
html body .hm-inside{gap:clamp(32px,7vw,120px)}
html body .hm-inside__copy>p{max-width:46ch;color:var(--b-muted);font-size:var(--ds-lead)}
html body .hm-inside__copy .hm-link{margin-top:12px}
@media(max-width:899px){html body .hm-inside{justify-items:stretch}html body .hm-phone{justify-self:center;transform:scale(.92);transform-origin:top center;margin-bottom:-40px}}

html body .hm-final{margin-top:var(--ds-section)}
html body .hm-final h2{font-size:var(--ds-h2)}

/* Карточки практикумов: обложка, название, одна строка цены. */
html body .product-card{border-radius:var(--ds-r-lg);padding:8px}
html body .product-card__art{border-radius:var(--ds-r-md)}
html body .product-card__bottom,html body .hm-grid .product-card__bottom,html body .catalog-section .product-grid .product-card__bottom{padding:20px 16px 8px;gap:18px}
html body .product-card__format{font-size:12px;letter-spacing:.06em}
html body .product-card h3{font-size:var(--ds-h3);line-height:1.25;letter-spacing:-.02em}
html body .product-card p{font-size:15px;line-height:1.5;color:var(--b-muted)}
html body .price-tag{display:flex;align-items:center}
html body .card-price{font-size:17px}
html body .product-card__meta{padding:0 16px 12px;font-size:13px;color:var(--b-dim)}
html body .cat-author{margin:var(--ds-section) 0 0;color:var(--b-muted);font-size:var(--ds-lead)}
html body .cat-author a{color:var(--b-ink);font-weight:650;text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:5px}

/* --- Страница практикума --- */
html body .pd{max-width:1120px;margin-inline:auto}
html body .pd .pd-kind{color:var(--b-muted);font-size:13px;letter-spacing:.04em}
html body .pd .pd-kind::before{display:none}
html body .pd .pd-title{font-size:var(--ds-h1)}
html body .pd .pd-lead{font-size:var(--ds-lead);color:var(--b-muted);max-width:44ch}
@media(max-width:980px){html body .pd .pd-cover{aspect-ratio:16/9;border-radius:var(--ds-r-md)}}
html body .pd .pd-buy{border-radius:var(--ds-r-lg)}
html body .pd .pd-guarantee{font-size:14px}
html body .like-btn b:empty,html body .like-comments b:empty{display:none}
html body .pd h2{font-size:var(--ds-h2);line-height:1.1;letter-spacing:-.03em;margin:0}
html body .pd .pd-fact__label{margin:0;color:var(--b-muted);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none}
html body .pd .pd-fact p{font-size:17px}
/* Программа: карточки уроков как были. */
html body .pd .pd-program{margin-top:var(--ds-section)}
html body .pd .pd-program__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
html body .pd .pd-program__stats{color:var(--b-muted);font-size:14px}
/* Без риска: плашки с галочками. */
html body .pd .pd-trust{display:block;margin-top:var(--ds-section)}
html body .pd .pd-trust h2{margin-bottom:16px}
html body .pd .pd-trust__item{padding:18px 20px;border:1px solid var(--ds-line);border-radius:var(--ds-r-md);background:#ffffff06}
@media(min-width:900px){html body .pd .pd-trust ul{grid-template-columns:repeat(2,1fr)}}
html body .pd .pd-trust ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
html body .pd .pd-trust__item strong{font-size:17px}
html body .pd .pd-trust__item small{font-size:15px;color:var(--b-muted)}
/* О практикуме и автор. */
html body .pd .pd-about{margin-top:var(--ds-section)}
html body .pd .pd-about__copy h2{margin-bottom:16px}
html body .pd .pd-comments{margin-top:var(--ds-section)}
/* Панель покупки внизу экрана на телефоне. */
html body .pd-sticky{display:none}
@media(max-width:899px){html body .pd-sticky{position:fixed;z-index:40;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 10px 10px 20px;border:1px solid #ffffff1f;border-radius:999px;background:#1c1c1fef;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 40px -12px #000c;transform:translateY(calc(100% + 100px));transition:transform .35s var(--b-ease);pointer-events:none}html body .pd-sticky.is-on{transform:none;pointer-events:auto}html body .pd-sticky__price{font-size:18px;font-weight:700}html body .pd-sticky__price .price-free{color:#8fe0a0}html body .pd-sticky form{margin:0}html body .pd-sticky .button{min-height:44px;padding:0 22px}}
@media(prefers-reduced-motion:reduce){html body .pd-sticky{transition:none}}

/* --- Оплата: на телефоне сначала сумма и кнопка, потом подробности. --- */
@media(max-width:899px){html body .checkout-grid{display:flex;flex-direction:column;gap:32px}html body .checkout-grid .checkout-summary{order:-1}}
html body .checkout-details ol{padding-left:20px;color:var(--b-muted)}

/* --- Поддержка: плашки как были, только заголовки крупнее. --- */
html body .sup-block{margin-top:var(--ds-section)}
html body .sup-block__head h2,html body .sup-author h2{font-size:var(--ds-h2);letter-spacing:-.03em;margin:0 0 16px}


/* --- Документы и статьи: одна колонка текста. --- */
html body .doc,html body .legal-page{max-width:760px}
html body .doc p,html body .legal-page p,html body .doc li,html body .legal-page li{font-size:17px;line-height:1.7}

/* --- Библиотека и курс --- */
html body .lib-intro{margin-bottom:32px}

/* --- Доступность: подписи не меньше 12 px, зоны нажатия не меньше 44 px. --- */
html body .mobile-dock a span,html body .mobile-dock a{font-size:12px}
html body .site-rail__personal>span{font-size:12px}
html body .cm-badge{font-size:12px}
html body .site-footer .legal-footer a,html body .legal-footer a{min-height:44px}
html body .product-card__author{display:inline-flex;align-items:center;min-height:44px;margin-block:-12px}
html body .detail-purchase__details summary,html body .checkout-promo summary{display:flex;align-items:center;min-height:44px}
html body .checkout-agree input[type=checkbox]{width:22px;height:22px;flex:none}
html body .ab-seller a,html body .sup-card a:not(.button){display:inline-flex;align-items:center;min-height:44px}

/* --- Стать автором: шаги в плашках 2×2, читаемый текст. --- */
@media(min-width:761px){html body .ap-how{grid-template-columns:1fr 1fr}}
html body .ap{max-width:880px}
html body .ap-how span{font-size:15px;line-height:1.5}
html body .ap-how strong{font-size:17px;margin-bottom:4px}

/* --- О проекте --- */
html body .ab-principle strong{font-size:17px;margin-top:8px}
html body .ab-principle p{font-size:15px}
html body .ab-story p{font-size:17px;line-height:1.7;max-width:64ch}

/* --- Библиотека: кнопки в одну строку. --- */
html body .lib-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
html body .lib-card__actions .button{white-space:nowrap}
html body .lib-card__link{display:inline-flex;align-items:center;min-height:44px}


/* ===== Плашки (подсмотрено у Яндекса и Т-Банка): фон страницы темнее, плашки на тон светлее,
   внутри 24 px, между ними 8–10 px. Воздух — внутри плашек, края экрана на телефоне 16 px. ===== */
html body .product-card,html body .pd .pd-buy,html body .pd .pd-fact,html body .pd .pd-lesson,html body .pd .pd-trust__item,html body .pd .pd-about__copy,html body .pd .detail-author-link,html body .hm-flow li,html body .hm-trust__person,html body .sup-q,html body .sup-card,html body .sup-doc,html body .sup-author,html body .ab-principle,html body .ap-how li,html body .lib-card,html body .cm-item,html body .cm-form,html body .hm-tiles li{background:var(--plate);border:1px solid var(--plate-line);box-shadow:none}


/* Лента практикумов: на телефоне листается вбок, как у Практикума. */
html body .studio-catalog{margin-top:32px}
html body .studio-catalog .hm-head,html body .studio-catalog .hm-head--row{display:flex;flex-direction:row;justify-content:space-between;margin-bottom:20px;align-items:flex-end;gap:12px}
/* Заголовок раздела — как у остальных разделов главной (--ds-h2): больше названия карточки, меньше заголовка страницы. */
html body .studio-catalog .hm-head h2{font-size:var(--ds-h2);line-height:1.1;letter-spacing:-.03em}
@media(min-width:900px){html body .studio-catalog .hm-head,html body .studio-catalog .hm-head--row{margin-bottom:28px}}
@media(max-width:899px){html body .hm-grid{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:24px}html body .hm-grid::-webkit-scrollbar{display:none}html body .hm-grid>.product-card{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}html body .hm-grid .product-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}
/* Точки под лентой: какая карточка сейчас. */
html body .hm-dots{display:none}
@media(max-width:899px){html body .hm-dots{display:flex;justify-content:center;gap:4px;margin-top:10px}html body .hm-dots span{width:24px;height:24px;display:grid;place-items:center;cursor:pointer}html body .hm-dots span::before{content:"";width:6px;height:6px;border-radius:999px;background:#ffffff33;transition:width .25s,background .25s}html body .hm-dots span.is-on::before{width:18px;background:var(--b-orange)}}
@media(max-width:899px) and (prefers-reduced-motion:reduce){html body .hm-grid{scroll-behavior:auto}html body .hm-dots span::before{transition:none}}
html body .product-card{border-radius:24px;padding:8px}
html body .product-card__art{border-radius:18px}
html body .product-card__bottom,html body .hm-grid .product-card__bottom,html body .catalog-section .product-grid .product-card__bottom{padding:16px 14px 6px}
/* Три гарантии под лентой. */
html body .hm-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0;padding:0;list-style:none}
html body .hm-tiles li{padding:14px 12px;border-radius:18px;display:grid;gap:2px}
html body .hm-tiles b{font-size:14px;line-height:1.3}
html body .hm-tiles span{color:var(--b-muted);font-size:13px;line-height:1.35}
@media(min-width:900px){html body .hm-tiles{gap:12px;margin-top:12px}html body .hm-tiles li{padding:20px 24px}html body .hm-tiles b{font-size:17px}html body .hm-tiles span{font-size:15px}}

/* Шаги урока: плашки с глянцевой цифрой в стиле обложек. */
html body .hm-flow{gap:8px}
html body .hm-flow li{padding:20px;border-radius:20px}
html body .hm-flow__n{width:36px;height:36px;border-radius:12px;background:radial-gradient(circle at 30% 25%,#ffb27a,#ef7d36 55%,#b8501c);color:#fff;font-size:15px;box-shadow:inset 0 1px 0 #ffffff59,0 6px 16px -6px #ef7d36aa}
html body .hm-flow li:nth-child(2) .hm-flow__n{background:radial-gradient(circle at 30% 25%,#d9c9ff,#8b6cff 55%,#5b3fd1);box-shadow:inset 0 1px 0 #ffffff59,0 6px 16px -6px #8b6cffaa}
html body .hm-flow li:nth-child(3) .hm-flow__n{background:radial-gradient(circle at 30% 25%,#c6f5d1,#4fc472 55%,#2a8a49);box-shadow:inset 0 1px 0 #ffffff59,0 6px 16px -6px #4fc472aa}

/* Кто за этим стоит: плашка с крупным фото. */
html body .hm-trust__person{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;align-items:start;padding:24px;border-radius:28px}
html body .hm-trust__person picture{display:block}
html body .hm-trust__person img{width:96px;height:96px;border-radius:20px;object-fit:cover;display:block}
html body .hm-trust__person h2{margin:0 0 8px;font-size:24px}
html body .hm-trust__person p{margin:0;color:var(--b-muted);font-size:16px;line-height:1.55}
html body .hm-trust__person .hm-link{margin-top:4px}
@media(max-width:480px){html body .hm-trust__person{grid-template-columns:1fr}html body .hm-trust__person img{width:100%;height:auto;aspect-ratio:1;border-radius:20px}}
@media(min-width:900px){html body .hm-trust__person{grid-template-columns:200px minmax(0,1fr);gap:40px;padding:40px;align-items:center}html body .hm-trust__person img{width:200px;height:200px;border-radius:24px}html body .hm-trust__person h2{font-size:32px}html body .hm-trust__person p{font-size:18px;max-width:52ch}}
html body .hm-final{border-radius:28px}

/* --- Страница практикума --- */
html body .pd .pd-title{font-size:30px;line-height:1.1;letter-spacing:-.03em;font-weight:650;margin:6px 0 10px}
@media(min-width:900px){html body .pd .pd-title{font-size:48px}}
html body .pd .pd-kind{font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--b-muted)}
html body .pd .pd-stats{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0}
html body .pd .pd-stat{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--plate-2);font-size:13px;font-weight:600;color:var(--b-ink)}
html body .pd .pd-stat .pd-icon{width:14px;height:14px}
html body .pd .pd-cover{border-radius:24px}
/* Цена — как тариф: крупная сумма, пояснение справа, кнопка во всю ширину. */
html body .pd .pd-buy{margin-top:16px;padding:20px;border-radius:24px}
html body .pd .pd-buy .detail-meta{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:0;border:0}
html body .pd .pd-buy .detail-meta>strong,html body .pd .pd-buy .detail-price{font-size:30px;font-weight:700;letter-spacing:-.02em}
html body .pd-price-note{color:var(--b-muted);font-size:13px;line-height:1.35;text-align:right}
html body .pd .pd-buy .detail-action{display:grid;gap:8px}
html body .pd .pd-buy .detail-action .button,html body .pd .pd-buy .detail-action form,html body .pd .pd-buy .detail-action form .button{width:100%;min-height:56px;justify-content:center;font-size:16px}
html body .pd .pd-guarantee{margin-top:12px}
/* Программа: урок 1 — яркая плашка, остальные свёрнуты. */
html body .pd .pd-lessons{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none;max-width:none}
html body .pd .pd-lesson{display:block;padding:0;border-radius:20px;transform:none}
html body .pd .pd-lesson:hover{transform:none}
html body .pd .pd-lesson>.pd-lesson__meta,html body .pd .pd-lesson>strong,html body .pd .pd-lesson summary{padding-inline:20px}
html body .pd .pd-lesson>.pd-lesson__meta{display:block;padding-top:16px}
html body .pd .pd-lesson>strong:last-child{display:block;padding-bottom:16px}
html body .pd .pd-lesson__meta{display:block;color:var(--b-muted);font-size:12px;font-weight:700;letter-spacing:.02em}
html body .pd .pd-lesson__meta .pd-lesson__time{display:inline;padding:0;border:0;background:none;color:inherit;font-size:inherit}
html body .pd .pd-lesson strong{display:block;margin-top:4px;font-size:16px;line-height:1.35;font-weight:650}
html body .pd .pd-lesson summary{position:relative;display:block;list-style:none;padding-block:16px;padding-right:56px;cursor:pointer}
html body .pd .pd-lesson summary::-webkit-details-marker{display:none}
html body .pd .pd-lesson summary::after{content:"";position:absolute;right:16px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--plate-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23a9a7a3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .2s}
html body .pd .pd-lesson details[open] summary::after{transform:rotate(180deg)}
html body .pd .pd-lesson details>p{margin:-6px 0 0;padding:0 20px 16px;color:var(--b-muted);font-size:15px;line-height:1.5}
html body .pd .pd-lesson--free{padding:20px;background:linear-gradient(135deg,#2b1c12,var(--plate) 70%);border-color:#ef7d3640}
html body .pd .pd-lesson--free>.pd-lesson__meta,html body .pd .pd-lesson--free>strong{padding:0}
html body .pd .pd-lesson--free .pd-lesson__meta{color:var(--b-orange);text-transform:uppercase}
html body .pd .pd-lesson--free p{margin:8px 0 14px;color:var(--b-muted);font-size:15px}
html body .pd .pd-lesson__try{width:100%;min-height:48px;justify-content:center;background:var(--b-ink);color:#121214;border:0;font-weight:800}
html body .pd .pd-lesson__try:hover{background:#fff}
/* Без риска и автор: плашки. */
html body .pd .pd-trust__item{border-radius:20px;padding:18px 20px}
html body .pd .pd-about__copy{padding:24px;border-radius:24px}
html body .pd .detail-author-link{padding:16px;border-radius:24px}
html body .pd .pd-author__avatar{width:72px;height:72px;border-radius:20px}
html body .pd .pd-author__avatar img{border-radius:20px}

/* Поддержка, «О проекте», «Стать автором», библиотека: внутренний отступ 24. */
html body .sup-q summary{padding-inline:24px}
html body .sup-card,html body .sup-author{padding:24px}
html body .ab-principle,html body .ap-how li{padding:24px}
html body .hm-inside>*{min-width:0}

/* Телефон: при полях 28 px внутренний отступ плашек 20, чтобы тексту хватало ширины. */
@media(max-width:899px){html body .hm-flow li,html body .hm-trust__person,html body .pd .pd-about__copy,html body .sup-card,html body .sup-author,html body .ab-principle,html body .ap-how li{padding:20px}html body .pd .pd-buy{padding:18px}}
@media(max-width:899px){html body .hm-tiles li{padding:12px 10px}html body .hm-tiles span{font-size:12px;overflow-wrap:anywhere;hyphens:auto}}

/* ---------- Страница продукта: иерархия карточек и панель «Приобрести» (ноябрь 2026) ---------- */
/* Заголовок карточки читается первым, текст под ним — спокойнее. */
html body .pd .pd-fact{gap:var(--sp-2,8px)}
html body .pd .pd-fact .pd-icon{margin-bottom:var(--sp-1,4px)}
html body .pd .pd-fact__label{color:var(--b-ink,#f0ede8);font-size:18px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
html body .pd .pd-fact p{color:var(--b-muted,#a8a5a0);font-size:15.5px;line-height:1.55}
/* Панель внизу: по краям страницы, чуть выше меню, кнопка того же скругления, что и панель. */
@media(max-width:899px){
  html body .pd-sticky{left:28px;right:28px;bottom:calc(88px + env(safe-area-inset-bottom));padding:8px 8px 8px 20px}
  html body .pd-sticky .button{min-height:44px;padding:0 22px;border-radius:999px}
}
@media(max-width:360px){html body .pd-sticky{left:16px;right:16px}}

/* Заголовки без переносов по слогам: длинное слово целиком, при нехватке места brand.js уменьшает шрифт */
html body :is(h1,h2,.lf-h1,.lf-h2){-webkit-hyphens:manual;hyphens:manual}

/* Сетка карточек без «одинокой» карточки в последнем ряду (чекап 11.11.2026):
   если карточек 4, 7, 10… — на очень широком экране по 4 в ряд, на обычном ПК и планшете по 2. */
@media(min-width:1500px){html body .product-grid:not(.product-grid--single):is(.product-grid--three,.hm-grid--3):has(>.product-card:last-child:nth-child(3n+4)){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1499px){html body .product-grid:not(.product-grid--single):is(.product-grid--three,.hm-grid--3):has(>.product-card:last-child:nth-child(3n+4)){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* quiet.css */
/* Тихий интерфейс (как у YouTube): цвет живёт в контенте — обложках и экране урока,
   оранжевый — только на главной кнопке, карточки без рамок, без свечений. Загружается последним. */

/* Первый экран */
html body .hm-hero__bg,html body .hm-phone::before{display:none}
html body .hm-cta::before,html body .hm-cta::after{display:none}
html body .hm-cta{box-shadow:none}
html body .hm-eyebrow{color:var(--b-muted);border-color:#ffffff14}
html body .hm-eyebrow::before{background:var(--b-muted)}
html body .hm-hero h1 .hm-accent{color:var(--b-ink);-webkit-text-fill-color:var(--b-ink);background:none}
html body .hm-first .hm-phone--hero{justify-self:center;width:300px;padding:10px;border-radius:46px;background:#1f1f22;box-shadow:0 40px 80px -40px #000,inset 0 0 0 1px #ffffff14}
html body .hm-first .hm-phone--hero .hm-phone__screen{height:auto;min-height:0;max-height:min(560px,calc(100svh - 260px));border-radius:37px;background:#121214;padding:18px}
html body .hm-phone__title{font-size:25px}
html body .hm-phone__label{color:var(--b-dim);font-size:11px}
html body .hm-phone li{border:0;font-size:12.5px}
html body .hm-phone li b,html body .hm-phone__title b{color:var(--b-dim)}
html body .hm-phone__segs i:first-child{background:var(--b-ink)}
html body .hm-phone__next{background:#ffffff14;color:var(--b-ink);animation:none}
html body .hm-phone--mobile{display:none}
@media (max-width:899px){
  html body .hm-first .hm-phone--hero{display:none}
  html body .hm-phone--mobile{display:block;width:min(300px,100%);margin:28px auto 0;padding:10px;border-radius:44px;background:#1f1f22;box-shadow:inset 0 0 0 1px #ffffff14}
  html body .hm-phone--mobile .hm-phone__screen{min-height:0;height:auto;border-radius:35px;background:#121214;padding:18px}
}

/* Бегущая строка — тише */
html body .hm-marquee span{color:var(--b-muted)}
html body .hm-marquee i{color:#ffffff2e}

/* Карточки: без рамок, только чуть светлее фон */
html body.home-page .product-card,html body .hm-flow li,html body .hm-trust__person,html body .hm-tiles li,html body .hm-author{border-color:transparent;box-shadow:none}
html body .product-card__format{color:var(--b-dim)}
html body .hm-flow__n{background:#ffffff14;color:var(--b-ink);box-shadow:none}
html body .hm-link{color:var(--b-ink)}

/* Финал: без подсветки и градиента */
html body .hm-final{background:var(--plate,#1b1b1f);border-color:transparent;box-shadow:none}
html body .hm-final::before,html body .hm-final::after{display:none}
html body .hm-final h2 span{color:var(--b-muted)}
html body .hm-final p{margin:12px 0 0;color:var(--b-muted);font-size:16px}

/* Перебиваем цветные варианты из старых слоёв */
html body .hm-flow li .hm-flow__n,html body .hm-flow li:nth-child(n) .hm-flow__n{background:#ffffff14!important;background-image:none!important;color:var(--b-ink)!important;box-shadow:none!important}
html body .product-card .product-card__format,html body .hm-grid .product-card__format,html body .catalog-section .product-card__format{color:var(--b-dim)!important}
html body .hm-cta,html body .hm-final .hm-cta,html body .button--primary{box-shadow:none!important}
html body .hm-phone--hero .hm-phone__next{display:none}
html body .hm-phone--hero .hm-phone__body,html body .hm-phone--mobile .hm-phone__body{padding-bottom:8px}
html body .hm-phone--mobile .hm-phone__next{display:none}
html body .hm-grid .product-card,html body .catalog-section .product-grid .product-card{border-color:transparent!important}

/* Главная кнопка — светлая: почти белая, чёрный текст, без градиента и свечения.
   Оранжевый остаётся фирменным знаком (логотип, точка в заголовке), а не краской для кнопок. */
:root{--q-btn:#F2EFE9;--q-btn-hover:#FFFFFF;--q-btn-ink:#0F0F11}
html body .button--primary,html body .hm-cta.button--primary,html body .hm-final .button--primary,
html body .lf .lf-btn--pri,html body .login-move__go,html body .author-page[data-channel] .author-contact__links .button,
html body .st-name-ok,html body .crop__btn--done{background:var(--q-btn)!important;background-image:none!important;color:var(--q-btn-ink)!important;border:0!important;box-shadow:none!important}
html body .button--primary:hover,html body .lf .lf-btn--pri:hover,html body .login-move__go:hover{background:var(--q-btn-hover)!important;filter:none!important}
html body .button--primary::before,html body .button--primary::after{display:none!important}
html body .button--primary svg,html body .button--primary .arrow-icon{color:var(--q-btn-ink)}
html body .lf .lf-next.is-ready{background:var(--q-btn)!important;color:var(--q-btn-ink)!important;border-color:var(--q-btn)!important;animation:none!important}
html body :is(.hm-grid,.catalog-section .product-grid) .product-card:hover .card-action,
html body .hm-author:hover .hm-author__go,html body .author-list__link:hover .author-list__arrow,
html body .pd .pd-about .detail-author-link:hover .pd-author__go{background:var(--q-btn)!important;color:var(--q-btn-ink)!important}
html body .button--primary:focus-visible{outline:2px solid var(--q-btn);outline-offset:3px}

/* Больше воздуха между блоками: секции дальше друг от друга, внутри групп — не впритык */
:root{--ds-section:96px}
@media (min-width:900px){:root{--ds-section:128px}}
html body .hm-tiles{margin-top:28px;gap:12px}
html body .hm-dots{margin-top:20px}
html body .hm-flow{gap:12px;margin-top:32px}
@media (min-width:900px){html body .hm-tiles{margin-top:40px;gap:16px}html body .hm-how .hm-flow{gap:20px}}
html body .hm-phone--mobile{margin-top:48px!important}
html body .hm-head{margin-bottom:32px}
html body .hm-final{margin-top:var(--ds-section)}
@media (max-width:899px){
  html body .hm-tiles{grid-template-columns:1fr;gap:8px}
  html body .hm-tiles li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px}
  html body .hm-tiles span{font-size:14px;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal;text-align:right}
  html body .hm-first .hm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  html body .hm-first .hm-actions>a{width:100%;min-width:0;padding:0 12px;justify-content:center;font-size:15px}
}
@media (max-width:899px){html body .hm-first .hm-actions>a{padding:0 12px!important;gap:6px!important;font-size:14.5px!important;min-height:52px!important}html body .hm-first .hm-actions .arrow-icon{width:14px;height:14px}}
html body .hm-dots span.is-on{background:transparent!important}html body .hm-dots span.is-on::before{background:var(--b-ink)!important}
@media (max-width:899px){html body .hm-first .hm-actions .arrow-icon{display:none}}

/* Один ритм: между крупными блоками одинаковый отступ (телефон 64, компьютер 112),
   внутри раздела между группами — 40/48. Без «плавающих» добавок у отдельных блоков. */
:root{--q-gap:64px;--q-inner:40px}
@media (min-width:900px){:root{--q-gap:112px;--q-inner:48px}}
html body .hm-section{margin-top:var(--q-gap)!important;padding-top:0!important;margin-bottom:0!important;padding-bottom:0!important}
html body .hm-final{margin:var(--q-gap) 0 0!important;padding:28px 24px!important;gap:24px!important;justify-content:flex-start}
html body .hm-final>div,html body .hm-final h2{margin:0}
@media (min-width:900px){html body .hm-final{padding:48px!important;gap:32px!important;justify-content:space-between}}
html body .hm-first{margin-bottom:0!important;padding-bottom:0!important}
html body .hm-phone--mobile{margin:var(--q-inner) auto 0!important}
html body .hm-tiles{margin-top:var(--q-inner)!important}
html body .hm-how .hm-flow{margin-bottom:0!important}
html body .hm-how>p:last-child,html body .hm-how>a:last-child{margin-bottom:0}
html body .hm-phone--mobile,html body .hm-phone--hero{transform:none!important}

/* Оплата: одна колонка по центру — заголовок, карточка оплаты, под ней «Что входит» */
html body .checkout-page{max-width:600px;margin:0 auto}
html body .checkout-page>.legal-heading{max-width:none}
html body .checkout-grid{display:flex;flex-direction:column;gap:40px;margin-top:28px}
html body .checkout-grid .checkout-summary{order:-1;width:100%}
html body .checkout-grid .checkout-details{max-width:none}
html body .checkout-promo>summary,html body .checkout-promo summary{color:var(--b-muted)!important}

/* Оплата: карточка целиком на одном экране — компактнее заголовок, плотнее строки, подписи под карточкой в одну строку */
html body .checkout-page{padding-top:20px}
html body .checkout-page .legal-heading{margin-bottom:0}
html body .checkout-page .legal-heading h1{font-size:clamp(24px,2.4vw,30px)!important;line-height:1.15!important;margin:10px 0 6px}
html body .checkout-page .legal-heading .legal-intro,html body .checkout-page .legal-intro{display:none}
html body .checkout-grid{margin-top:18px;gap:36px}
html body .checkout-summary{padding:20px 22px}
html body .checkout-summary dl{margin:0 0 14px}
html body .checkout-summary dl>div{margin-bottom:10px;font-size:14px;line-height:1.4}
html body .checkout-summary dd small{display:none}
html body .checkout-summary .checkout-total{margin:4px 0 0;padding-top:12px}
html body .checkout-email{margin-top:0}
html body .checkout-email span{margin-bottom:6px}
html body .checkout-promo{margin:8px 0}
html body .checkout-agree{margin:8px 0 12px}
html body .checkout-form .button{min-height:50px}
html body .checkout-legal{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0 0;font-size:12.5px}
html body .checkout-seller{margin:6px 0 0;font-size:12.5px}
html body .checkout-page .legal-heading .back-link{margin-bottom:10px!important}
html body .checkout-page .legal-heading h1{margin-top:0!important}
html body .checkout-form{display:grid;gap:10px}
html body .checkout-form .checkout-email{margin:0}
html body .checkout-promo{margin:0!important;padding-top:8px!important;border-top:0!important}
html body .checkout-promo summary{min-height:28px!important;line-height:28px}
html body .checkout-agree{margin:0 0 4px!important}
html body .checkout-legal{flex-direction:row!important;gap:16px!important;margin:12px 0 0!important}
html body .checkout-seller{margin:4px 0 0!important}
@media (max-width:899px){html body .checkout-summary{padding:18px 18px}html body .checkout-page .legal-heading h1{font-size:22px!important}}
@media (max-width:899px){html body .checkout-summary dl>div:first-child,html body .checkout-summary dl>div:nth-child(4){display:none}html body .checkout-page{padding-top:8px}html body .checkout-page .legal-heading .back-link{margin-bottom:6px!important}html body .checkout-grid{margin-top:12px}}

/* ====== Весь сайт: цвет живёт в контенте, интерфейс молчит ====== */
/* Свечения и цветные подсветки */
html body .pd-buy::before,html body .detail-purchase::before,html body .login-glow,html body .hm-eyebrow::before{box-shadow:none!important}
html body .hm-eyebrow::before,html body .pd-kind::before,html body .checkout-dialog .micro-label::before{background:var(--b-muted)!important;box-shadow:none!important}
html body .ar-cta,html body .sup-card,html body .support-contact__method,html body .st-profile,html body .cp-done,html body .tr-next,html body .ad-kpi--accent,html body .cert,html body .cp-row--current,html body .ae-balance,html body .hm-tile:nth-child(4){background-image:none!important;background-color:var(--plate,#1b1b1f)!important}
html body .pd .pd-lesson--free{background:var(--plate-2,#242428)!important;border-color:transparent!important}
html body .pd .pd-lesson--free .pd-lesson__meta,html body .pd-lesson__meta,html body .pd-lesson__time{color:var(--b-muted)!important}
html body .err-page__code{background:none!important;-webkit-text-fill-color:var(--b-ink)!important;color:var(--b-ink)!important}
/* Аватары-заглушки: без фиолетово-оранжевого градиента */
html body .pd-author__avatar,html body .u-avatar,html body .cm-avatar,html body .st-avatar,html body .author-list__avatar,html body .author-avatar,html body .au-avatar,html body .acc-ava,html body .hm-author__avatar{background:#2a2a2d!important; /* непрозрачный: над шапкой не просвечивает граница */background-image:none!important;color:var(--b-ink)!important}
html body .author-list__banner:not([class*="author-banner--"]),html body .au-banner:not([class*="author-banner--"]){background:var(--plate-2,#242428)!important;background-image:none!important}
/* Оранжевые подписи и значки → спокойные */
html body .cm-badge,html body .ap-badge,html body .lib-more span,html body .author-list__invite span,html body .sup-q__mark,html body .mt-drop__icon,html body .ab-principle__icon,html body .tr-cert__seal,html body .ad-todo b,html body .ad-btn.is-on{background:#ffffff14!important;color:var(--b-ink)!important;border-color:transparent!important}
html body .sup-q[open] .sup-q__mark{background:#ffffff24!important;color:var(--b-ink)!important}
html body .ap-how b,html body .ap-step b,html body .cert__kicker,html body .ar-card__go,html body .doc-step b,html body .micro-label{color:var(--b-muted)!important}
html body .doc a,html body .legal-section a,html body .ar-body a,html body .article-body a,html body .ab-text a,html body .ar-cta a:not(.button){color:var(--b-ink)!important;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#ffffff40}
html body .cp-row--current{border-color:transparent!important}
html body .cp-row--current .cp-row__icon{background:var(--b-ink)!important;color:#0f0f11!important}
html body .lib-card__bar progress::-webkit-progress-value,html body .cp-progress progress::-webkit-progress-value,html body .au-progress i{background:var(--b-ink)!important;background-image:none!important}
html body .lib-card__bar progress::-moz-progress-bar,html body .cp-progress progress::-moz-progress-bar{background:var(--b-ink)!important}
html body .mt-steps .is-done i,html body .mt-steps .is-now i{background:var(--b-ink)!important;background-image:none!important}
html body .ap-choice input:checked+span,html body .ap-format input:checked+.ap-format__card{border-color:var(--b-ink)!important;background:#ffffff10!important}
html body .signup-hint{background:#ffffff0a!important;border-color:transparent!important}
html body .st-tg{background:#ffffff10!important;color:var(--b-muted)!important}
html body .st-tg::before{background:var(--b-muted)!important}
/* Карточки без рамок */
html body .pd-lesson,html body .pd-buy,html body .detail-purchase,html body .pd-about,html body .pd-about__copy,html body .pd-stats>*,html body .sup-card,html body .sup-q,html body .sup-author,html body .st-group,html body .st-profile,html body .st-stats>div,html body .ab-principle,html body .ab-contact,html body .ab-card,html body .ap-how li,html body .ap-login,html body .ar-card,html body .ar-cta,html body .lib-card,html body .lib-more,html body .cp-row,html body .cp-done,html body .tr-next,html body .tr-cert,html body .cert,html body .doc .legal-section,html body .doc-toc,html body .ad-kpi,html body .ad-card,html body .ad-list,html body .ad-todo,html body .ad-events,html body .au-panel,html body .author-list__link,html body .editor-form,html body .metric-grid>div,html body .empty-state,html body .checkout-summary,html body .auth-card,html body .hm-flow li,html body .cm-item,html body .cm-form,html body .doc-split>div,html body .ap-apply,html body .st-link,html body .product-card{border-color:transparent!important;box-shadow:none!important}
/* Урок-лента: номера и подсветки без оранжевого; оранжевым остаются «?», полоса прогресса и разбор ошибки */
html body .lf .lf-dot.lf-num,html body .lf .lf-rn{color:var(--b-muted)!important}
html body .lf .lf-lesson.is-cur .lf-ln{background:var(--b-ink)!important;color:#0f0f11!important}
html body .lf .lf-seg__thumb{background:#ffffff24!important}
html body .lf .lf-seg button.is-on{color:var(--b-ink)!important}
/* До / после: плохой вариант — мягкий красный, хороший — мягкий зелёный (иллюзии остаются нейтральными) */
html body .lf .lf-seg--judge .lf-seg__thumb{background:rgba(240,90,79,.13)!important;box-shadow:inset 0 0 0 1px rgba(240,90,79,.42)}
html body .lf .lf-seg--judge.is-second .lf-seg__thumb{background:rgba(126,211,155,.12)!important;box-shadow:inset 0 0 0 1px rgba(126,211,155,.45)}
html body .lf .lf-seg--judge button.is-on{color:#ff9d94!important}
html body .lf .lf-seg--judge.is-second button.is-on{color:#9be3b3!important}
html body .lf .lf-sitem.is-cur::before,html body .lf .lf-segs span.is-cur::after{background:var(--b-ink)!important}
html body .lf .lf-tag--o{background:#ffffff14!important;color:var(--b-ink)!important}
html body .cookie-notice__ok{background:var(--q-btn)!important;color:var(--q-btn-ink)!important;border:0!important;box-shadow:none!important}
/* Блок цены: ровный воздух со всех сторон, цена не прижата к верхнему краю */
html body .pd .pd-buy{padding:28px 26px 24px}
html body .pd .pd-buy .detail-meta{margin:0 0 22px;align-items:flex-start}
html body .pd .pd-buy .detail-meta>strong,html body .pd .pd-buy .detail-meta .detail-price{line-height:1}
html body .pd .pd-buy .pd-price-note{padding-top:2px}
@media(max-width:899px){html body .pd .pd-buy{padding:24px 20px 20px}html body .pd .pd-buy .detail-meta{margin-bottom:18px}}

/* Главная: без сиреневого. Активный пункт меню — светлая плашка и белая иконка; телефон в первом экране не обрезается снизу. */
html body.home-page .site-rail>a:not(.site-rail__brand)::before{border-left-color:transparent;box-shadow:inset 0 0 0 1px #ffffff14}
html body.home-page .site-rail>a[aria-current=page] svg,html body.home-page .mobile-dock a[aria-current=page] svg{color:var(--ink)}
html body .hm-first .hm-phone--hero .hm-phone__screen,html body .hm-phone--mobile .hm-phone__screen{max-height:none;padding:18px 18px 20px}
html body .hm-phone--hero .hm-phone__body,html body .hm-phone--mobile .hm-phone__body{padding-bottom:0}
html body .hm-phone__label{margin:24px 0 10px}
@media (min-width:900px) and (max-height:820px){html body .hm-first .hm-phone--hero li:nth-child(3){display:none}}

/* Поля форм: одна высота в ряду и без серых стрелочек у чисел (замечание Данила, ноябрь 2026). */
html body .bc-field :is(input, select):not([type=checkbox]):not([type=radio]):not([type=file]) { height: 48px; min-height: 48px; }
html body input[type=number] { -moz-appearance: textfield; appearance: textfield; }
html body input[type=number]::-webkit-inner-spin-button, html body input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Профиль автора: одна кнопка «Сохранить и опубликовать» всегда под рукой — прилипает к низу экрана (на телефоне над меню). Без подложки. */
html body .au-form .author-editor__actions { position: sticky; bottom: 24px; z-index: 5; display: flex; margin-top: 24px; padding: 0; border: 0; background: none; box-shadow: none; }
html body .au-form .author-editor__actions .button { flex: 1 1 auto; min-height: 52px; box-shadow: 0 10px 28px rgba(0, 0, 0, .45), 0 0 0 6px rgba(23, 23, 25, .55); }
html body .au-form .author-editor__actions > a:not(.button) { display: none; }
@media (max-width: 760px) { html body .au-form .author-editor__actions { bottom: calc(69px + 12px + env(safe-area-inset-bottom)); } }
/* «Добавьте фото» под пустым аватаром: своя строка высотой 28 (4 сверху + 20 строка + 4), на неё же встаёт статус справа. */
html body .au-channel .au-avatar--empty { margin-bottom: 28px; }
html body .au-channel .au-avatar--empty::after { top: calc(100% + 8px); line-height: 20px; } /* +4 рамки аватара */
/* Статус страницы автора — справа, двумя строками, как имя слева: плашка на линии имени, подсказка на линии «чем занимаетесь».
   Одна сетка на оба столбца — строки совпадают точно. */
html body .au-channel__who--state { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; row-gap: 4px; align-items: center; }
html body .au-channel__who--state > strong { grid-column: 1; grid-row: 1; }
html body .au-channel__who--state > small { grid-column: 1; grid-row: 2; align-self: baseline; }
html body .au-channel__pill { grid-column: 2; grid-row: 1; justify-self: end; display: flex; }
html body .au-channel__pill .ad-pill { height: 28px; padding: 0 12px; line-height: 1; }
html body .au-channel__hint { grid-column: 2; grid-row: 2; justify-self: end; align-self: baseline; color: var(--b-muted, #aaa9a7); font-size: 13px; white-space: nowrap; }
html body .au-channel__hint a { color: var(--b-ink, #f0ede8); font-weight: 700; text-decoration: none; }
html body .au-channel__hint a:hover { color: var(--b-orange, #e77d3b); }
html body .au-channel__pill a.ad-pill { text-decoration: none; }
/* Телефон: плашка статуса — на линии «Добавьте фото» (низом по низу аватара, если фото есть), подсказки нет. */
@media (max-width: 760px) {
  html body .au-channel__row { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 16px; row-gap: 4px; align-items: end; }
  html body .au-channel__row > .au-avatar { grid-column: 1; grid-row: 1; }
  html body .au-channel__who--state { display: contents; }
  html body .au-channel__who--state > strong { grid-column: 1 / -1; grid-row: 2; margin-top: 12px; }
  html body .au-channel__who--state > small { grid-column: 1 / -1; grid-row: 3; }
  /* Зеркально кнопке «Своя картинка» (10 сверху и справа, высота 33): 10 от низа шапки и от правого края. Ряд начинается на 30 выше низа шапки. */
  html body .au-channel__pill { grid-column: 2; grid-row: 1; align-self: start; justify-self: end; margin-top: 40px; margin-right: -4px; height: 33px; align-items: center; }
  html body .au-channel__pill .ad-pill { height: 33px; padding: 0 14px; font-size: 12.5px; }
  html body .au-channel__hint { display: none; }
}
@media (min-width: 561px) and (max-width: 760px) { html body .au-channel__pill { margin-right: -10px; } }
/* Жёлтое сообщение сверху (подсказка, не ошибка). */
html body .toast--warn { border-color: #f0c06655; background: #2b2414e6; color: #ffe2a8; }
html body .toast--warn .toast__dot { background: #f0c066; color: #2a1f08; }
html body button.ad-pill { cursor: pointer; font-family: inherit; font-weight: 800; }
/* Сообщение сверху — во всю доступную ширину, а не столбиком. */
html body .toast[data-flash] { width: max-content; max-width: min(520px, calc(100vw - 32px)); border-radius: 18px; line-height: 1.35; }

/* Тренажёр на странице продукта: «Что внутри» вместо программы уроков. */
html body .pd-feats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 12px; }
html body .pd-feat { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 16px; background: var(--b-surface, #1d1d1e); }
html body .pd-feat strong { font-size: 16px; }
html body .pd-feat p { margin: 0; color: var(--b-muted, #aaa9a7); font-size: 14px; line-height: 1.5; }
@media (min-width: 761px) { html body .pd-feat { padding: 24px; } html body .pd-feats { gap: 16px; } }
/* Тренажёр: бесплатный день закончился. */
html body .tr-pay { max-width: 560px; margin: 48px auto; padding: 32px 24px; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; border-radius: 24px; background: var(--b-surface, #1d1d1e); }
html body .tr-pay h1 { margin: 0; font-size: clamp(28px, 6vw, 40px); line-height: 1.1; letter-spacing: -.03em; text-wrap: balance; }
html body .tr-pay__lead { margin: 0; color: var(--b-muted, #aaa9a7); line-height: 1.55; text-wrap: balance; }
html body .tr-pay__offer { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 8px; margin-top: 8px; padding: 24px 16px; border-radius: 18px; background: rgba(231, 125, 59, .08); border: 1px solid rgba(231, 125, 59, .35); }
html body .tr-pay__badge { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--b-orange, #e77d3b); }
html body .tr-pay__price { display: flex; align-items: baseline; gap: 12px; }
html body .tr-pay__price s { color: var(--b-dim, #75736f); font-size: 18px; }
html body .tr-pay__price strong { font-size: 40px; letter-spacing: -.03em; }
html body .tr-pay__left { margin: 0; color: var(--b-muted, #aaa9a7); font-size: 14px; }
html body .tr-pay__left b { color: var(--b-ink, #f0ede8); font-variant-numeric: tabular-nums; }
html body .tr-pay__buy { width: 100%; min-height: 52px; margin-top: 8px; }
html body .tr-pay__more { color: var(--b-muted, #aaa9a7); font-weight: 700; font-size: 14px; }
html body .tr-pay__note { margin: 0; color: var(--b-dim, #75736f); font-size: 13px; }
@media (max-width: 760px) { html body .tr-pay { margin: 24px auto; padding: 24px 16px; } }

/* dp-select.css */
/* Выпадающие списки danprod (public/dp-select.js). Тёмная плашка, без системной синей подсветки. */
html body .dps { position: relative; display: inline-block; max-width: 100%; vertical-align: middle; }
html body .dps--block { display: block; width: 100%; }
.dps > select { width: 100%; }
html body .dps > .dps__hit { position: absolute !important; inset: 0 !important; z-index: 1; display: block !important; width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; opacity: 1; transform: none !important; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.dps > select:disabled + .dps__hit { cursor: default; }
.dps > select[aria-expanded="true"] { border-color: #e77d3b; }

.dps-panel { position: fixed; z-index: 1000; box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain; padding: 6px; border: 1px solid #3a3a3d; border-radius: 16px;
  background: #222224; color: #f0ede8; box-shadow: 0 18px 48px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .3); font: 600 15px/1.35 Manrope, Onest, system-ui, sans-serif;
  opacity: 0; transform: translateY(-4px); transition: opacity .14s ease, transform .14s ease; scrollbar-width: thin; scrollbar-color: #4a4a4d transparent; }
.dps-panel--up { transform: translateY(4px); }
.dps-panel.is-open { opacity: 1; transform: none; }
.dps-group { padding: 12px 12px 4px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8d8a85; }
.dps-opt { position: relative; display: flex; align-items: center; min-height: 44px; padding: 10px 40px 10px 12px; border-radius: 10px; color: #d9d5cf; cursor: pointer; user-select: none; }
.dps-opt.is-active { background: #2e2e31; color: #f0ede8; }
.dps-opt[aria-selected="true"] { color: #f0ede8; font-weight: 800; }
.dps-opt[aria-selected="true"]::after { content: ''; position: absolute; right: 14px; top: 50%; width: 12px; height: 6px; margin-top: -5px; border: solid #e77d3b; border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg); }
.dps-opt[aria-disabled="true"] { opacity: .4; cursor: default; }
@media (prefers-reduced-motion: reduce) { .dps-panel { transition: none; transform: none; } }

/* hero-phone.css */
/* Первый экран: чёрный 3D-телефон с уроком (src/home.js lessonPhone3d, public/hero-phone.js).
   Корпус на CSS 3D: перед и задняя панель — плоскости на ±толщина/2, рамку из узких полос по контуру строит скрипт.
   Только на ПК (от 900px), на телефоне урок показан плоской рамкой в разделе «Как это устроено». */
.p3d{--pw:300px;--ph:min(620px,calc(100svh - 230px));--pt:16px;--pr:50px;position:relative;justify-self:center;width:var(--pw);height:var(--ph);min-height:520px;perspective:1700px;perspective-origin:50% 40%;pointer-events:none;user-select:none}
.p3d__float,.p3d__body{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.p3d__float{transform:translate3d(0,0,0)}
/* Поза без скрипта: экран повёрнут к тексту, верх чуть наклонён вправо */
.p3d__body{transform:rotateX(7deg) rotateY(-24deg) rotateZ(4deg)}
.p3d__front,.p3d__back{position:absolute;inset:0;border-radius:var(--pr);-webkit-backface-visibility:hidden;backface-visibility:hidden}

/* Перед: чёрное стекло с тонкой рамкой вокруг экрана */
html body .p3d .p3d__front{width:auto;padding:9px;background:#040405;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 0 0 2px #000;transform:translateZ(calc(var(--pt) / 2))}
html body .p3d .p3d__front::before{display:none}
html body .p3d .hm-phone__screen{height:100%;max-height:none;min-height:0;border-radius:calc(var(--pr) - 9px);background:radial-gradient(120% 55% at 100% 0%,#e77d3b1f,transparent 60%),#111113;padding:18px 18px 20px}
html body .p3d .hm-phone__bar{padding-top:30px}
html body .p3d .hm-phone__next{display:none}
.p3d__island{position:absolute;top:21px;left:50%;width:86px;height:25px;margin-left:-43px;border-radius:999px;background:#000;box-shadow:inset 0 0 0 1px #ffffff0a}
.p3d__island::after{content:"";position:absolute;top:8px;right:12px;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#2b3550,#05070c 65%)}
/* Блик на стекле: широкая полоса внутри рамки экрана, скрипт двигает её сдвигом (дёшево для браузера) */
.p3d__glare{position:absolute;inset:9px;overflow:hidden;border-radius:calc(var(--pr) - 9px);pointer-events:none}
.p3d__glare i{position:absolute;top:0;bottom:0;left:-100%;width:300%;background:linear-gradient(112deg,transparent 38%,#ffffff10 46%,#ffffff05 51%,transparent 58%);will-change:transform}

/* Задняя панель: чёрное матовое стекло, блок камер, логотип */
.p3d__back{transform:translateZ(calc(var(--pt) / -2)) rotateY(180deg);background:radial-gradient(90% 60% at 20% 10%,#2a2a2f,transparent 60%),linear-gradient(155deg,#18181b,#0b0b0c 50%,#141416);box-shadow:inset 0 0 0 1px #ffffff12,inset 0 0 40px #000}
.p3d__cam{position:absolute;top:16px;left:16px;width:118px;height:118px;border-radius:34px;background:linear-gradient(145deg,#232327,#0d0d0f);box-shadow:inset 0 0 0 1px #ffffff1a,0 8px 18px #0009,inset 0 -2px 6px #0008}
.p3d__cam i{position:absolute;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#0a0c12 0 34%,#1c2a44 38%,#06070a 52%,#2a2a2e 62%,#0c0c0e 70%);box-shadow:0 0 0 3px #1b1b1e,0 0 0 4px #ffffff14,inset 0 0 6px #000}
.p3d__cam i::after{content:"";position:absolute;top:13px;left:14px;width:8px;height:5px;border-radius:50%;background:#9fb4ff55;transform:rotate(-30deg)}
.p3d__cam i:nth-child(1){top:12px;left:12px}
.p3d__cam i:nth-child(2){top:62px;left:12px}
.p3d__cam i:nth-child(3){top:37px;left:62px}
.p3d__cam b{position:absolute;top:14px;right:16px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff6e0,#b9a77a 60%,#4a4436);box-shadow:0 0 0 2px #1b1b1e}
.p3d__logo{position:absolute;left:0;right:0;bottom:46%;text-align:center;color:#ffffff1c;font-size:28px;font-weight:800;letter-spacing:-.06em}
.p3d__logo b{color:#e77d3b55}

/* Рамка: полосы строит скрипт; кнопки на боку */
.p3d__edge{position:absolute;left:0;top:0;transform-origin:50% 50%}

/* Тень на «полу» */
.p3d__shadow{position:absolute;left:6%;right:6%;bottom:-78px;height:60px;border-radius:50%;background:radial-gradient(closest-side,#000b,#0006 45%,transparent);opacity:.75;will-change:transform,opacity}

/* Пока скрипт ставит начальную сцену — текст и телефон не мигают на конечных местах.
   Если скрипт не загрузился, через секунду всё просто появится. */
@media (min-width:900px){
  .p3d-intro .hm-hero__copy,.p3d-intro .p3d{opacity:0;animation:p3d-safety .01s 1s forwards}
}
@keyframes p3d-safety{to{opacity:1}}
/* Телефон: 3D-телефон в разделе «Как это устроено», без вылета — висит и покачивается (на ПК там его нет) */
.p3d--still{--pw:272px;--ph:560px;--pr:46px;min-height:0;margin:48px auto 96px;justify-self:auto}
@media (min-width:900px){.p3d--still{display:none}}
@media (max-width:899px){.p3d:not(.p3d--still){display:none}}
@media (max-width:899px){.p3d--still .hm-phone li:nth-child(3){display:none}}
@media (min-width:900px) and (max-height:820px){.p3d .hm-phone li:nth-child(3){display:none}}
@media (prefers-reduced-motion:reduce){.p3d-intro .hm-hero__copy,.p3d-intro .p3d{opacity:1;animation:none}}
@media (min-width:900px){.hm-hero:has(.p3d) .hm-hero__copy{position:relative;z-index:2}}
