/* Редакционная тема. Старый файл сохраняет структуру всех экранов.
   Откат: заменить /theme-lebedev.css на /theme-soft.css в нужной странице. */
@import url('/theme-soft.css');

@font-face{font-family:'Golos Text';src:url('/fonts/GolosText.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}

:root{
  --font-ui:'Golos Text',Arial,sans-serif;
  --text-xs:13px;--text-base:16px;--text-lg:20px;--text-xl:28px;--text-2xl:40px;--text-display:64px;
  --space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px;
  --radius:3px;--rule:1px solid var(--line);
  --bg:#fff;--fg:#161616;--muted:#626262;
  --card:#fff;--card-strong:#fff;--sheet:#fff;--line:#d4d4d4;--tile-line:#d4d4d4;
  --btn:#fff;--btn-hover:#f3f3f3;--btn-line:#b0b0b0;--field:#fff;--soft:#f5f5f5;
  --ac:#d80616;--ac-fg:#fff;--exit:#b30c1b;--ok:#246540;--okb:#edf5ef;--no:#b30c1b;--nob:#fff0f1;--wn:#795600;--wnb:#faf4e6;
  --onbg:var(--fg);--onbg-muted:var(--muted);--onbg-shadow:none;
  --shadow:none;--shadow-sm:none;--blur:none;--track:#e6e6e6;--segdone:#e6e6e6;
  --timerfill:#ededed;--timerlowfill:#ffe0e3;--lbl:var(--muted);--exbg:#f5f5f5;
  --c1:var(--soft);--c2:var(--soft);--c3:var(--soft);--c4:var(--soft);color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#101010;--fg:#eee;--muted:#ababab;
  --card:#101010;--card-strong:#171717;--sheet:#171717;--line:#414141;--tile-line:#414141;
  --btn:#171717;--btn-hover:#252525;--btn-line:#737373;--field:#101010;--soft:#222;
  --ac:#ff747d;--ac-fg:#101010;--exit:#ff8992;--ok:#8acba3;--okb:#192b20;--no:#ff8992;--nob:#351e22;--wn:#d6bc7b;--wnb:#2d281a;
  --onbg:var(--fg);--onbg-muted:var(--muted);--onbg-shadow:none;
  --track:#333;--segdone:#333;--timerfill:#303030;--timerlowfill:#4a242a;--lbl:var(--muted);--exbg:#222;
  --c1:var(--soft);--c2:var(--soft);--c3:var(--soft);--c4:var(--soft);color-scheme:dark;
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme]),:root[data-theme="auto"]{
    --bg:#101010;--fg:#eee;--muted:#ababab;--card:#101010;--card-strong:#171717;--sheet:#171717;
    --line:#414141;--tile-line:#414141;--btn:#171717;--btn-hover:#252525;--btn-line:#737373;--field:#101010;--soft:#222;
    --ac:#ff747d;--ac-fg:#101010;--exit:#ff8992;--ok:#8acba3;--okb:#192b20;--no:#ff8992;--nob:#351e22;--wn:#d6bc7b;--wnb:#2d281a;
    --track:#333;--segdone:#333;--timerfill:#303030;--timerlowfill:#4a242a;--exbg:#222;color-scheme:dark;
  }
}

