/* Рабочая страница /test. Палитра и элементы упражнений The Teacher School. */
body.lt-site { margin:0; --brand:#842320; --cream:#fffdf8; --card:#fffffd; --ink:#212121; --muted:#7a716a; --line:#d6d2cc; --page-line:#e3d9ce; --gap-line:#cfc6bc; --answer-bg:#fffefd; --sage:#a3ab84; --track:#e6e2dd; --graphite:#2e2c2a; --selected:#eceae6; --answer-ok-bg:#eef0e4; --answer-ok-line:#a3ab84; --answer-wrong-bg:#f7e7e1; --answer-wrong-line:#cf9d91; background:var(--cream); color:var(--ink); font:300 16px/1.5 Ubuntu,sans-serif; }
.lt-site *, .lt-site *::before, .lt-site *::after { box-sizing:border-box; }
.lt-site [hidden] { display:none!important; }
.lt-site button, .lt-site a { -webkit-tap-highlight-color:transparent; }
.lt-site a { color:var(--brand); }
.lt-site .lt-header { width:100%; max-width:1040px; margin:0 auto; padding:28px 40px 22px; }
.lt-site .lt-logo { font:400 26px/1 Forum,serif; text-decoration:none; color:var(--brand); }
.lt-site .lt-page.af { --lt-exercise-font-size:16px; display:block; max-width:1040px; margin:0 auto; padding:0 40px 70px; font:300 var(--lt-exercise-font-size)/1.5 Ubuntu,sans-serif; }
.lt-site .lt-card { min-width:0; min-height:380px; padding:46px 52px 42px; border:1px solid #eee8df; border-radius:24px; background:var(--card); box-shadow:0 14px 46px -30px rgba(90,40,20,.2); }
.lt-site .lt-card:focus { outline:none; }
.lt-site .lt-footer { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 24px; padding:0 20px 30px; font-size:12px; }
.lt-site .lt-footer a { color:var(--muted); text-decoration:none; }
.lt-site.lt-in-progress .lt-footer { display:none; }
.lt-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; border:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
/* Общая линия и круглые границы этапов, как на приложенных скриншотах. */
.lt-progress { margin:8px 0 26px; }
.lt-progress-sections { display:none; }
.lt-percent { display:block; text-align:right; margin-bottom:9px; color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; }
.lt-track { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin-right:12px; }
.lt-stage { position:relative; min-width:0; min-height:60px; }
.lt-stage::before { content:''; position:absolute; left:0; right:0; top:38px; height:5px; background:var(--track); }
.lt-stage__fill { position:absolute; left:0; top:38px; height:5px; width:0; background:var(--sage); transition:width .5s cubic-bezier(.2,.7,.25,1); }
.lt-stage__label { display:block; padding:0 4px; text-align:center; color:var(--muted); font:300 13px/1.3 Ubuntu,sans-serif; }
.lt-stage.is-current .lt-stage__label { color:var(--ink); font-weight:400; }
/* Keep stage lines behind the shared circular milestone. */
.lt-milestone { position:absolute; z-index:1; right:-12px; top:29px; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--track); color:var(--graphite); font-size:15px; }
.lt-stage.is-complete .lt-milestone { background:var(--sage); }
.lt-stage:first-child::before, .lt-stage:first-child .lt-stage__fill { border-top-left-radius:999px; border-bottom-left-radius:999px; }
.lt-stage:last-child::before, .lt-stage:last-child .lt-stage__fill, .lt-stage.is-current:not(.is-complete) .lt-stage__fill { border-top-right-radius:999px; border-bottom-right-radius:999px; }
/* Intro copy and the lower action/illustration row have separate layout areas. */
.lt-site .lt-card.lt-card--intro { padding:0; overflow:visible; min-height:0; margin-bottom:30px; }
.lt-intro { display:grid; grid-template-rows:auto 1fr; position:relative; text-align:left; isolation:isolate; }
.lt-intro-copy { position:relative; z-index:1; width:100%; max-width:780px; padding:32px 40px 0; }
.lt-intro .lt-h { margin-bottom:18px; }
.lt-intro .lt-p { margin-bottom:20px; }
.lt-intro .lt-notes { gap:13px; margin:22px 0 20px; font-size:15px; line-height:1.45; }
.lt-intro-bottom { display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,440px); gap:24px; align-items:end; align-self:end; padding:0 24px 0 40px; }
.lt-intro-action { position:relative; z-index:1; justify-self:end; align-self:end; padding-bottom:26px; }
.lt-site .lt-intro .lt-go { display:block; width:max-content; min-width:146px; min-height:46px; margin:0; padding:12px 22px; font-size:15px; }
.lt-intro-art { position:relative; z-index:0; width:100%; aspect-ratio:1536/610; align-self:end; pointer-events:none; }
.lt-intro-art img { position:absolute; left:0; bottom:0; display:block; width:100%; max-width:none; height:auto; transform:translateY(4%); clip-path:polygon(0 0,100% 0,100% 96%,54% 96%,54% 100%,0 100%); }
.lt-kicker { margin:0 0 14px; font-size:14px; color:var(--muted); }
.lt-h { margin:0 0 22px; font:400 44px/1.1 Forum,serif; color:var(--brand); }
.lt-p { margin:0 0 24px; font-size:16px; line-height:1.6; }
.lt-notes { display:grid; gap:18px; margin:28px 0 30px; padding:0; list-style:none; font-size:14px; line-height:1.5; color:var(--ink); }
.lt-notes li { display:grid; grid-template-columns:46px minmax(0,1fr); align-items:start; gap:16px; margin:0; }
.lt-note-number { display:block; border:1px solid #9b9188; border-radius:999px; padding:2px 6px; color:var(--ink); text-align:center; font:300 16px/1.4 Ubuntu,sans-serif; }
.lt-site .af-btn { display:inline-block; width:auto; min-height:44px; padding:11px 28px; border:0; border-radius:999px; background:var(--graphite); color:var(--cream); font:400 15px/1.4 Ubuntu,sans-serif; letter-spacing:0; text-transform:none; text-decoration:none; text-align:center; cursor:pointer; transition:background-color .15s,transform .1s; }
.lt-site .af-btn:disabled { opacity:1; background:var(--track); color:var(--muted); cursor:default; }
.lt-site button:focus-visible, .lt-site a:focus-visible { outline:2px solid #817c75; outline-offset:3px; }
/* Вопрос: одно условие, без номера и повторяющихся служебных подписей. */
.lt-body { margin-bottom:30px; }
.lt-sent, .lt-ask, .lt-context { margin:0; color:var(--ink); font:400 var(--lt-exercise-font-size)/1.45 Ubuntu,sans-serif; text-align:center; }
.lt-gap { display:inline-block; min-width:84px; height:1.05em; border-bottom:1px solid var(--muted); vertical-align:baseline; }
.lt-how { margin:12px 0 0; font-size:var(--lt-exercise-font-size); color:var(--muted); text-align:center; }
/* One responsive exercise scale for instructions, passages, options and word tiles. */
.lt-text { margin:24px 0 0; padding:22px 26px; border-radius:14px; background:#f5efe6; color:var(--ink); font-size:var(--lt-exercise-font-size); font-weight:400; line-height:1.65; }
.lt-opts { display:grid; gap:9px; }
.lt-opt { display:block; width:100%; min-height:46px; padding:12px 16px; border:1px solid var(--line); border-radius:10px; background:#fffefd; color:var(--ink); text-align:left; font:300 var(--lt-exercise-font-size)/1.4 Ubuntu,sans-serif; cursor:pointer; transition:background .15s,border-color .15s; }
.lt-opt.is-on { background:var(--selected); border-color:#8f8a84; font-weight:400; }
.lt-opt:disabled:not(.is-on) { opacity:.5; cursor:default; }
.lt-opts--short { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.lt-opts--short .lt-opt { width:auto; min-width:56px; min-height:40px; padding:8px 14px; border-radius:8px; text-align:center; }
.lt-foot { display:flex; justify-content:center; align-items:center; gap:28px; margin-top:36px; }
.lt-idk, .lt-again, .lt-rv-toggle { display:inline-block; min-height:44px; padding:10px 2px; border:0; background:transparent; color:var(--muted); font:300 14px/1.4 Ubuntu,sans-serif; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.lt-idk:disabled { cursor:default; }
/* Готовые слова. Счётчик выбора остаётся доступным скринридеру. */
.lt-line { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; min-height:90px; padding:18px; border:1px dashed var(--line); border-radius:14px; background:#fff; }
.lt-line.is-empty::before { content:'…'; color:var(--muted); }
.lt-pool { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; min-height:50px; margin-top:16px; }
.lt-tile { min-height:38px; padding:6px 13px; border:1px solid var(--line); border-radius:8px; background:#fffefd; color:var(--ink); font:400 var(--lt-exercise-font-size)/24px Ubuntu,sans-serif; cursor:pointer; }
.lt-line .lt-tile { background:#f4f2ee; }
.lt-tile:disabled { opacity:.45; cursor:default; }
/* Видеофрагмент и ответы рядом; только настоящая оригинальная запись. */
.lt-media-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
.lt-media { min-width:0; }
.lt-video-frame { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:14px; background:var(--graphite); }
.lt-video { display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.lt-play { position:absolute; inset:0; margin:auto; display:grid; place-items:center; width:58px; height:58px; padding:0 0 0 3px; border:0; border-radius:50%; background:var(--graphite); color:var(--cream); font-size:22px; cursor:pointer; }
.lt-source { margin:8px 0 0; font-size:12px; color:var(--muted); line-height:1.5; }
.lt-source a { color:inherit; text-decoration:none; }
.lt-source a:hover { text-decoration:underline; }
.lt-media-status { margin:12px 0 0; font-size:13px; color:var(--muted); line-height:1.45; }
.lt-technical-skip { margin:10px 0 0; padding:0; border:0; background:none; color:var(--muted); font:300 13px/1.5 Ubuntu,sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
/* Результат и разбор: проверенные навыки названы точно. */
.lt-h3 { margin:30px 0 18px; color:var(--ink); font:400 27px/1.2 Forum,serif; }
.lt-big { display:flex; align-items:baseline; gap:14px; margin:0 0 18px; }
.lt-big b { color:var(--brand); font:400 90px/1 Forum,serif; }
.lt-big small { color:var(--muted); font-size:14px; }
.lt-skills { display:grid; gap:14px; }
.lt-sk { display:grid; grid-template-columns:175px 40px minmax(0,1fr); align-items:center; gap:12px; font-size:15px; }
.lt-sk__l { text-align:right; font:400 22px/1.1 Forum,serif; color:var(--brand); }
.lt-sk__b { height:8px; border-radius:9px; background:var(--track); overflow:hidden; }
.lt-sk__b>span { display:block; height:100%; border-radius:inherit; background:#9c9690; }
.lt-sk.is-na { color:var(--muted); }
.lt-calls { display:grid; grid-template-columns:1fr 1.6fr; gap:14px; margin-top:28px; }
.lt-call { margin-top:28px; padding:20px; border-radius:16px; background:#f5efe6; }
.lt-calls .lt-call { margin:0; }
.lt-call>span { display:block; margin-bottom:8px; color:var(--muted); font-size:13px; }
.lt-call b { color:var(--brand); font:400 25px/1.15 Forum,serif; }
.lt-call p { margin:10px 0 0; font-size:14px; line-height:1.5; }
.lt-fine { margin:26px 0 24px; font-size:14px; color:var(--muted); line-height:1.55; }
.lt-rv-bar { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 24px; margin-top:12px; }
.lt-review { padding-top:8px; }
.lt-rv { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.lt-rv__i { padding:18px; border:1px solid var(--answer-ok-line); border-radius:14px; background:var(--answer-ok-bg); }
.lt-rv__i.is-no { border-color:var(--answer-wrong-line); background:var(--answer-wrong-bg); }
.lt-rv__i.is-skip { border-color:var(--line); background:#f4f2ee; }
.lt-rv__m { display:flex; gap:10px; margin-bottom:8px; font-size:12px; color:var(--muted); }
.lt-rv__m span { color:var(--brand); }
.lt-rv__q { margin:0 0 10px; font-size:var(--lt-exercise-font-size); line-height:1.5; }
.lt-rv__say { margin:8px 0; font-size:14px; font-style:italic; }
.lt-rv__a { margin:6px 0 0; font-size:var(--lt-exercise-font-size); line-height:1.5; }
.lt-rv__a.is-ok { color:#53613d; }
.lt-rv__a.is-no { color:#994431; }
.lt-rv__a.is-skip { color:var(--muted); }
.lt-rv__why { margin:10px 0 0; font-size:14px; line-height:1.5; }
.lt-review-video { display:block; width:100%; max-width:480px; aspect-ratio:16/9; margin-top:14px; border-radius:10px; background:var(--graphite); }
@media(hover:hover){ .lt-site .af-btn:not(:disabled):hover { background:#45413e; } .lt-opt:not(:disabled):hover,.lt-tile:not(:disabled):hover { border-color:#9c9690; } }
@media(max-width:767px){
 .lt-site .lt-header { padding:24px 20px 20px; }
 .lt-site .lt-logo { font-size:24px; }
 .lt-site .lt-page.af { --lt-exercise-font-size:14px; padding:0 16px 40px; }
 .lt-site .lt-card { min-height:360px; margin:0; padding:30px 20px; border-radius:20px; }
 .lt-progress { margin-bottom:18px; }
 .lt-track { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:6px; }
 .lt-stage { min-height:56px; }
 .lt-stage__label { font-size:12px; }
 .lt-stage:nth-child(3n+1)::before,.lt-stage:nth-child(3n+1) .lt-stage__fill { border-top-left-radius:999px; border-bottom-left-radius:999px; }
 .lt-stage:nth-child(3n)::before,.lt-stage:nth-child(3n) .lt-stage__fill { border-top-right-radius:999px; border-bottom-right-radius:999px; }
 .lt-h { font-size:34px; }
 .lt-kicker,.lt-notes,.lt-fine { font-size:13px; }
 .lt-p { font-size:14px; }
 .lt-opts--short { gap:8px; }
 .lt-opts--short .lt-opt { min-height:44px; }
 .lt-foot { gap:18px; margin-top:30px; }
 .lt-idk { font-size:13px; }
 .lt-site .lt-next { padding-inline:22px; }
 .lt-text { padding:18px; }
 .lt-media-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .lt-line { min-height:100px; padding:14px; }
 .lt-tile { min-height:44px; padding:8px 12px; }
 .lt-sk { grid-template-columns:minmax(0,1fr) 40px; gap:6px 10px; font-size:14px; }
 .lt-sk__b { grid-column:1/-1; }
 .lt-calls { grid-template-columns:1fr; }
 .lt-big b { font-size:76px; }
 .lt-footer { font-size:12px; }
}
@media(prefers-reduced-motion:reduce){.lt-stage__fill,.lt-opt{transition:none;}}
/* Шкала остаётся видимой при прокрутке длинного вопроса. */
.lt-progress { position:sticky; top:0; z-index:5; padding-top:10px; background:var(--cream); }

.lt-res .lt-cta { margin-top:28px; }


.lt-site .lt-page.af { padding-top:28px; }
.lt-site .ft { --cream:#fffdf8; }
/* Site navigation uses the same logo, sections, social links and burgundy bar as the home page. */
.lt-site-header { position:relative; z-index:20; background:var(--brand); color:#fffdf8; }
.lt-site-header__in { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1220px; min-height:76px; margin:0 auto; padding:14px 40px; }
.lt-site-logo { display:block; flex:none; }
.lt-site-logo img { display:block; width:218px; height:auto; }
.lt-site-menu { display:flex; align-items:center; gap:24px; }
.lt-site-nav { display:flex; gap:24px; }
.lt-site .lt-site-nav a { color:#fffdf8; text-decoration:none; font:300 15px/1.4 Ubuntu,sans-serif; white-space:nowrap; }
.lt-site .lt-nav-book { color:#842320; background:#fffdf8; padding:11px 22px; border-radius:999px; text-decoration:none; font:400 14px/1.3 Ubuntu,sans-serif; }
.lt-nav-social { gap:0; }
.lt-site .lt-nav-social .soc__a { width:36px; height:36px; background:transparent; border:1px solid #fffaf088; color:#fffdf8; --soc-in:#842320; }
.lt-nav-social .soc__a+.soc__a { margin-left:-3px; }
.lt-site .lt-nav-social .soc__a svg { width:18px!important; height:18px!important; }
.lt-menu-toggle { display:none; }
@media(max-width:1199px){
 .lt-site-header__in { min-height:64px; padding:10px 24px; }
 .lt-site-logo img { width:184px; }
 .lt-menu-toggle { display:grid; align-content:center; gap:5px; flex:none; width:44px; height:44px; padding:10px; border:1px solid #fffaf070; border-radius:50%; background:transparent; }
 .lt-menu-toggle span { display:block; height:1px; background:#fffdf8; }
 .lt-site-menu { display:none; position:absolute; top:100%; right:0; left:0; padding:24px; background:#842320; border-top:1px solid #fffaf033; box-shadow:0 16px 28px #21100d22; }
 .is-open .lt-site-menu { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
 .lt-site-nav { flex-direction:column; gap:20px; }
 .lt-site .lt-site-nav a { font-size:18px; }
 .lt-site .lt-nav-social .soc__a { width:42px; height:42px; }
}

@media(min-width:768px) and (max-width:1199px){
 .lt-intro-copy { max-width:none; padding:28px 30px 0; }
 .lt-intro .lt-h { font-size:38px; }
 .lt-intro-bottom { grid-template-columns:minmax(140px,1fr) minmax(0,320px); gap:20px; padding:0 24px 0 30px; }
 .lt-intro-action { padding-bottom:22px; }
}
@media(max-width:767px){
 .lt-site-header__in { min-height:60px; padding:8px 16px; }
 .lt-site-logo img { width:164px; }
 .lt-site .lt-page.af { padding:12px 12px 32px; min-height:calc(100svh - 60px); }
 .lt-site .lt-card.lt-card--intro { border-radius:18px; margin-bottom:22px; }
 .lt-intro { min-height:calc(100svh - 88px); grid-template-rows:1fr auto; }
 .lt-intro-copy { display:flex; flex-direction:column; max-width:none; padding:26px 22px 0; }
 .lt-intro .lt-h { max-width:100%; margin-bottom:16px; font-size:34px; line-height:1.06; }
 .lt-intro .lt-p { margin-bottom:18px; font-size:15px; line-height:1.45; }
 .lt-intro .lt-notes { flex:1; align-content:space-between; gap:14px; margin:22px 0 24px; font-size:15px; line-height:1.45; }
 .lt-notes li { grid-template-columns:38px minmax(0,1fr); gap:12px; }
 .lt-note-number { padding:2px 5px; font-size:16px; }
 .lt-intro-bottom { position:relative; display:flex; min-height:154px; padding:0 12px 0 18px; }
 .lt-intro-action { align-self:start; margin-top:12px; padding-bottom:0; }
 .lt-site .lt-intro .lt-go { min-width:118px; min-height:46px; margin:0; padding:12px 16px; font-size:14px; }
 .lt-intro-art { position:absolute; right:10px; bottom:0; width:300px; max-width:calc(100% - 18px); }
}
@media(max-width:767px) and (max-height:740px){
 .lt-intro-copy { padding:20px 18px 0; }
 .lt-intro .lt-h { font-size:30px; margin-bottom:12px; }
 .lt-intro .lt-p { font-size:14px; line-height:1.4; margin-bottom:14px; }
 .lt-intro .lt-notes { font-size:14px; line-height:1.4; gap:10px; margin:18px 0 18px; }
 .lt-note-number { font-size:15px; }
 .lt-intro-bottom { min-height:144px; }
 .lt-intro-action { margin-top:8px; }
}
@media(max-width:767px) and (max-height:640px){
 .lt-intro-copy { padding:18px 16px 0; }
 .lt-intro .lt-h { font-size:28px; }
 .lt-intro .lt-notes { font-size:13.5px; line-height:1.35; gap:9px; margin:16px 0 16px; }
 .lt-notes li { grid-template-columns:34px minmax(0,1fr); gap:10px; }
 .lt-intro-bottom { min-height:132px; }
 .lt-intro-art { width:280px; }
}
@media(max-width:359px){
 .lt-site-header__in { min-height:56px; padding-top:6px; padding-bottom:6px; }
 .lt-site-logo img { width:150px; }
 .lt-site .lt-page.af { min-height:calc(100svh - 56px); }
 .lt-intro { min-height:calc(100svh - 84px); }
 .lt-intro-copy { padding-top:14px; }
 .lt-intro .lt-h { font-size:26px; }
 .lt-intro .lt-p { font-size:13.5px; margin-bottom:10px; }
 .lt-intro .lt-notes { font-size:13px; gap:8px; margin:12px 0 10px; }
 .lt-notes li { grid-template-columns:32px minmax(0,1fr); gap:9px; }
 .lt-note-number { font-size:14px; }
 .lt-intro-bottom { padding-left:14px; padding-right:10px; min-height:112px; }
 .lt-intro-art { right:8px; width:240px; }
 .lt-site .lt-intro .lt-go { min-width:110px; padding-inline:12px; }
}
/* Answer review: separate white cards, with colour applied only to answer fields. */
.lt-rv { gap:20px; }
.lt-rv__i,.lt-rv__i.is-no,.lt-rv__i.is-skip { padding:24px; border:1px solid #e6ddd2; border-radius:18px; background:var(--card); }
.lt-rv__m { align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; font-size:13px; }
.lt-rv__m>span:first-child { color:var(--muted); }
.lt-rv__status { display:inline-block; flex:none; padding:3px 10px; border-radius:7px; font-weight:400; font-size:12px; }
.lt-rv__m .lt-rv__status.is-ok { color:#53613d; background:var(--answer-ok-bg); }
.lt-rv__m .lt-rv__status.is-no { color:#994431; background:var(--answer-wrong-bg); }
.lt-rv__m .lt-rv__status.is-skip { color:var(--muted); background:#f4f2ee; }
.lt-rv__q { margin:0 0 20px; font:400 var(--lt-exercise-font-size)/1.4 Ubuntu,sans-serif; }
.lt-rv__prompt { margin:0 0 18px; font-size:var(--lt-exercise-font-size); }
.lt-rv .lt-text { margin:0 0 20px; }
.lt-rv__answers { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.lt-rv__answers--single { grid-template-columns:minmax(0,1fr); }
.lt-rv__answer { min-width:0; padding:12px 14px; border-radius:10px; }
.lt-rv__answer.is-ok { background:var(--answer-ok-bg); }
.lt-rv__answer.is-no { background:var(--answer-wrong-bg); }
.lt-rv__answer.is-skip { background:#f4f2ee; }
.lt-rv__label { display:block; margin-bottom:5px; color:var(--muted); font-size:12px; }
.lt-rv__answer .lt-rv__a { margin:0; color:var(--ink); font-size:var(--lt-exercise-font-size); font-weight:400; overflow-wrap:anywhere; }
.lt-rv__explain,.lt-rv__media { margin-top:16px; font-size:14px; }
.lt-rv__explain summary,.lt-rv__media summary { width:fit-content; min-height:32px; padding:5px 0; cursor:pointer; }
.lt-rv__explain p { margin:8px 0 0; color:var(--muted); line-height:1.55; }
.lt-rv__i>.lt-source { margin-top:14px; }
@media(max-width:600px){
 .lt-rv__i,.lt-rv__i.is-no,.lt-rv__i.is-skip { padding:18px; }
 .lt-rv__answers { grid-template-columns:minmax(0,1fr); gap:8px; }
 .lt-rv__m { align-items:flex-start; font-size:12px; }
 .lt-rv__status { padding:3px 7px; }
 .lt-rv__explain summary,.lt-rv__media summary { min-height:44px; display:list-item; }
}

/* Утверждённый баннер консультации: фото отдельно слева, текст и кнопки справа. */
.lt-consultation { container:ltconsult/inline-size; width:100%; margin:36px 0 24px; scroll-margin-top:24px; }
.lt-consult__banner { --lc-media:28%; --lc-bulb:92px; --lc-extra:50px; position:relative; display:grid; grid-template-columns:var(--lc-media) minmax(0,1fr); isolation:isolate; min-height:202px; border-radius:20px; background:#2e2c2a; color:#fffdf8; font:400 14px/1.45 Ubuntu,sans-serif; }
.lt-consult__media { position:relative; grid-column:1; grid-row:1; align-self:stretch; pointer-events:none; }
.lt-consult__photo-frame { position:absolute; inset:0; z-index:2; overflow:hidden; border-radius:20px 0 0 20px; }
.lt-consult__photo { position:absolute; display:block; height:calc(100% + var(--lc-extra)); width:auto; max-width:none; left:50%; bottom:0; transform:translateX(-50%); }
.lt-consult__bulb { position:absolute; z-index:3; display:block; left:62%; top:-12px; width:var(--lc-bulb); height:auto; max-width:none; }
.lt-consult__glow { position:absolute; z-index:1; left:calc(62% - 12px); top:-22px; width:calc(var(--lc-bulb) + 24px); height:calc(var(--lc-bulb) + 24px); border-radius:50%; background:radial-gradient(ellipse,rgba(249,220,137,.24),rgba(249,220,137,.09) 40%,rgba(249,220,137,0) 72%); }
.lt-consult__content { position:relative; z-index:4; grid-column:2; grid-row:1; align-self:center; min-width:0; padding:26px 26px 24px 20px; }
.lt-consult__title { margin:0 0 20px; color:#fffdf8; font:400 34px/1.08 Forum,serif; text-wrap:balance; }
.lt-consult__actions { display:grid; grid-template-columns:minmax(128px,.8fr) minmax(0,1.3fr); gap:7px 12px; align-items:stretch; }
.lt-consultation .lt-consult__link { display:flex; align-items:center; justify-content:center; min-width:0; min-height:48px; padding:10px 13px; border:1px solid transparent; border-radius:11px; text-align:center; text-decoration:none; font:400 14px/1.3 Ubuntu,sans-serif; }
.lt-consultation .lt-consult__price { grid-column:1; grid-row:1; border-color:#b8afa18c; color:#d4c9ba; background:transparent; }
.lt-consultation .lt-consult__book { grid-column:2; grid-row:1; color:#2e2c2a; background:#fffdf8; }
.lt-consultation .lt-consult__price:hover { color:#fffdf8; border-color:#fffdf8; }
.lt-consultation .lt-consult__book:hover { background:#eee5d8; }
.lt-consultation .lt-consult__link:focus-visible { outline:2px solid #fffdf8; outline-offset:3px; }
.lt-consult__meta { grid-column:2; grid-row:2; display:flex; justify-content:center; flex-wrap:wrap; gap:0 5px; margin:0; color:#cbbfaf; font:300 12px/1.35 Ubuntu,sans-serif; text-align:center; }
.lt-consult__meta span { white-space:nowrap; }
@container ltconsult (min-width:521px) and (max-width:700px) {
 .lt-consult__banner { --lc-bulb:72px; --lc-extra:36px; min-height:164px; }
 .lt-consult__content { padding:20px 22px 20px 18px; }
 .lt-consult__title { font-size:24px; line-height:1.1; margin-bottom:16px; }
 .lt-consultation .lt-consult__link { padding:8px; min-height:48px; }
}
@media(max-width:767px) {
 .lt-consultation { width:calc(100% + 28px); margin-left:-14px; margin-right:-14px; }
}
@container ltconsult (max-width:520px) {
 .lt-consult__banner { --lc-media:30%; --lc-bulb:44px; --lc-extra:30px; min-height:0; border-radius:17px; }
 .lt-consult__photo-frame { border-radius:17px 0 0 17px; }
 .lt-consult__content { padding:12px; }
 .lt-consult__title { font-size:18px; line-height:1.12; margin-bottom:18px; }
 .lt-consult__bulb { top:-8px; }
 .lt-consult__glow { top:-17px; left:calc(62% - 9px); width:calc(var(--lc-bulb) + 18px); height:calc(var(--lc-bulb) + 18px); }
 .lt-consult__actions { grid-template-columns:minmax(90px,.8fr) minmax(0,1.3fr); gap:14px 8px; }
 .lt-consultation .lt-consult__link { min-height:44px; padding:6px; border-radius:9px; font-size:12.5px; line-height:1.3; }
 .lt-consult__meta { grid-column:1/-1; grid-row:2; flex-wrap:nowrap; align-items:baseline; gap:4px; white-space:nowrap; font-size:11px; line-height:1.3; }
 .lt-consult__meta span:first-child::after { content:" ·"; }
}
@container ltconsult (max-width:370px) {
 .lt-consult__banner { --lc-media:28%; --lc-bulb:40px; }
 .lt-consult__content { padding:11px; }
 .lt-consult__title { font-size:17px; margin-bottom:16px; }
 .lt-consult__actions { grid-template-columns:minmax(86px,.8fr) minmax(0,1.3fr); gap:13px 7px; }
}
@container ltconsult (max-width:310px) {
 .lt-consult__banner { --lc-media:26%; --lc-bulb:34px; }
 .lt-consult__content { padding:10px; }
 .lt-consult__title { font-size:16px; margin-bottom:14px; }
 .lt-consult__actions { grid-template-columns:80px minmax(0,1fr); gap:12px 6px; }
 .lt-consultation .lt-consult__link { padding:6px 5px; font-size:12px; }
}

/* Agreed wording applies at every width; these labels stay lowercase in test.js. */
.lt-site .lt-idk,.lt-site .lt-next { text-transform:none; }

/* Compact question layout for phones and portrait tablets.
   Colours come from classes/_kit/lesson.css in The Teacher School. */
@media(max-width:1023px) {
 .lt-site.lt-in-progress { --lt-header-height:64px; }
 .lt-site.lt-in-progress .lt-page.af {
  min-height:calc(100svh - var(--lt-header-height));
  min-height:calc(100dvh - var(--lt-header-height));
  padding:12px 16px max(24px,env(safe-area-inset-bottom));
 }
 .lt-site.lt-in-progress #site-footer { display:none; }
 .lt-progress {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 12px;
  margin:0 4px 18px; padding:0 0 12px; background:var(--cream);
 }
 .lt-progress-sections { display:block; position:relative; min-width:0; }
 .lt-current {
  display:flex; align-items:center; gap:9px; width:max-content; max-width:100%; min-height:44px;
  padding:0; list-style:none; color:var(--ink); font:400 16px/1.4 Ubuntu,sans-serif; cursor:pointer;
 }
 .lt-current::-webkit-details-marker { display:none; }
 .lt-current-arrow { color:var(--muted); font-size:14px; }
 .lt-progress-sections[open] .lt-current-arrow { transform:rotate(180deg); }
 .lt-current:focus-visible { outline:2px solid #817c75; outline-offset:3px; }
 .lt-section-list {
  position:absolute; top:100%; left:0; z-index:2; width:min(320px,calc(100vw - 40px));
  margin:0; padding:8px; list-style:none; border:1px solid var(--page-line); border-radius:16px;
  background:var(--card); box-shadow:0 0 60px -22px rgba(90,40,20,.25);
 }
 .lt-section-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:8px 12px; color:var(--ink); font-size:14px; }
 .lt-section-list li.is-current { background:var(--answer-ok-bg); border-radius:10px; }
 .lt-section-status { color:var(--muted); font-size:12px; }
 .lt-percent { margin:0; font-size:14px; }
 .lt-track { grid-column:1/-1; grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; height:4px; margin:0; }
 .lt-stage { min-height:4px; }
 .lt-stage::before,.lt-stage__fill { top:0; height:4px; border-radius:999px; }
 .lt-stage.is-current::before { background:var(--sage); }
 .lt-stage__label,.lt-milestone { display:none; }
 .lt-site.lt-in-progress .lt-card { min-height:0; padding:22px 20px; border:1px solid rgba(132,35,32,.09); border-radius:20px; background:var(--card); box-shadow:0 0 60px -22px rgba(90,40,20,.25); }
 .lt-body { margin-bottom:22px; }
 .lt-sent,.lt-ask,.lt-context { line-height:1.5; text-align:left; overflow-wrap:break-word; }
 .lt-gap { min-width:0; width:48px; border-bottom-color:var(--gap-line); }
 .lt-opts,.lt-opts--short { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
 .lt-opt,.lt-opts--short .lt-opt { width:100%; min-width:0; min-height:48px; padding:10px 18px; border:1px solid var(--line); border-radius:12px; background:var(--answer-bg); text-align:left; }
 .lt-opt.is-on { background:var(--selected); border-color:#8f8a84; }
 .lt-foot { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; margin-top:20px; }
 .lt-idk { min-height:48px; font-size:13px; white-space:nowrap; }
 .lt-site .lt-next { width:100%; min-height:48px; padding:10px 14px; font-size:15px; }
 .lt-media-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
}
@media(max-width:767px) {
 .lt-site.lt-in-progress { --lt-header-height:60px; }
 .lt-site.lt-in-progress .lt-card { padding:20px 18px; }
}
@media(max-width:359px) {
 .lt-site.lt-in-progress { --lt-header-height:56px; }
 .lt-site.lt-in-progress .lt-page.af { padding-inline:12px; }
 .lt-site.lt-in-progress .lt-card { padding:18px 15px; }
 .lt-foot { gap:8px; }
 .lt-idk { font-size:12px; }
}

/* Keep the start arrow visible at every breakpoint. */
.lt-site .lt-intro .lt-go { display:inline-flex; align-items:center; justify-content:center; gap:12px; white-space:nowrap; }
.lt-go-arrow { display:block; flex:none; width:20px; height:20px; }
@media(max-width:767px) {
 .lt-intro-art { right:-6px; width:324px; max-width:calc(100% - 8px); }
}
@media(max-width:767px) and (max-height:640px) {
 .lt-intro-art { width:302px; }
}
@media(max-width:359px) {
 .lt-intro-art { width:260px; }
}
