/* Переходная оболочка: старые экраны сохраняют свои стили до перевода. */
body.u-app { background:var(--paper); color:var(--ink); font:400 var(--text-body)/var(--leading-body) var(--font-ui); -webkit-font-smoothing:auto; }
body.u-app .app-shell { display:block; }
body.u-app .sidebar { display:none; }
body.u-app .workspace { min-width:0; }
body.u-app .u-bar { font-family:var(--u-font); }
body.u-app .u-bar .u-wrap { max-width:var(--u-content); }
body.u-app .u-bar .u-avatar { min-width:var(--u-tap); min-height:var(--u-tap); color:var(--u-hero-ink); background:var(--u-hero); font-size:var(--u-text-md); }
body.u-app .u-icon-btn { min-width:var(--u-tap); min-height:var(--u-tap); }
body.u-app .u-tabs a, body.u-app .u-tabs button { min-height:var(--u-tap); }
body.u-app .u-menu button { display:block; width:100%; min-height:var(--u-tap); padding:var(--u-s3); text-align:left; color:var(--u-ink); border-radius:var(--u-r-sm); }
body.u-app .u-menu button:hover, body.u-app .u-menu button:focus-visible { background:var(--u-surface-3); }
body.u-app .u-shell-note { padding:var(--u-s2) var(--u-gutter); background:var(--u-surface-2); color:var(--u-muted); font-size:var(--u-text-sm); text-align:center; }
body.u-app .u-shell-note:empty { display:none; }
body.u-app .u-bar .u-pill--site b { overflow:hidden; text-overflow:ellipsis; max-width:180px; }
body.u-app .u-tabbar .u-mobile-more > button { width:100%; min-height:50px; display:flex; flex-direction:column; gap:3px; align-items:center; justify-content:center; color:var(--u-muted); font-size:11.5px; }
body.u-app .u-tabbar .u-mobile-more > button svg { width:22px; height:22px; }
body.u-app .u-tabbar .u-mobile-more > .u-menu { top:auto; bottom:calc(100% + var(--u-s2)); right:0; left:auto; }
body.u-app .u-tabbar .u-mobile-more { min-width:0; }
@media(max-width:720px){ body.u-app .workspace { padding-bottom:80px; } }
/* Главная: вид новой системы включается только для валидного готового отчёта. */
body.u-app main:has(> #today:not([hidden]) [data-u-home]) { width:100%; max-width:none; padding:0 0 var(--u-s8); background:var(--u-bg); }
body.u-app #today:not([hidden]):has([data-u-home]) > .page-head { display:none; }
body.u-app #today:not([hidden]):has([data-u-home]) .result-home { padding:0; }
body.u-app [data-u-home] { font-family:var(--u-font); }
body.u-app [data-u-home] .u-h1 { font-family:var(--u-font); color:var(--u-hero-ink); }
body.u-app [data-u-home] .u-actions { margin-top:var(--u-s5); }
body.u-app [data-u-home] .u-gauge { color:var(--u-hero-ink); }
body.u-app #today .u-home-answers, body.u-app #today .u-home-ready, body.u-app #today [data-result-summary] > :not([data-u-home]):not(.u-home-answers):not(.u-home-ready) { width:min(var(--u-content),100%); margin-left:auto; margin-right:auto; }
body.u-app #today .u-home-answers, body.u-app #today .u-home-ready { padding-left:var(--u-gutter); padding-right:var(--u-gutter); font-family:var(--u-font); }
body.u-app #today .u-home-answers { color:var(--u-ink); }
body.u-app #today .u-home-answers :is(h2,h3,h4) { font-family:var(--u-font); color:var(--u-ink); }
body.u-app #today .u-home-ready { padding-top:var(--u-s7); }
body.u-app #today .u-home-ready .overview-completed-change { margin:0; }
body.u-app #today .u-home-status { display:block; color:var(--u-muted); font-size:var(--u-text-sm); line-height:1.4; }
body.u-app #today .u-q { width:100%; color:var(--u-ink); min-height:var(--u-tap); }
body.u-app #today .u-home-answer-text { white-space:pre-line; overflow-wrap:anywhere; color:var(--u-ink-2); line-height:var(--u-leading); }
body.u-app #today .u-v-foot { color:var(--u-ink-2); }
body.u-app #today .u-src { overflow-wrap:anywhere; min-height:var(--u-tap); }
body.u-app #today .u-home-controls { margin-top:var(--u-s5); padding:0 var(--u-gutter); }
body.u-app #today .u-home-controls > summary { min-height:var(--u-tap); cursor:pointer; color:var(--u-ink); }
body.u-app #today [data-result-summary] > .result-columns { padding:var(--u-s7) var(--u-gutter) 0; }
@media(max-width:720px){ body.u-app #today .u-v-foot { grid-template-columns:minmax(0,1fr); } body.u-app #today .u-v-foot > div + div { border-left:0; border-top:1px solid var(--u-line); } }
body.u-app #today .u-qlist { max-height:min(70vh,700px); overflow-y:auto; padding:var(--u-s1); }
@media(max-width:900px){
  body.u-app .u-bar .u-pill--safe { display:none; }
  body.u-app .u-bar .u-wrap { gap:var(--u-s3); }
}
@media(max-width:1080px){
  body.u-app #today .u-qlist { position:static; flex-direction:row; max-height:none; overflow-x:auto; overflow-y:hidden; padding:var(--u-s1); }
  body.u-app #today .u-q { flex:0 0 min(75vw,320px); }
}
[data-u-theme="dark"] body.u-app #today:not([hidden]):has([data-u-home]) :is(.overview-completed-change,.result-channel,.audit-freshness,.audit-method,.audit-more-findings) { background:var(--u-surface); border-color:var(--u-line); color:var(--u-ink); }
[data-u-theme="dark"] body.u-app #today:not([hidden]):has([data-u-home]) :is(.overview-completed-change,.result-channel,.audit-freshness) :is(h2,h3,p,dt,dd,small) { color:var(--u-ink-2); }
[data-u-theme="dark"] body.u-app #today:not([hidden]):has([data-u-home]) :is(.result-channel-verdict,.overview-action-page) { color:var(--u-ink); }
[data-u-theme="dark"] body.u-app #today:not([hidden]):has([data-u-home]) .overview-action-preview { background:var(--u-surface-2); color:var(--u-ink-2); }
body.u-app #today .u-home-pages { grid-template-columns:minmax(0,1fr); }
[data-u-theme="dark"] body.u-app #today:not([hidden]):has([data-u-home]) .audit-dated-result { background:var(--u-surface); color:var(--u-ink-2); }
[data-u-theme="dark"] body.u-app #today:not([hidden]):has([data-u-home]) .audit-dated-result :is(p,small) { color:var(--u-ink-2); }
/* Сайт виден в навигации и на узких экранах, без подмены полного адреса. */
@media(max-width:1080px){ body.u-app .u-pill--site { display:inline-flex; min-width:0; } body.u-app .u-pill--safe { display:none; } }
@media(max-width:900px){
  body.u-app .u-bar .u-tabs { display:none; }
  body.u-app .u-tabbar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:fixed; left:0; right:0; bottom:0; z-index:70; padding:6px 8px calc(6px + env(safe-area-inset-bottom)); background:var(--u-surface); border-top:1px solid var(--u-line); }
  body.u-app .u-tabbar a { display:flex; flex-direction:column; align-items:center; gap:3px; min-height:50px; justify-content:center; border-radius:var(--u-r-md); font-size:11.5px; color:var(--u-muted); text-decoration:none; }
  body.u-app .u-tabbar a svg { width:22px; height:22px; }
  body.u-app .u-tabbar a[aria-current] { color:var(--u-accent); }
  body.u-app .workspace { padding-bottom:80px; }
}
@media(max-width:550px){
  body.u-app .u-bar .u-wrap { gap:var(--u-s2); }
  body.u-app .u-bar-r { gap:var(--u-s1); min-width:0; }
  body.u-app .u-pill--site { padding:0 var(--u-s2); max-width:110px; }
  body.u-app .u-pill--site b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
body.u-app #today .audit-dated-result { padding:var(--u-s4) var(--u-gutter); }
[data-u-theme="dark"] body.u-app main:has(> #today:not([hidden]) [data-u-home]) > .result-scope { color:var(--u-ink-2); background:var(--u-bg); }
/* Этап 3: категории и поиск подготовленных материалов; обработчики остаются прежними. */
body.u-app #improvements .prepared-materials { min-width:0; padding:var(--u-s6); background:var(--u-surface); border:1px solid var(--u-line); border-radius:var(--u-r-xl); box-shadow:var(--u-shadow-1); }
body.u-app #improvements .material-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--u-s3); align-items:end; margin:var(--u-s6) 0; }
body.u-app #improvements .material-search label { display:grid; gap:var(--u-s2); min-width:0; font:var(--u-w-semibold) var(--u-text-sm)/var(--u-leading) var(--u-font); color:var(--u-ink-2); }
body.u-app #improvements .material-search input { min-width:0; width:100%; min-height:var(--u-tap); padding:var(--u-s3) var(--u-s4); border:1px solid var(--u-line-2); border-radius:var(--u-r-md); background:var(--u-surface-2); color:var(--u-ink); font:var(--u-w-regular) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #improvements .material-search button { min-height:var(--u-tap); padding:0 var(--u-s4); border:1px solid var(--u-line-2); border-radius:var(--u-r-md); background:var(--u-surface); color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #improvements .material-search-status { grid-column:1/-1; margin:0; color:var(--u-muted); font-size:var(--u-text-sm); }
body.u-app #improvements .material-group { margin:var(--u-s3) 0; border:1px solid var(--u-line); border-radius:var(--u-r-lg); background:var(--u-surface); overflow:hidden; }
body.u-app #improvements .material-group > summary { min-height:var(--u-tap); padding:var(--u-s4); color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-lg)/var(--u-leading-tight) var(--u-font); cursor:pointer; }
body.u-app #improvements .material-group[open] > summary { background:var(--u-surface-2); }
body.u-app #improvements .material-list { list-style:none; margin:0; padding:0; }
body.u-app #improvements .material-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--u-s4); align-items:center; padding:var(--u-s5) var(--u-s4); border-top:1px solid var(--u-line); }
body.u-app #improvements .material-row-copy { min-width:0; }
body.u-app #improvements .material-row h4 { margin:0 0 var(--u-s1); color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-md)/var(--u-leading) var(--u-font); overflow-wrap:anywhere; }
body.u-app #improvements .material-row :is(.material-url,.material-note) { margin:var(--u-s1) 0 0; color:var(--u-muted); font-size:var(--u-text-sm); overflow-wrap:anywhere; }
body.u-app #improvements .material-row > button { min-height:var(--u-tap); max-width:100%; padding:var(--u-s2) var(--u-s4); border:1px solid var(--u-line-2); border-radius:var(--u-r-md); background:var(--u-surface); color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #improvements .material-row > button:hover { background:var(--u-surface-2); }
body.u-app #improvements .material-preparation-details { margin-top:var(--u-s5); }
body.u-app #improvements .prepared-materials { margin:var(--u-s6) 0; }
body.u-app #improvements .material-search input { box-sizing:border-box; margin:0; }
body.u-app #improvements .material-search button { margin:0; white-space:nowrap; }
body.u-app #improvements .material-search-status, body.u-app #improvements .material-group > summary { overflow-wrap:anywhere; }
body.u-app #improvements .material-row { scroll-margin-top:var(--u-s8); }
body.u-app #improvements .material-row > button { min-width:0; height:auto; margin:0; white-space:normal; overflow-wrap:anywhere; }
body.u-app #improvements .prepared-materials > button { margin-top:var(--u-s4); }
body.u-app #improvements :is(.prepared-materials button,.prepared-materials summary,.material-search input):focus-visible { outline:2px solid var(--u-accent); outline-offset:3px; }
@media(max-width:720px){
 body.u-app #improvements .prepared-materials { padding:var(--u-s4); }
 body.u-app #improvements .material-search { grid-template-columns:minmax(0,1fr); }
 body.u-app #improvements .material-search button { justify-self:start; }
 body.u-app #improvements .material-row { grid-template-columns:minmax(0,1fr); }
 body.u-app #improvements .material-row > button { width:100%; }
}
body.u-app #improvements .prepared-materials:has(.material-search input:not(:placeholder-shown)):not(:has(.material-group:not([hidden]))) .material-search-status { padding:var(--u-s5); border:1px solid var(--u-line); border-radius:var(--u-r-lg); background:var(--u-surface-2); color:var(--u-ink-2); text-align:center; }
/* Этап 4: текст и сравнение. Подтверждения и сохранение остаются прежними. */
body.u-app #improvements .editorial-card, body.u-app #improvements .material-reader > .site-improvement-card { padding:var(--u-s6); border:1px solid var(--u-line); border-radius:var(--u-r-xl); background:var(--u-surface); box-shadow:var(--u-shadow-1); }
body.u-app #improvements .editorial-card > a, body.u-app #improvements .material-reader-url { color:var(--u-accent); overflow-wrap:anywhere; }
body.u-app #improvements .editorial-purpose, body.u-app #improvements .material-reader-note { padding:var(--u-s4); border-radius:var(--u-r-md); background:var(--u-accent-soft); color:var(--u-ink); }
body.u-app #improvements .u-edit-versions { display:flex; flex-wrap:wrap; gap:var(--u-s1); width:fit-content; max-width:100%; margin:var(--u-s5) 0 var(--u-s2); padding:var(--u-s1); border:1px solid var(--u-line); border-radius:var(--u-r-md); background:var(--u-surface-3); }
body.u-app #improvements .u-edit-version { min-height:var(--u-tap); padding:var(--u-s2) var(--u-s4); border-radius:var(--u-r-sm); color:var(--u-ink-2); font:var(--u-w-semibold) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #improvements .u-edit-version[aria-pressed="true"] { background:var(--u-surface); color:var(--u-ink); box-shadow:var(--u-shadow-1); }
body.u-app #improvements .site-improvement-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--u-s4); }
body.u-app #improvements .site-improvement-compare:has(> div[hidden]) { grid-template-columns:minmax(0,1fr); }
body.u-app #improvements .site-improvement-compare > div { min-width:0; padding:var(--u-s5); border:1px solid var(--u-line); border-radius:var(--u-r-lg); background:var(--u-surface-2); }
body.u-app #improvements .editorial-text-write { padding:var(--u-s5); border:1px solid var(--u-line-2); border-radius:var(--u-r-lg); background:var(--u-surface-2); }
body.u-app #improvements .editorial-text-write :is(p,li), body.u-app #improvements .site-improvement-compare p { overflow-wrap:anywhere; white-space:pre-wrap; }
@media(max-width:720px){
 body.u-app #improvements .editorial-card, body.u-app #improvements .material-reader > .site-improvement-card { padding:var(--u-s4); }
 body.u-app #improvements .site-improvement-compare { grid-template-columns:minmax(0,1fr); }
 body.u-app #improvements .u-edit-versions { width:100%; }
 body.u-app #improvements .u-edit-version { flex:1 1 auto; }
}
/* Этап 5: общая визуальная грамматика для сохранённых рабочих разделов. */
body.u-app :is(#visibility,#site,#facts,#usage,#connection) :is(.site-ai-answer,.site-ai-comparison,.site-ai-next-step,.seo-issue-view,.site-analysis-launch,.site-connection-card,.usage-access-card,.settings-source-card,.fact-summary,.fact-candidate-panel) { min-width:0; border:1px solid var(--u-line); border-radius:var(--u-r-lg); background:var(--u-surface); box-shadow:var(--u-shadow-1); }
body.u-app #visibility .site-ai-answer { padding:var(--u-s5); }
body.u-app #visibility .site-ai-answers { gap:var(--u-s3); }
body.u-app #visibility .site-ai-outcomes { gap:var(--u-s2); }
body.u-app #visibility .site-ai-question-overview { min-width:0; padding:var(--u-s6); border:1px solid var(--u-line); border-radius:var(--u-r-xl); background:var(--u-surface); box-shadow:var(--u-shadow-1); }
body.u-app #visibility .site-ai-question-overview > h2 { margin:0; color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-2xl)/var(--u-leading-tight) var(--u-font); }
body.u-app #visibility .site-ai-question-overview > p { color:var(--u-ink-2); font-size:var(--u-text-md); }
body.u-app #visibility .site-ai-question-rows { margin-top:var(--u-s5); border:1px solid var(--u-line); border-radius:var(--u-r-lg); overflow:hidden; }
body.u-app #visibility .site-ai-question-row { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(0,auto); align-items:center; gap:var(--u-s3); width:100%; min-height:var(--u-tap); padding:var(--u-s4); border:0; background:var(--u-surface); color:var(--u-ink); font:var(--u-w-medium) var(--u-text-md)/var(--u-leading) var(--u-font); text-align:left; cursor:pointer; }
body.u-app #visibility .site-ai-question-row + .site-ai-question-row { border-top:1px solid var(--u-line); }
body.u-app #visibility .site-ai-question-row:hover { background:var(--u-surface-2); }
body.u-app #visibility .site-ai-question-row:focus-visible { outline:2px solid var(--u-accent); outline-offset:-3px; }
body.u-app #visibility .site-ai-question-number { display:grid; place-items:center; width:var(--u-s6); height:var(--u-s6); border-radius:var(--u-r-sm); background:var(--u-accent-soft); color:var(--u-accent); }
body.u-app #visibility .site-ai-question-text { min-width:0; overflow-wrap:anywhere; }
body.u-app #visibility .site-ai-question-facts { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--u-s2); color:var(--u-muted); font:var(--u-w-regular) var(--u-text-sm)/var(--u-leading) var(--u-font); }
body.u-app #visibility .site-ai-question-facts > span { padding:var(--u-s1) var(--u-s2); border-radius:var(--u-r-sm); background:var(--u-surface-2); }
body.u-app #visibility .query-map-answer { scroll-margin-top:var(--u-s8); }
@media(max-width:720px){
 body.u-app #visibility .site-ai-question-overview { padding:var(--u-s4); }
 body.u-app #visibility .site-ai-question-row { grid-template-columns:auto minmax(0,1fr); }
 body.u-app #visibility .site-ai-question-facts { grid-column:2; justify-content:flex-start; }
}
body.u-app #visibility .site-ai-answer-copy { color:var(--u-ink-2); font-size:var(--u-text-md); line-height:var(--u-leading); }
body.u-app #visibility .site-ai-answer { min-width:0; }
body.u-app #visibility .site-ai-answer-copy { margin:var(--u-s5) 0; white-space:pre-wrap; overflow-wrap:anywhere; }
body.u-app #visibility .site-ai-sources { display:grid; gap:var(--u-s2); padding-left:var(--u-s5); overflow-wrap:anywhere; }
body.u-app #visibility .site-ai-basis { margin-top:var(--u-s5); border-top:1px solid var(--u-line); padding-top:var(--u-s4); }
body.u-app #visibility .query-map-card h3 { margin:0; color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-xl)/var(--u-leading) var(--u-font); overflow-wrap:anywhere; }
body.u-app #visibility .query-map-card h4 { margin:0 0 var(--u-s2); color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #visibility .query-map-answer { padding-top:var(--u-s4); border-top:1px solid var(--u-line); }
body.u-app #visibility .query-map-answer > summary { cursor:pointer; min-height:var(--u-tap); font:var(--u-w-semibold) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #visibility :is(.site-ai-provenance,.site-ai-answer-model) { color:var(--u-muted); font-size:var(--u-text-sm); line-height:var(--u-leading); overflow-wrap:anywhere; }
body.u-app #visibility .site-ai-review-note { display:flex; flex-wrap:wrap; gap:var(--u-s3) var(--u-s5); align-items:center; padding:var(--u-s4); border-radius:var(--u-r-lg); background:var(--u-surface-2); }
body.u-app #visibility .site-ai-review-note p { flex:1 1 18rem; margin:0; font-size:var(--u-text-sm); line-height:var(--u-leading); }
body.u-app #visibility .site-ai-review-note .result-link { min-height:var(--u-tap); display:inline-flex; align-items:center; }
body.u-app #visibility .site-ai-outcomes { display:flex; flex-wrap:wrap; margin-top:var(--u-s3); }
body.u-app #visibility .site-ai-outcome { padding:var(--u-s1) var(--u-s2); border:1px solid var(--u-line); border-radius:var(--u-r-sm); color:var(--u-ink-2); background:var(--u-surface-2); font-size:var(--u-text-sm); line-height:var(--u-leading); }
body.u-app #visibility .site-ai-outcome.is-positive { color:var(--u-accent); background:var(--u-accent-soft); }
body.u-app #visibility :is(.site-ai-basis,.query-map-answer) > summary { min-height:var(--u-tap); color:var(--u-ink); cursor:pointer; }
body.u-app #site :is(.seo-issue-view,.site-analysis-launch) { padding:var(--u-s5); }
body.u-app #facts .fact-candidate-panel { padding:var(--u-s6); }
body.u-app #facts .fact-candidate-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--u-s3); border:0; }
body.u-app #facts .fact-candidate-summary article { min-width:0; padding:var(--u-s4); border:1px solid var(--u-line); border-radius:var(--u-r-lg); background:var(--u-surface-2); }
body.u-app #facts .fact-candidate-summary article:first-child { padding-left:var(--u-s4); }
body.u-app #facts .fact-candidate-summary :is(span,small) { color:var(--u-muted); font:var(--u-w-regular) var(--u-text-sm)/var(--u-leading) var(--u-font); }
body.u-app #facts .fact-candidate-summary strong { color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-2xl)/var(--u-leading-tight) var(--u-font); }
body.u-app #facts .fact-candidate-card { min-width:0; padding:var(--u-s5); border:1px solid var(--u-line); border-radius:var(--u-r-lg); background:var(--u-surface); box-shadow:var(--u-shadow-1); }
body.u-app #facts :is(.candidate-card-top span,.candidate-card-top small,.candidate-requirement b,.candidate-requirement small,.candidate-review > p,.candidate-source-fields label) { font-size:var(--u-text-sm); line-height:var(--u-leading); }
body.u-app #facts .candidate-card-top span { padding:var(--u-s1) var(--u-s2); border-radius:var(--u-r-pill); background:var(--u-accent-soft); color:var(--u-ink); }
body.u-app #facts .candidate-requirement i { background:var(--u-accent-soft); color:var(--u-accent); }
body.u-app #facts .primary-source .candidate-requirement i { background:var(--u-warn-soft); color:var(--u-warn); }
body.u-app #facts .candidate-source-fields input { min-height:var(--u-tap); height:auto; padding:var(--u-s2) var(--u-s3); border:1px solid var(--u-line-2); border-radius:var(--u-r-sm); background:var(--u-surface); color:var(--u-ink); font-size:var(--u-text-md); }
body.u-app #facts .candidate-review-actions button { min-height:var(--u-tap); padding:var(--u-s2) var(--u-s4); border-radius:var(--u-r-md); font:var(--u-w-semibold) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #facts .candidate-accept { border:1px solid var(--u-accent); background:var(--u-accent); color:var(--u-accent-ink); }
body.u-app #facts .candidate-reject { border:1px solid var(--u-line-2); background:var(--u-surface); color:var(--u-ink); }
body.u-app #facts :is(.candidate-review-actions button,.candidate-source-fields input):focus-visible { outline:2px solid var(--u-accent); outline-offset:3px; }
body.u-app #facts .fact-summary { overflow:hidden; }
body.u-app #facts .fact-summary > div { min-width:0; padding:var(--u-s5); }
body.u-app #facts .fact-safety { padding:var(--u-s5); border-left:0; border-radius:var(--u-r-lg); background:var(--u-accent-soft); }
body.u-app #facts .fact-safety span { color:var(--u-ink-2); font-size:var(--u-text-sm); }
body.u-app :is(#usage,#connection) :is(.usage-access-card,.site-connection-card,.settings-source-card) { padding:var(--u-s6); }
@media(max-width:720px){
 body.u-app :is(#visibility,#site,#facts,#usage,#connection) :is(.site-ai-answer,.seo-issue-view,.site-analysis-launch,.site-connection-card,.usage-access-card,.settings-source-card,.fact-candidate-panel) { padding:var(--u-s4); }
 body.u-app #facts .fact-summary { grid-template-columns:minmax(0,1fr); }
 body.u-app #facts .fact-summary > div { min-height:0; border-right:0; border-bottom:1px solid var(--u-line); }
 body.u-app #facts .fact-summary > div:last-child { border-bottom:0; }
 body.u-app #facts .fact-candidate-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.u-app #facts .fact-candidate-card { padding:var(--u-s4); }
}
/* Этап 6: сообщения существующих состояний не прячутся и не выдают ожидание за успех. */
body.u-app :is(.site-ai-status,.improvement-busy-note,.editorial-notice):not(:empty) { padding:var(--u-s4); border:1px solid var(--u-line); border-radius:var(--u-r-md); background:var(--u-surface-2); color:var(--u-ink-2); font-size:var(--u-text-md); line-height:var(--u-leading); }
body.u-app .audit-operation-warning:not([hidden]) { padding:var(--u-s4); border:1px solid var(--u-warn); border-radius:var(--u-r-md); background:var(--u-warn-soft); color:var(--u-ink); }
body.u-app :is(.site-ai-status,.improvement-busy-note,.editorial-notice):empty { padding:0; border:0; }
body.u-app #visibility .site-ai-source-warning { padding:var(--u-s4); border:1px solid var(--u-warn); border-radius:var(--u-r-md); background:var(--u-warn-soft); color:var(--u-ink); font-size:var(--u-text-md); line-height:var(--u-leading); }
@media(prefers-reduced-motion:reduce){ body.u-app :is(.u-edit-version,.material-row > button) { transition:none; } }
/* Незавершённая главная ещё использует прежние компоненты; в тёмной теме
   сохраняем для неё ту же светлую подложку, что переходный слой даёт другим старым экранам. */
html[data-u-theme="dark"] body.u-app main:has(> #today:not([hidden])):not(:has([data-u-home])) {
  --u-bg:#F4F3EF; --u-surface:#FFFFFF; --u-surface-2:#F9F8F5; --u-surface-3:#F1EFEA;
  --u-ink:#0E1014; --u-ink-2:#363B44; --u-muted:#61666D; --u-faint:#9A9EA6;
  --u-line:rgba(14,16,20,.08); --u-line-2:rgba(14,16,20,.14);
  --u-accent:#3550D4; --u-accent-hover:#2A43BC; --u-accent-ink:#FFFFFF; --u-accent-soft:#ECEFFD;
  --u-ok:#1E7451; --u-ok-soft:#E4F3EB; --u-warn:#8F5E12; --u-warn-soft:#FBF1DF;
  --u-danger:#B4382F; --u-danger-soft:#FBE9E7;
  --paper:var(--u-bg); --surface:var(--u-surface); --ink:var(--u-ink); --muted:var(--u-muted); --line:var(--u-line-2);
  background:var(--u-bg); color:var(--u-ink); color-scheme:light;
}
body.u-app #improvements .material-filters { display:flex; flex-wrap:wrap; gap:var(--u-s2); margin-top:var(--u-s5); }
body.u-app #improvements .material-filters .u-filter { min-height:var(--u-tap); }
body.u-app #improvements .preview-cautions { margin:var(--u-s5) 0; padding:var(--u-s4); border:1px solid var(--u-warn); border-radius:var(--u-r-md); background:var(--u-warn-soft); color:var(--u-ink); }
body.u-app #improvements .preview-cautions h4 { margin:0 0 var(--u-s2); color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #improvements .preview-cautions ul { margin:0; padding-left:var(--u-s5); }
body.u-app #improvements .editorial-card .site-improvement-compare { padding:var(--u-s5); border:1px solid var(--u-line); border-radius:var(--u-r-lg); background:var(--u-surface); }
body.u-app #improvements .editorial-card .site-improvement-compare::before { grid-column:1/-1; content:'Фрагмент страницы'; display:block; padding-bottom:var(--u-s3); border-bottom:1px solid var(--u-line); color:var(--u-muted); font-size:var(--u-text-sm); }
body.u-app #visibility .vr-heading[data-site-ai-hero] { padding:var(--u-s7); border-radius:var(--u-r-xl); background:var(--u-hero); color:var(--u-hero-ink); }
body.u-app #visibility .vr-heading[data-site-ai-hero] > h1 { color:var(--u-hero-ink); font:var(--u-w-semibold) var(--u-text-2xl)/var(--u-leading-tight) var(--u-font); }
body.u-app #visibility .vr-heading[data-site-ai-hero] > p { color:var(--u-hero-2); }
body.u-app #visibility .vr-heading[data-site-ai-hero] > .result-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--u-s3); margin:var(--u-s5) 0 0; }
body.u-app #visibility .vr-heading[data-site-ai-hero] > .result-counts > div { padding:var(--u-s4); border:1px solid var(--u-hero-line); border-radius:var(--u-r-lg); background:transparent; }
body.u-app #visibility .vr-heading[data-site-ai-hero] dt { color:var(--u-hero-2); }
body.u-app #visibility .vr-heading[data-site-ai-hero] dd { color:var(--u-hero-ink); }
@media(max-width:720px){ body.u-app #visibility .vr-heading[data-site-ai-hero] { padding:var(--u-s5); } }
body.u-app #improvements .material-hero { padding:var(--u-s6); border-radius:var(--u-r-lg); background:var(--u-hero); color:var(--u-hero-ink); }
body.u-app #improvements .material-hero p { max-width:65ch; margin:0; color:var(--u-hero-2); font-size:var(--u-text-md); }
body.u-app #improvements .material-hero .material-hero-kicker { color:var(--u-hero-2); font-size:var(--u-text-sm); font-weight:var(--u-w-semibold); }
body.u-app #improvements .material-hero-totals { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:var(--u-s2); margin-top:var(--u-s5); }
body.u-app #improvements .material-hero-stat { min-width:0; padding:var(--u-s3); border:1px solid var(--u-hero-line); border-radius:var(--u-r-md); }
body.u-app #improvements .material-hero-stat strong { display:block; color:var(--u-hero-ink); font-size:var(--u-text-xl); }
body.u-app #improvements .material-hero-stat span { display:block; color:var(--u-hero-2); font-size:var(--u-text-sm); }
@media(max-width:720px){ body.u-app #improvements .material-hero { padding:var(--u-s5); } }
body.u-app #improvements .material-reader :is([data-preview-before],[data-preview-after]) { margin:var(--u-s4) 0; padding:var(--u-s5); border:1px solid var(--u-line); border-radius:var(--u-r-lg); background:var(--u-surface-2); overflow-wrap:anywhere; }
body.u-app #improvements .material-reader [data-preview-before] > summary { min-height:var(--u-tap); font-weight:var(--u-w-semibold); }
body.u-app #improvements .material-reader [data-preview-after] > h4 { margin:0 0 var(--u-s3); font:var(--u-w-semibold) var(--u-text-lg)/var(--u-leading-tight) var(--u-font); }
body.u-app #improvements .material-reader [data-preview-after] > p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:var(--u-text-md); line-height:var(--u-leading); }
/* Читатель материала: заголовок и рабочая область используют одну иерархию. */
body.u-app #improvements .material-reader { min-width:0; max-width:var(--u-reader-width); margin-inline:auto; scroll-margin-top:var(--u-s8); }
body.u-app #improvements .material-reader > [data-material-back] { min-height:var(--u-tap); height:auto; margin:0 0 var(--u-s4); white-space:normal; text-align:left; }
body.u-app #improvements .material-reader > .site-improvement-card { margin:0; }
body.u-app #improvements .material-reader .site-improvement-card > a { color:var(--u-accent); }
body.u-app #improvements .material-reader .site-improvement-card > :is(h3,h4) { margin:var(--u-s5) 0 var(--u-s3); color:var(--u-ink); font:var(--u-w-semibold) var(--u-text-lg)/var(--u-leading) var(--u-font); overflow-wrap:anywhere; }
body.u-app #improvements .material-reader .site-improvement-card > p:not(.panel-kicker):not(.vr-scope), body.u-app #improvements .material-reader .site-improvement-card li { font:var(--u-w-regular) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #improvements .material-reader .preview-benefit { margin:var(--u-s5) 0; padding:var(--u-s4); border-left:var(--u-s1) solid var(--u-accent); border-radius:0 var(--u-r-sm) var(--u-r-sm) 0; background:var(--u-accent-soft); }
body.u-app #improvements .material-reader .preview-benefit h4 { margin:0 0 var(--u-s2); font:var(--u-w-semibold) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #improvements .material-reader .preview-benefit p { margin:0; font:var(--u-w-regular) var(--u-text-md)/var(--u-leading) var(--u-font); overflow-wrap:anywhere; }
body.u-app #improvements .material-reader .result-actions { margin-top:var(--u-s5); }
body.u-app #improvements .material-reader .result-actions > button { min-height:var(--u-tap); max-width:100%; height:auto; white-space:normal; }
body.u-app #improvements :is(.material-reader button,.material-reader summary,.material-preparation-details > summary):focus-visible { outline:2px solid var(--u-accent); outline-offset:4px; }
body.u-app #improvements .material-reader-heading { margin-bottom:var(--u-s6); padding:var(--u-s6); border-radius:var(--u-r-xl); background:var(--u-hero); color:var(--u-hero-ink); }
body.u-app #improvements .material-reader-heading .material-reader-title { margin:0 0 var(--u-s3); color:var(--u-hero-ink); font:var(--u-w-semibold) var(--u-text-2xl)/var(--u-leading-tight) var(--u-font); }
body.u-app #improvements .material-reader-heading .material-reader-url { display:inline-block; margin:0 0 var(--u-s4); color:var(--u-hero-ink); overflow-wrap:anywhere; }
body.u-app #improvements .material-reader-heading .material-reader-note { margin:0; padding:0; border-radius:0; background:transparent; color:var(--u-hero-2); font:var(--u-w-regular) var(--u-text-md)/var(--u-leading) var(--u-font); }
body.u-app #improvements .material-reader-heading .material-reader-date { margin:var(--u-s3) 0 0; color:var(--u-hero-2); font:var(--u-w-regular) var(--u-text-sm)/var(--u-leading) var(--u-font); }
body.u-app #improvements .material-reader[data-material-kind="external_card"] { max-width:var(--u-content); }
body.u-app #improvements .material-reader[data-material-kind="external_card"] > .site-improvement-card { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:var(--u-s3) var(--u-s5); align-items:start; }
body.u-app #improvements .material-reader[data-material-kind="external_card"] > .site-improvement-card > :is(.panel-kicker,a,.preview-benefit) { grid-column:1/-1; }
body.u-app #improvements .material-reader[data-material-kind="external_card"] [data-preview-after] { grid-column:1; grid-row:4 / span 6; margin:0; background:var(--u-surface); }
body.u-app #improvements .material-reader[data-material-kind="external_card"] :is([data-preview-before],.preview-cautions,.result-actions,[data-preview-explanation],p[role="status"]) { grid-column:2; margin:0; }
body.u-app #improvements .material-reader[data-material-kind="external_card"] .site-improvement-card > details:not([data-preview-before]):not([data-preview-explanation]) { grid-column:2; margin:0; }
body.u-app #improvements .material-reader[data-material-kind="description"] .site-ai-basis > p:not(.vr-scope) { padding:var(--u-s3); border-left:var(--u-s1) solid var(--u-accent); border-radius:0 var(--u-r-sm) var(--u-r-sm) 0; background:var(--u-accent-soft); color:var(--u-ink-2); overflow-wrap:anywhere; }
@media(max-width:720px){
 body.u-app #improvements .material-reader-heading { padding:var(--u-s5); }
 body.u-app #improvements .material-reader .result-actions > button { width:100%; }
 body.u-app #improvements .material-reader[data-material-kind="external_card"] > .site-improvement-card { grid-template-columns:minmax(0,1fr); }
 body.u-app #improvements .material-reader[data-material-kind="external_card"] > .site-improvement-card > * { grid-column:1!important; grid-row:auto!important; }
}
body.u-app #visibility .site-ai-check[data-ai-state="paused"] .vr-heading,
body.u-app #visibility .site-ai-check[data-ai-state="failed"] .vr-heading,
body.u-app #visibility .site-ai-check[data-ai-state="expired"] .vr-heading { padding:var(--u-s5); border:1px solid var(--u-warn); border-radius:var(--u-r-lg); background:var(--u-warn-soft); color:var(--u-ink); }
body.u-app #visibility .site-ai-check[data-ai-state="planning"] progress,
body.u-app #visibility .site-ai-check[data-ai-state="answering"] progress { width:100%; height:var(--u-s2); accent-color:var(--u-accent); }
body.u-app #improvements .prepared-materials .material-hero h3 { color:var(--u-hero-ink); font:var(--u-w-semibold) var(--u-text-2xl)/var(--u-leading-tight) var(--u-font); }
body.u-app #improvements .u-edit-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:var(--u-s5); align-items:start; margin-top:var(--u-s5); }
body.u-app #improvements .u-edit-preview, body.u-app #improvements .u-edit-side { min-width:0; padding:var(--u-s5); border:1px solid var(--u-line); border-radius:var(--u-r-lg); background:var(--u-surface); }
body.u-app #improvements .u-edit-side { background:var(--u-surface-2); }
body.u-app #improvements .u-edit-side .editorial-text-write { margin:0; padding:0; border:0; background:transparent; }
@media(max-width:900px){ body.u-app #improvements .u-edit-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:720px){ body.u-app #improvements .u-edit-preview,body.u-app #improvements .u-edit-side { padding:var(--u-s4); } }
body.u-app #improvements .u-edit-layout:not(:has(.u-edit-side)) { grid-template-columns:minmax(0,1fr); }
/* Заголовки остальных разделов используют те же токены, а их данные и действия остаются прежними. */
body.u-app :is(#site,#facts,#usage,#connection) > .page-head { padding:var(--u-s7); border:0; border-radius:var(--u-r-xl); background:var(--u-hero); color:var(--u-hero-ink); }
body.u-app :is(#site,#facts,#usage,#connection) > .page-head h1 { color:var(--u-hero-ink); font:var(--u-w-semibold) var(--u-text-2xl)/var(--u-leading-tight) var(--u-font); }
body.u-app :is(#site,#facts,#usage,#connection) > .page-head :is(p,small,span) { color:var(--u-hero-2); }
body.u-app :is(#site,#facts,#usage,#connection) > .page-head .access-card { border-color:var(--u-hero-line); background:transparent; box-shadow:none; }
body.u-app :is(#site,#facts,#usage,#connection) > .page-head .access-card strong { color:var(--u-hero-ink); }
@media(max-width:720px){ body.u-app :is(#site,#facts,#usage,#connection) > .page-head { padding:var(--u-s5); } }
body.u-app .view:is(#site,#facts,#usage,#connection) > .page-head:not(#u-none) h1 { color:var(--u-hero-ink); font:var(--u-w-semibold) var(--u-text-2xl)/var(--u-leading-tight) var(--u-font); }
body.u-app .view:is(#site,#facts,#usage,#connection) > .page-head:not(#u-none) :is(p,small,span) { color:var(--u-hero-2); }
body.u-app #improvements .editorial-text-write[data-u-write-state="uncertain"] { border:1px solid var(--u-warn); border-radius:var(--u-r-lg); background:var(--u-warn-soft); color:var(--u-ink); padding:var(--u-s5); }
body.u-app #improvements .editorial-text-write[data-u-write-state="verified"] { border:1px solid var(--u-ok); border-radius:var(--u-r-lg); background:var(--u-ok-soft); color:var(--u-ink); padding:var(--u-s5); }
body.u-app #improvements .editorial-text-write[data-u-write-state="uncertain"] .text-edit-stage { color:var(--u-warn); }
body.u-app #improvements .editorial-text-write[data-u-write-state="verified"] .text-edit-stage { color:var(--u-ok); }
body.u-app #improvements .editorial-text-write:is([data-u-write-state="uncertain"],[data-u-write-state="verified"]) .text-edit-stage::before { display:inline-flex; align-items:center; justify-content:center; width:var(--u-s5); height:var(--u-s5); margin-right:var(--u-s2); border:1px solid currentColor; border-radius:var(--u-r-pill); font-weight:var(--u-w-semibold); }
body.u-app #improvements .editorial-text-write[data-u-write-state="uncertain"] .text-edit-stage::before { content:"!"; }
body.u-app #improvements .editorial-text-write[data-u-write-state="verified"] .text-edit-stage::before { content:"✓"; }