/* Общая сетка и типографика. */
body{font:var(--text-base)/1.5 var(--font-ui);background:var(--bg);color:var(--fg);overflow-wrap:break-word}
.bg{display:none}
main,main.wide{max-width:1200px;padding:16px max(16px,env(safe-area-inset-right)) 64px max(16px,env(safe-area-inset-left))}
main>* ,#app>*{min-width:0}
h1,h2,h3,.hero-t,.scr-t,.lms-title,.lx-title{font-weight:700;letter-spacing:-.035em;line-height:1.12;hanging-punctuation:first last;text-wrap:pretty}
h1,.hero-t{font-size:40px}
h2,#app>h2,.scr-t,.lms-title,.lx-title{font-size:28px;margin:24px 0 16px}
h3{font-size:20px}
p{max-width:78ch}
.sub,.hint,.lead,.hero-s,.hero-more{color:var(--muted);opacity:1;text-shadow:none}
.hint{font-size:13px;line-height:1.5}
.lead{margin:0 0 32px;max-width:72ch}
a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--fg);text-decoration-thickness:2px}
footer{max-width:1168px;margin:0 auto;padding:24px 16px 32px;border-top:var(--rule);font-size:13px;line-height:1.6;text-align:left;color:var(--muted)}
.topbar{min-height:56px;padding-bottom:16px;margin-bottom:0;border-bottom:var(--rule);gap:8px;flex-wrap:wrap}
.tr{gap:16px;flex-wrap:wrap}
.brand{font-size:16px;font-weight:700;letter-spacing:-.04em;color:var(--fg);text-decoration:none}
button.exit{background:none;color:var(--muted);border:0;border-radius:0;padding:8px 0;font-size:13px;letter-spacing:0;font-weight:400}
button.exit:hover:not(:disabled){background:none;color:var(--ac);filter:none}
.pill,a.pill,button.pill,button.back{border:0;border-radius:0;background:none;padding:8px 0;box-shadow:none;font-weight:400;font-size:13px;text-decoration:underline;text-underline-offset:4px}
button.back{margin-top:24px}
button.pill.round{border:var(--rule);border-radius:var(--radius);width:40px;height:40px;padding:8px}
.me .ava,.sh-head .ava{border-radius:var(--radius);border:0;background:var(--soft);width:40px;height:40px;box-shadow:none}
.me .lk{font-size:13px;font-weight:500}
.ui-icon{display:inline-block;width:24px;height:24px;vertical-align:middle;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Вход и главная. */
.hero{padding:40px 0 32px;gap:16px;text-align:left;align-items:flex-start}
.hero-t{font-size:40px;line-height:1.05;max-width:11ch;letter-spacing:-.045em;margin:0}
.hero-more{order:-1;margin:0;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.hero-s{font-size:16px;line-height:1.5;max-width:42ch;text-wrap:pretty}
.live,.live.members{align-self:flex-start;text-align:left;padding:0;background:none;border:0;border-radius:0;box-shadow:none;font-size:13px;margin:0}
.live-dot{width:6px;height:6px;background:var(--fg);animation:none;box-shadow:none}
#login-form,#register-form,#signup-form,#invite-form{padding:24px 0;border:0;border-top:var(--rule);background:none;gap:24px}
#login-form h2,#register-form h2,#signup-form h2{font-size:28px;margin:0}
#login-form .row{margin:0}
#login-form button[type=submit]{width:100%}
.reg-cta{padding:24px 0;border:0;border-top:var(--rule);gap:16px;align-items:flex-start}
.reg-cta button.p{background:none;color:var(--ac);border-color:var(--btn-line)}
.about.card{margin-top:48px;padding:32px 0 0;border:0;border-top:var(--rule);background:none;max-width:78ch;color:var(--muted);font-size:13px}
.about h2{font-size:20px;color:var(--fg);margin:0 0 16px}
.about ul{padding-left:16px}
.tiles{grid-template-columns:1fr;gap:0;counter-reset:section}
button.tile,button.tile.wide{position:relative;counter-increment:section;grid-column:auto;min-height:160px;border:0;border-top:var(--rule);border-radius:0;background:none;padding:24px 32px 24px 0;box-shadow:none;gap:16px;transition:background .15s,color .15s;justify-content:flex-start}
button.tile::before{content:counter(section,decimal-leading-zero);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
button.tile::after{content:'↗';position:absolute;right:0;top:24px;color:var(--muted);font-size:20px}
button.tile:hover:not(:disabled){background:var(--soft);border-color:var(--line)}
button.tile:active{transform:none}
.tile b,button.tile.wide b{font-size:28px;font-weight:600;line-height:1.12;letter-spacing:-.025em;color:var(--fg)}
.tile span{font-size:13px;line-height:1.5}
.tile.locked,.tb.locked{opacity:1}
.tile.locked b,.tb.locked b{color:var(--muted)}
.tile.locked span,.tb.locked span{color:var(--muted)}
.help-row{justify-content:flex-start;margin-top:24px}

/* Элементы управления и состояния. */
button,select,a.btn{border-radius:var(--radius);min-height:44px;padding:10px 16px;box-shadow:none;transition:background .15s,color .15s,border-color .15s}
button.p,a.btn.p,button.lx-b.go{font-weight:500;background:var(--ac);border-color:var(--ac);color:var(--ac-fg)}
button.p:hover:not(:disabled),button.lx-b.go:hover:not(:disabled){filter:none;background:var(--fg);border-color:var(--fg);color:var(--bg)}
button:disabled{opacity:.5;cursor:not-allowed}
button.warn,button.ok{background:none}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--fg);outline-offset:4px}
.f input:focus-visible,.f select:focus-visible,.f textarea:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
.f{gap:24px}
.f label{font-size:13px;gap:8px}
.f input:not([type=radio]):not([type=checkbox]),.f select,.f textarea,input.q,.inv-link input,.chat-form textarea{font:16px/1.5 var(--font-ui);min-height:48px;border-radius:var(--radius);border:1px solid var(--btn-line);background:var(--field);color:var(--fg);padding:12px;min-width:0;max-width:100%}
.f label:has(input:focus){color:var(--fg)}
input[type=radio],input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--fg)}
.f input:user-invalid,.f input[aria-invalid=true]{border-color:var(--no)}
.f label.fac-opt,.f label.plan-opt{font-size:16px;padding:16px;border-radius:var(--radius);box-shadow:none;background:none}
.f label.fac-opt:has(input:checked),.f label.plan-opt:has(input:checked){border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg);background:var(--soft)}
.f label.fac-opt input,.f label.plan-opt input{accent-color:var(--fg)}
.msg,.acc,.ex,.vo,.rep-form,.rep-note,.rep-reply,.badge,.tag,.offer-note{border-radius:var(--radius);box-shadow:none}
.hint.fine{opacity:1;font-size:13px;color:var(--muted)}
.tabs,.tabs.sm{border:0;border-bottom:var(--rule);border-radius:0;padding:0;gap:0;background:none;box-shadow:none;flex-wrap:wrap;margin:24px 0}
.tabs button,.tabs.sm button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted);padding:12px 16px;font-size:13px;box-shadow:none;min-width:0}
.tabs button.on,.tabs.sm button.on,.tabs button.on:hover:not(:disabled),.tabs.sm button.on:hover:not(:disabled){border-color:var(--fg);background:none;color:var(--fg);font-weight:600}
.tabs button:hover:not(:disabled){color:var(--fg);background:var(--soft)}
#app>label.sw,main.wide label.sw{border:0;border-radius:0;background:none;box-shadow:none;padding:8px 0}
.seg{background:var(--soft);border:var(--rule);border-radius:var(--radius);gap:0;padding:4px}
.seg button{border-radius:var(--radius);font-size:13px}
.seg button[aria-pressed=true],.seg button[aria-pressed=true]:hover{box-shadow:none;background:var(--fg);color:var(--bg)}

/* Списки тем, вопросы и результаты. */
.card{border:var(--rule);border-radius:var(--radius);padding:24px;background:var(--card);box-shadow:none}
.card.reg-cta{padding:24px 0;border-width:1px 0 0}
.acc.ok{background:var(--soft);border-color:var(--line)}
.acc.ok b{color:var(--fg)}
.card.soon,.hint.gh{opacity:1}
.card.tb{border:0;border-top:var(--rule);border-radius:0;padding:24px 0;margin:0;background:none;gap:8px}
.card.tb b{font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.02em}
.card.tb:hover:not(:disabled){background:var(--soft);border-color:var(--line)}
.card.tb>span:not(.hint){font-size:13px}
.grp,.pw-fac{border:0;border-top:var(--rule);border-radius:0;background:none;margin:16px 0}
.grp>summary,.pw-fac>summary{padding:24px 0;gap:16px}
.grp-body{padding:0 0 16px;gap:0}
.grp-n,.soon-tag{color:var(--muted);font-size:13px}
button.n,button.vbtn,button.deck,button.ph-task{border-radius:var(--radius);box-shadow:none;padding:12px;background:var(--card)}
.grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px}
button.n{padding:8px 0}
.tb progress,.tprog progress{height:3px;border-radius:0}
.tb progress::-webkit-progress-bar,.tb progress::-webkit-progress-value,.tprog progress::-webkit-progress-bar,.tprog progress::-webkit-progress-value{border-radius:0}
.q,.lx-q,.tk-q{font-size:20px;font-weight:500;line-height:1.4;letter-spacing:-.015em;margin-bottom:16px;max-width:70ch}
.card:has(#o){padding:24px 0;border:0;border-top:var(--rule)}
#o label,.lx #o label{border-radius:var(--radius);background:none;padding:16px;gap:12px;font-size:16px;line-height:1.5;min-height:56px}
#o label:has(input:checked:not(:disabled)){border-color:var(--fg);background:var(--soft)}
#o input{accent-color:var(--fg);margin-top:3px}
#o label.ok{background:var(--okb);border-color:var(--ok)}
#o label.no{background:var(--nob);border-color:var(--no)}
.lx-head{gap:16px;align-items:center;margin:32px 0}
.lx-title{font-size:28px;margin:0}
.lx-timer{height:48px;flex:0 1 200px;border:var(--rule);border-radius:var(--radius);background:none;box-shadow:none}
.lx-timer b{font-size:20px;color:var(--fg);letter-spacing:0}
.lx-timer i{transition:width .2s linear}
.lx-nav{border:0;border-bottom:var(--rule);border-radius:0;background:none;padding:0 0 16px;gap:4px;box-shadow:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
button.lx-s{min-height:40px;border-radius:var(--radius);font-size:13px;padding:8px 0}
button.lx-s.cur,button.lx-s.cur:hover:not(:disabled){background:var(--fg);color:var(--bg)}
.lx-panel{border:0;border-radius:0;background:none;box-shadow:none;padding:32px 0;min-height:0;margin:0}
.lx-foot{margin-top:24px;padding-top:0}
button.lx-b{border-radius:var(--radius);font-size:16px;padding:12px 16px}
button.lx-close{border-radius:var(--radius);box-shadow:none;background:none}
.lx-ask,.lms-banner{border:var(--rule);border-radius:var(--radius);box-shadow:none;background:var(--soft)}
.lms-cols{grid-template-columns:1fr;gap:24px}
.lms-cols h3{font-size:16px;letter-spacing:0;margin-bottom:16px}
.lms-f .l{font-size:13px}.lms-f .v{font-size:16px}
.vscore{font-size:40px;letter-spacing:-.05em;line-height:1.1;margin:0 0 24px;font-variant-numeric:tabular-nums}
.card.vres{border:0;border-top:var(--rule);border-left:3px solid var(--no);border-radius:0;margin:24px 0;padding:24px}
.card.vres.is-ok{border-left-color:var(--ok)}
.stats{gap:16px}
.stat{border:0;border-top:var(--rule);border-radius:0;padding:16px 0;background:none;box-shadow:none}
.stat b{font-size:28px;letter-spacing:-.03em;font-weight:600}

/* Атлас: исходные пропорции и координаты точек сохраняются. */
.at-th,.at-fig img{border-radius:var(--radius);object-fit:contain}
.at-pt,.at-pt:hover:not(.dim){min-height:0;min-width:0;background:#161616;box-shadow:none;transform:none;animation:none}
.at-pt.on,.at-pt.on:hover{background:#d80616;transform:none;animation:none;outline:2px solid #d80616;outline-offset:2px}
.at-pt.ok,.at-pt.ok:hover{background:#246540;transform:none}
.at-pt.no,.at-pt.no:hover{background:#b30c1b;transform:none}
.at-lines line{stroke:#161616}.at-lines line.on{stroke:#d80616}.at-lines line.ok{stroke:#246540}.at-lines line.no{stroke:#b30c1b}
.at-terms button{border-radius:var(--radius)}
.at-tools{flex-wrap:wrap}
.fc-f{border-radius:var(--radius);box-shadow:none;min-height:280px;background:var(--card)}
.fc-in{transition:transform .18s ease}
.fc-lat{font-style:normal;font-size:28px;letter-spacing:-.025em}
.fc-ru{font-size:20px}

/* Кабинет, подписка, админка, документы и переписки. */
.sheet-wrap,.ask-wrap,.cele-wrap{background:rgba(0,0,0,.45);backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}
.sheet{border:var(--rule);border-radius:var(--radius);padding:0 16px 24px;box-shadow:none;animation:none}
.sh-top{box-shadow:none;border-bottom:var(--rule);padding:16px 0}
button.sh-x{border:var(--rule);border-radius:var(--radius);background:none}
.sh-row,.sh-list summary,.sh-list details[open] summary,.sh-body{border-radius:0;border-width:0 0 1px;padding:16px 0;background:none}
.sh-list details[open] summary{background:none}
.sheet .card{border-radius:var(--radius);background:none}
.sh-head b{font-size:20px}
.card.offer,.sheet .card.offer,.card.offer.promo,.sheet .card.offer.promo,.sheet .card.ref{border:var(--rule);border-left-width:1px;background:none}
.offer-price b{font-size:40px;color:var(--fg);letter-spacing:-.04em}
.sub-banner{border-width:1px 0;border-radius:0;padding:24px 0;background:none;border-color:var(--line);margin-bottom:24px}
.plan-price s{color:var(--muted)}
main.wide>h1{font-size:40px;margin:40px 0 16px}
.adm-sec{border:0;border-top:var(--rule);border-radius:0;margin-top:24px;background:none}
.adm-sum{padding:24px 0}.adm-h{font-size:20px}
.adm-body{padding:0 0 24px}
.card.u{border-radius:var(--radius)}
.u-more{border-top-style:solid}
.tools>*,label.sort{min-width:0;max-width:100%}
label.sort select{min-width:0;max-width:100%}
.bulk-sel{background:var(--sheet);border-radius:var(--radius)}
.u-act button{min-height:40px}
.page-t{font-size:40px;margin:40px 0 24px}
.oferta{line-height:1.65;max-width:82ch}.oferta h3{margin:32px 0 16px}
main.page{align-items:flex-start;text-align:left;gap:16px;min-height:75vh}
main.page>h1{font-size:40px;max-width:14ch;line-height:1.05}
main.page a.btn{border-radius:var(--radius);box-shadow:none}
.error-code{margin:0;font-size:13px;letter-spacing:.1em;color:var(--muted)}
.chat-ava,.chat-ava[class*=" c"],.chat-ava.team-ava{border-radius:var(--radius);background:var(--soft);color:var(--fg)}
.bubble,.theirs .bubble,.mine .bubble{border-radius:var(--radius);box-shadow:none}
.mine .bubble{background:var(--soft);color:var(--fg);border:var(--rule)}
.bubble .meta{opacity:1;color:var(--muted)}
.chat-empty{text-align:left}
.chat-day span,.online-tag,.soon-tag,.wait-tag{border-radius:var(--radius)}
.chat-send,.chat-attach,button.chat-send{border-radius:var(--radius)}
.chat{padding:0}.card.chats{padding:0}
.toast,.ask,.cele{border-radius:var(--radius);box-shadow:none;border:var(--rule);background:var(--sheet);text-align:left;animation:none}
.toast{transition:opacity .18s;transform:none}.toast.out{transform:none}
.ask .row,.cele-act{justify-content:flex-start}
.medal-item,button.medal-item.on{align-items:flex-start;text-align:left;border-radius:var(--radius);background:none;border-color:var(--line);box-shadow:none}
.medal-item .m,button.medal-item.on .m,.cele-medal .m{animation:none;filter:none;opacity:1;color:var(--muted)}
.cele-medal{margin:0;width:64px;height:64px;place-items:start}
.cele-medal .ui-icon{width:48px;height:48px}
.cele-big{color:var(--fg);background:none;font-size:40px;letter-spacing:-.04em}
.cele-medal .rays,.confetto{display:none}
.online-tag i,.stat-online .dot.on{animation:none}
.nbadge,.me .dot{background:var(--ac);color:var(--ac-fg)}
.ava svg{width:24px;height:24px}
button.i{min-height:34px}
.ph-key,.ph-f,.ph-g,.bk-o,.md pre{border-radius:var(--radius)}
.plan-list li,.att-img img,.att-file,.fc:focus-visible{border-radius:var(--radius)}
.acc+#pay-form{margin-top:24px}

@media(min-width:768px){
  main,main.wide{padding:24px 32px 80px}
  .hero{padding:56px 0 40px}
  .hero-t{font-size:64px}
  .tiles{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px}
  button.tile,button.tile.wide{grid-column:span 4;min-height:224px}
  button.tile[data-act=tickets]{grid-column:span 8}
  #app:has(#login-form),#app:has(#register-form),#app:has(#signup-form){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;padding-top:64px}
  #app:has(#login-form)>.hero,#app:has(#register-form)>.hero,#app:has(#signup-form)>.hero{grid-column:1/7;grid-row:1/3;padding:0;align-self:start;position:sticky;top:32px}
  #login-form,#register-form,#signup-form{grid-column:8/-1;grid-row:1;padding:0;border:0}
  #open-signup{grid-column:8/-1;grid-row:2;margin-top:32px}
  #app>h2,.scr-t,.lms-title,.lx-title{font-size:40px}
  .lx-nav{grid-template-columns:repeat(20,minmax(0,1fr))}
  .lx-panel{max-width:900px;padding-top:48px;min-height:400px}
  .lx-q,.q{font-size:28px;line-height:1.3}
  .lms-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
  .vscore{font-size:64px}
  .sheet{padding:0 32px 32px}
  main.page>h1{font-size:64px}
  footer{padding-inline:16px}
}
@media(max-width:767px){
  .card{padding:16px}
  .hero-t{max-width:12ch}
  .f label.plan-opt{gap:8px;padding:12px;grid-template-columns:auto minmax(0,1fr) auto}
  .plan-price{font-size:13px}
  .top{flex-wrap:wrap}
  .fac-switch{align-items:flex-start}
  .fac-switch .tabs{flex:1 1 100%}
  .tabs button,.tabs.sm button{padding:12px 8px;overflow-wrap:anywhere}
  .lx-head{flex-wrap:wrap}.lx-title{flex-basis:100%}.lx-timer{flex:1}
  .lx-b.self{flex-basis:100%;margin-left:0;justify-content:center}
  .lms-actions button{padding:12px 16px}
  .card.vres{padding:16px}
  .at-nav{flex-wrap:wrap}
  .sheet{max-height:94dvh}
  .sh-head{gap:8px}.sh-head small{font-size:13px}
  .sh-head .ava{display:none}
  .f2,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .f2{grid-template-columns:1fr}
  .promo-code{flex-wrap:wrap}.promo-code label{flex-basis:180px}
}
@media(min-width:768px) and (max-width:1023px){
  #app:has(#register-form),#app:has(#signup-form){display:block;padding-top:40px;max-width:640px}
  #app:has(#register-form)>.hero,#app:has(#signup-form)>.hero{position:static;padding:0 0 32px}
  #app:has(#register-form) .hero-t,#app:has(#signup-form) .hero-t{font-size:40px}
  #register-form,#signup-form{border-top:var(--rule);padding-top:32px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
