/* Сайты. Каждый выглядит как сам по себе, со своим временем и небрежностью. */

.site { min-height: calc(100vh - 48px); overflow-wrap: break-word; }
.site img, .site svg { max-width: 100%; }
.muted { color: #777; }
.small { font-size: 12px; }
.ilink, .opens { cursor: pointer; }
.ilink { color: inherit; }
a.ilink, .site a { color: var(--link, #1a4fb5); }
.new-dot { margin-left: 6px; padding: 0 5px; border-radius: 3px; background: #e8f0fe; color: #1a4fb5; font-size: 11px; font-weight: 600; }
.deleted { color: #888; font-style: italic; }
.ava { display: inline-grid; place-items: center; flex: none; overflow: hidden; border-radius: 50%; background: hsl(var(--h) 35% 52%); color: #fff; font: 600 13px/1 Arial, sans-serif; }
.ava b { font-size: .9em; }
.ava-identicon { background: #f0f0f0; border-radius: 2px; }
.ava-default { background: #c9ced6; color: #fff; }
.ava-default svg { width: 76%; height: 76%; }
.ava-broken { border-radius: 0; background: #fff; border: 1px solid #c7c7c7; position: relative; }
.ava-broken::after { content: ""; position: absolute; left: 4px; top: 4px; width: 14px; height: 12px; border: 1px solid #9a9a9a; background: linear-gradient(135deg, transparent 45%, #9a9a9a 46%, #9a9a9a 54%, transparent 55%); }
.ava-photo svg, .ava-identicon svg { width: 100%; height: 100%; }
.badge { display: inline-flex; align-items: center; margin-left: 4px; vertical-align: middle; font-size: 11px; }
.badge-verified, .badge-official { color: var(--accent, #3d7fe0); }
.badge-bot, .badge-new, .badge-mod, .badge-admin, .badge-author, .badge-premium { padding: 0 4px; border-radius: 3px; background: #eee; color: #555; }
.btn-fake { min-height: 32px; padding: 0 14px; border: 1px solid #ccc; border-radius: 4px; background: #f7f7f7; color: #333; font: inherit; }
.chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; margin: 0 6px 6px 0; border-radius: 16px; border: 1px solid #ddd; background: #f6f6f6; color: #333; font: inherit; font-size: 13px; cursor: pointer; }
.chip.on { background: #222; color: #fff; border-color: #222; }
.linkish { border: 0; background: none; color: #1a4fb5; padding: 0; cursor: pointer; font: inherit; }
.hl { font-style: normal; font-weight: 700; }
.copy-btn { min-height: 32px; padding: 0 10px; border: 1px solid #bbb; border-radius: 3px; background: #f4f4f4; color: #222; cursor: pointer; font: 12px/1 Arial, sans-serif; }

/* ——— блоки ——— */
.b-h { margin: 14px 0 8px; }
.b-p { margin: 8px 0; }
.b-meta { margin: 4px 0; color: #777; font-size: .9em; }
.b-code { overflow-x: auto; padding: 8px; background: #f4f4f4; border: 1px solid #ddd; font: 12px/1.4 ui-monospace, Menlo, Consolas, monospace; }
.b-quote { margin: 6px 0; padding: 6px 10px; border: 1px solid #c5ccd3; background: #f3f5f7; font-size: .95em; }
.b-quote cite { display: block; font-style: normal; font-weight: 700; font-size: .9em; margin-bottom: 2px; }
.b-notice { padding: 8px 10px; margin: 8px 0; border: 1px solid #e3d48f; background: #fff8d6; }
.b-list { padding-left: 1.4em; }
.b-kv { margin: 8px 0; }
.kv-row { display: flex; gap: 8px; padding: 3px 0; }
.kv-row dt { min-width: 9em; color: #666; }
.kv-row dd { margin: 0; }
.b-table-wrap { overflow-x: auto; }
.b-table { border-collapse: collapse; font-size: 13px; }
.b-table th, .b-table td { border: 1px solid #ccc; padding: 4px 6px; text-align: left; }
.b-image { margin: 8px 0; }
.b-image-frame { max-width: 480px; aspect-ratio: 16/9; overflow: hidden; background: #222; }
.b-image figcaption { font-size: .85em; color: #666; }
.b-file { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border: 1px dashed #aaa; font-size: 13px; }
.b-broken { display: inline-flex; align-items: center; gap: 6px; margin: 6px 0; padding: 4px 6px; border: 1px solid #c7c7c7; background: #fff; color: #888; font: 12px/1.3 Arial, sans-serif; max-width: 100%; }
.bi-ic { width: 16px; height: 14px; flex: none; border: 1px solid #9a9a9a; background: linear-gradient(135deg, transparent 45%, #9a9a9a 46%, #9a9a9a 54%, transparent 55%); }
.b-counter { display: inline-flex; align-items: center; gap: 6px; font: 12px Arial, sans-serif; }
.odo { display: inline-flex; background: #000; padding: 2px; }
.odo i { font: 700 13px/1 "Courier New", monospace; color: #3f3; padding: 1px 2px; border-right: 1px solid #222; font-style: normal; }
.b-marquee { overflow: hidden; white-space: nowrap; }
.b-marquee span { display: inline-block; padding-left: 100%; animation: mq 18s linear infinite; }
@keyframes mq { to { transform: translateX(-100%); } }
.b-incident { margin: 10px 0; padding: 10px 12px; border: 1px solid #ddd; border-radius: 4px; }
.b-incident header { display: flex; gap: 10px; flex-wrap: wrap; font-size: 12px; color: #777; }
.inc-state { font-weight: 700; }
.b-incident h4 { margin: 4px 0; }
.inc-upd { display: flex; gap: 8px; font-size: 13px; padding-top: 4px; border-top: 1px dotted #ddd; margin-top: 4px; }
.diff-add { background: #e7f6e7; box-shadow: -3px 0 0 #3a9a3a; }
.diff-del { background: #fbeaea; box-shadow: -3px 0 0 #c33; text-decoration: line-through; text-decoration-color: rgba(150,0,0,.4); }

/* ——— старый форум (phpBB 2/3, subsilver) ——— */
.site-forum { --link: #105289; background: #e5e5e5; color: #000; padding: 8px; font: 12px/1.45 Verdana, Tahoma, "Trebuchet MS", Arial, sans-serif; }
.site-forum > * { max-width: 980px; margin-left: auto; margin-right: auto; }
.fo-head { width: 100%; border-collapse: collapse; background: linear-gradient(#5a7a9e, #2f4f72); color: #fff; border: 1px solid #1c3553; }
.fo-head td { padding: 10px; vertical-align: bottom; }
.fo-logo-mark { font: 700 26px/1 Georgia, "Times New Roman", serif; letter-spacing: 2px; text-shadow: 1px 1px 0 #10243b; }
.fo-tag { font-size: 11px; color: #d6e2ef; margin-top: 4px; }
.fo-links { text-align: right; font-size: 11px; }
.fo-links .opens, .fo-links a { color: #fff; text-decoration: underline; }
.fo-notice { margin-top: 6px; padding: 6px; background: #fff7c2; border: 1px solid #d8c76a; }
.fo-crumbs { margin-top: 8px; font-weight: 700; color: #105289; }
.fo-title { margin: 10px auto 6px; font: 700 18px/1.25 "Trebuchet MS", Verdana, sans-serif; color: #000; }
.fo-lock { color: #9a2a2a; }
.fo-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px; margin: 6px auto; }
.fo-btn { display: inline-block; padding: 2px 8px; border: 1px solid #8a9aa9; background: linear-gradient(#fff, #d8dfe6); font: 700 11px/1.6 Verdana, sans-serif; text-transform: uppercase; color: #555; }
.fo-pager { font-size: 11px; }
.fo-pager a { padding: 0 2px; }
.fo-posts { border: 1px solid #a9b8c2; background: #fff; }
.fp { display: flex; border-bottom: 1px solid #a9b8c2; }
.fp:nth-child(even) { background: #ecf0f3; }
.fp:nth-child(odd) { background: #f6f7f8; }
.fp-side { width: 150px; flex: none; padding: 8px; border-right: 1px solid #a9b8c2; display: flex; flex-direction: column; gap: 3px; font-size: 11px; }
.fp-side .ava { border-radius: 0; }
.fp-name { font-size: 12px; color: #a0522d; }
.fp-rank { color: #444; }
.fp-stat { color: #555; }
.fp-main { flex: 1; min-width: 0; }
.fp-head { display: flex; gap: 10px; flex-wrap: wrap; align-items: baseline; padding: 4px 8px; border-bottom: 1px solid #d0d8de; font-size: 11px; color: #555; }
.fp-no { font-weight: 700; color: #105289; }
.fp-edited { font-style: italic; }
.fp-body { padding: 8px 10px 10px; font-size: 13px; }
.fp-text { white-space: normal; }
.fp-sig { margin-top: 10px; font-size: 11px; color: #555; }
.fp-sig::before { content: "_________________"; display: block; color: #888; line-height: 1; margin-bottom: 4px; }
.fo-online { margin-top: 10px; padding: 6px 8px; border: 1px solid #a9b8c2; background: #fff; font-size: 11px; }
.fo-online p { margin: 4px 0 0; white-space: pre-line; }
.fo-foot { margin-top: 14px; text-align: center; font-size: 10px; color: #555; }
.fo-info { width: 100%; max-width: 640px; margin: 40px auto; border-collapse: collapse; border: 1px solid #a9b8c2; background: #fff; }
.fo-info th { background: linear-gradient(#5a7a9e, #2f4f72); color: #fff; padding: 6px; font: 700 12px Verdana, sans-serif; }
.fo-info td { padding: 14px; text-align: center; font: 12px/1.5 Verdana, sans-serif; }
@media (max-width: 719px) {
  .site-forum { padding: 4px; font-size: 13px; }
  .fo-head td { display: block; text-align: left; padding: 8px; }
  .fo-links { text-align: left; line-height: 2; }
  .fp { flex-direction: column; }
  .fp-side { width: auto; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 10px; border-right: 0; border-bottom: 1px dotted #a9b8c2; padding: 6px 8px; }
  .fp-side .ava { width: 28px !important; height: 28px !important; }
  .fp-body { font-size: 14px; }
  .fo-pager a { display: inline-block; min-width: 28px; min-height: 28px; text-align: center; line-height: 28px; }
}

/* ——— Index of / ——— */
.site-autoindex { --link: #0000ee; background: #fff; color: #000; padding: 8px 10px 24px; font: 16px/1.25 "Times New Roman", Times, serif; }
.site-autoindex h1 { font: 700 2em/1.2 "Times New Roman", Times, serif; margin: .67em 0; overflow-wrap: anywhere; }
.ai-wrap { overflow-x: auto; }
.ai { border-collapse: collapse; }
.ai th { text-align: left; padding: 0 8px 0 0; font-weight: 700; }
.ai td { padding: 1px 12px 1px 0; vertical-align: top; white-space: nowrap; }
.ai .ai-ic { font: 12px "Courier New", monospace; color: #555; }
.ai hr { border: 0; border-top: 1px solid #888; margin: 4px 0; }
.ai .ai-size { text-align: right; }
.ai-name { color: #0000ee; }
.ai-name:visited { color: #551a8b; }
.site-autoindex address { font-style: italic; margin-top: 4px; font-size: 15px; }
.site-autoindex .clue > .pin { position: static; display: inline-grid; }
@media (max-width: 719px) {
  .ai .ai-desc, .ai th:last-child { display: none; }
  .ai td { padding: 6px 8px 6px 0; }
  .ai-name { display: inline-block; padding: 6px 0; }
}

/* ——— служебные страницы браузера и сервера ——— */
.site-neterr { background: #f7f7f7; color: #333; font: 15px/1.5 -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.neterr { max-width: 560px; padding: 64px 20px; margin: 0 auto; }
.neterr-ic { width: 44px; height: 44px; margin-bottom: 24px; border: 3px solid #999; border-radius: 4px; position: relative; }
.neterr-ic::after { content: ""; position: absolute; left: 8px; right: 8px; top: 18px; height: 3px; background: #999; transform: rotate(-35deg); }
.neterr h1 { font-size: 22px; font-weight: 500; margin: 0 0 12px; color: #202124; }
.neterr-code { color: #777; font-size: 12px; text-transform: uppercase; }
.site-http404 { background: #fff; color: #000; padding: 8px 10px; font: 16px/1.3 "Times New Roman", Times, serif; }
.site-http404 h1 { font: 700 2em "Times New Roman", serif; margin: .67em 0; }
.site-http404 address { font-style: italic; }
.site-blank { background: #fff; }
.site-gone { display: grid; place-items: start center; background: #f2f3f5; color: #333; font: 15px/1.5 Arial, sans-serif; }
.gone { max-width: 460px; margin: 60px 16px; padding: 28px 24px; background: #fff; border: 1px solid #dcdfe4; border-radius: 6px; text-align: center; }
.gone-ic { width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%; background: #e3e6ea; position: relative; }
.gone-ic::after { content: ""; position: absolute; left: 22px; top: 18px; width: 20px; height: 20px; border-radius: 50%; background: #c3c8cf; box-shadow: 0 22px 0 6px #c3c8cf; clip-path: inset(0 0 -40px 0); }
.gone h1 { font-size: 18px; margin: 0 0 6px; }
.site-history { background: #fff; color: #222; padding: 16px; font: 15px/1.4 -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.hist { list-style: none; padding: 0; max-width: 760px; }
.hist li { display: flex; gap: 12px; padding: 6px 0; border-bottom: 1px solid #eee; }
.hist time { color: #888; font-size: 13px; flex: none; width: 7.5em; }
.hist-link { display: flex; flex-direction: column; min-width: 0; text-decoration: none; min-height: 44px; justify-content: center; }
.hist-t { color: #1a0dab; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hist-u { color: #188038; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Окно авторизации, как у браузера */
.site-gate { background: #e9e9ea; display: grid; place-items: start center; padding: 40px 16px; }
.gate { width: min(420px, 100%); padding: 20px; background: #fff; color: #222; border-radius: 8px; box-shadow: 0 10px 40px rgba(0,0,0,.25); font: 14px/1.4 -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.gate h1 { font-size: 17px; margin: 0 0 8px; font-weight: 600; }
.gate-realm { color: #666; }
.gate label { display: block; margin: 10px 0; }
.gate label span { display: block; font-size: 13px; color: #555; margin-bottom: 4px; }
.gate input { width: 100%; height: 40px; padding: 0 10px; border: 1px solid #bbb; border-radius: 4px; font: 16px/1 inherit; }
.gate-msg { min-height: 1.4em; color: #b3261e; margin: 6px 0; }
.gate-btns { display: flex; justify-content: flex-end; gap: 8px; }
.gate-btns button { min-height: 44px; min-width: 96px; padding: 0 16px; border-radius: 6px; border: 1px solid #bbb; background: #fff; cursor: pointer; }
.gate-btns .gate-ok { background: #1a73e8; color: #fff; border-color: #1a73e8; }

/* Исходный код страницы */
.site-source { background: #fff; color: #000; padding: 4px 0; }
.raw { position: relative; }
.raw-tools { position: sticky; top: 48px; z-index: 3; display: flex; justify-content: flex-end; padding: 4px 8px; background: rgba(255,255,255,.92); }
.raw-lines { font: 12px/1.55 ui-monospace, "SF Mono", Menlo, Consolas, "Courier New", monospace; overflow-x: auto; }
.raw-line { display: flex; white-space: pre-wrap; word-break: break-all; padding-right: 30px; }
.raw-line .ln { flex: none; width: 3.2em; padding-right: 10px; text-align: right; color: #999; user-select: none; -webkit-user-select: none; }
.raw-line .lt { flex: 1; min-width: 0; }
.tok-tag { color: #881280; }
.tok-attr { color: #994500; }
.tok-str { color: #1a1aa6; }
.tok-com { color: #236e25; }
.tok-key { color: #555; }
.tok-val { color: #000; }

/* ——— видеохостинг «Видеоряд» ——— */
.pf-videoryad { --link: #1d4fa5; background: #fff; color: #111; font: 14px/1.4 Arial, "Helvetica Neue", Helvetica, sans-serif; }
.vh-top, .pf-videoryad .appbar { display: flex; align-items: center; gap: 12px; height: 52px; padding: 0 12px; border-bottom: 1px solid #e5e5e5; }
.vh-logo, .pf-videoryad .brand-name { font: 700 19px/1 Arial, sans-serif; letter-spacing: -.5px; color: #111; }
.vh-logo::before { content: ""; display: inline-block; width: 26px; height: 18px; margin-right: 6px; vertical-align: -3px; border-radius: 5px; background: var(--accent); clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); box-shadow: inset 10px 0 0 -6px #fff; }
.brand { display: inline-flex; align-items: center; gap: 6px; }
.ps { position: relative; flex: 1; max-width: 420px; margin-left: auto; display: flex; align-items: center; }
.ps-ic { position: absolute; left: 10px; color: #888; display: inline-flex; }
.ps-input { width: 100%; height: 36px; padding: 0 10px 0 34px; border: 1px solid #ccc; border-radius: 2px; font: 14px Arial, sans-serif; background: #fff; color: #111; }
.ps-out { position: absolute; top: 40px; left: 0; right: 0; font-size: 12px; color: #a33; background: #fff; }
.ps-out:empty { display: none; }
.watch { max-width: 860px; margin: 0 auto; padding: 0 0 8px; }
.vp { position: relative; background: #000; user-select: none; -webkit-user-select: none; }
.vp-screen { position: relative; aspect-ratio: 16/9; display: grid; place-items: center; cursor: pointer; }
.vp-video { width: 100%; height: 100%; object-fit: contain; background: #000; }
.vp-big { position: absolute; width: 68px; height: 48px; display: grid; place-items: center; border-radius: 12px; background: rgba(20,20,20,.8); color: #fff; pointer-events: none; }
.vp.playing .vp-big { display: none; }
.vp-bar { background: #181818; color: #eee; padding: 0 6px 4px; }
.vp-scrub { width: 100%; height: 22px; margin: 0; accent-color: var(--accent); }
.vp-row { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.vp-btn { min-width: 40px; height: 40px; border: 0; background: none; color: #eee; cursor: pointer; display: inline-grid; place-items: center; font: 14px/1 Arial, sans-serif; }
.vp-btn:hover { background: rgba(255,255,255,.1); }
.vp-time, .vp-tc { font: 12px/1 Arial, sans-serif; color: #ddd; }
.vp-tc { font-family: ui-monospace, Menlo, monospace; color: #aaa; }
.vp-sp { flex: 1; }
.vp-gear { position: relative; }
.vp-gear summary { list-style: none; min-width: 40px; height: 40px; display: grid; place-items: center; cursor: pointer; }
.vp-gear summary::-webkit-details-marker { display: none; }
.vp-menu { position: absolute; right: 0; bottom: 44px; z-index: 4; width: 220px; padding: 10px; background: rgba(28,28,28,.96); border-radius: 6px; font-size: 13px; }
.vp-menu select { margin-left: 6px; min-height: 32px; }
.vp-note { margin: 8px 0 0; color: #aaa; font-size: 12px; }
.pause-ic { letter-spacing: -2px; font-size: 12px; }
.w-title { font: 400 18px/1.3 Arial, sans-serif; margin: 12px 12px 8px; }
.w-channel { display: flex; align-items: center; gap: 10px; padding: 0 12px 8px; border-bottom: 1px solid #eee; }
.w-channel b { font-size: 14px; }
.w-likes { margin-left: auto; color: #555; display: inline-flex; gap: 4px; align-items: center; }
.w-sub { padding: 0 12px; }
.pl-desc { margin: 10px 12px; padding: 10px; background: #f2f2f2; border-radius: 6px; font-size: 13px; }
.pl-desc summary { cursor: pointer; list-style: none; }
.pl-desc summary::-webkit-details-marker { display: none; }
.pl-desc > div { margin-top: 6px; white-space: pre-line; }
.pl-more { color: #555; }
.cm { max-width: 860px; margin: 0 auto; padding: 4px 12px 32px; }
.cm-head { display: flex; align-items: center; gap: 12px; }
.cm-head h3 { font: 400 16px Arial, sans-serif; }
.cm-compose { display: flex; align-items: center; gap: 10px; margin: 6px 0 14px; font-size: 13px; }
.cm-thread { margin: 0 0 12px; }
.cm-item { display: flex; gap: 10px; }
.cm-item.depth-1 { margin-left: 46px; }
.cm-body { flex: 1; min-width: 0; padding-right: 28px; }
.cm-meta { font-size: 12px; }
.cm-author { font-weight: 700; color: #111; }
.cm-author.is-author { background: #888; color: #fff; padding: 0 5px; border-radius: 8px; }
.cm-pinned { font-size: 11px; }
.cm-text { margin: 2px 0 4px; white-space: pre-line; }
.cm-acts { display: flex; align-items: center; gap: 6px; font-size: 12px; }
.cm-acts .reply { margin-left: 8px; font-weight: 700; color: #555; }
.cm-toggle { margin: 4px 0 0 46px; min-height: 36px; border: 0; background: none; color: #1d4fa5; font: 700 13px Arial, sans-serif; cursor: pointer; }
.cm-replies { margin-top: 6px; }
.cm-hidden { font-size: 12px; }
.cm-item.is-deleted .ava { opacity: .4; }
.cm-more { font-size: 13px; }
.dur { position: absolute; right: 4px; bottom: 4px; padding: 1px 4px; background: rgba(0,0,0,.8); color: #fff; font: 700 12px Arial, sans-serif; border-radius: 2px; }

/* лента канала (тот же хостинг) */
.ch-banner { height: 90px; background: hsl(var(--bh) 30% 40%); overflow: hidden; }
.ch-id { display: flex; gap: 12px; align-items: center; padding: 12px; flex-wrap: wrap; }
.ch-meta { flex: 1; min-width: 200px; }
.ch-name { margin: 0; font: 400 20px Arial, sans-serif; }
.ch-stats, .ch-created { font-size: 13px; color: #606060; }
.ch-desc { margin: 4px 0; font-size: 13px; color: #333; white-space: pre-line; }
.ch-tabs, .pr-tabs, .sq-tabs { display: flex; gap: 18px; padding: 0 12px; border-bottom: 1px solid #e5e5e5; overflow-x: auto; font-size: 14px; }
.ch-tabs span, .pr-tabs span, .sq-tabs span { padding: 10px 0; color: #606060; white-space: nowrap; }
.ch-tabs .on, .pr-tabs .on, .sq-tabs .on { color: #111; border-bottom: 2px solid #111; }
.chips { padding: 10px 12px 2px; }
.feed { padding: 6px 12px 24px; }
.feed-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px 12px; }
.vid { position: relative; }
.vid-thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #000; }
.vid-title { margin: 6px 0 2px; font: 700 14px/1.3 Arial, sans-serif; }
.vid-sub, .vid-desc { font-size: 12px; margin: 0; }
.feed-gap { grid-column: 1 / -1; padding: 8px; text-align: center; color: #606060; font-size: 13px; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.cpost { border: 1px solid #e5e5e5; border-radius: 8px; padding: 12px; margin-bottom: 10px; }
.cpost header { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.cpost-text { margin: 8px 0; white-space: pre-line; }

/* ——— соцсеть «Круг» ——— */
.pf-krug { --link: #2a5885; background: #edeef0; color: #000; font: 13px/1.45 -apple-system, "Segoe UI", Roboto, "Open Sans", Arial, sans-serif; }
.pf-krug .appbar { display: flex; align-items: center; gap: 12px; height: 46px; padding: 0 12px; background: var(--accent); color: #fff; }
.pf-krug .brand-name { font: 700 18px/1 inherit; }
.pf-krug .brand svg circle { stroke: #fff; fill: none; }
.pf-krug .brand svg circle + circle { fill: #fff; }
.pf-krug .ps-input { border: 0; border-radius: 16px; background: rgba(255,255,255,.22); color: #fff; }
.pf-krug .ps-input::placeholder { color: rgba(255,255,255,.8); }
.pf-krug .ps-ic { color: #fff; }
.pr { max-width: 640px; margin: 0 auto; padding: 0 0 24px; }
.pr-head { background: #fff; padding-bottom: 12px; border-bottom: 1px solid #dce1e6; }
.pr-cover { height: 110px; background: linear-gradient(hsl(var(--ch) 30% 72%), hsl(var(--ch) 25% 58%)); overflow: hidden; }
.pr-id { display: flex; align-items: flex-end; justify-content: space-between; padding: 0 14px; margin-top: -42px; }
.pr-id .ava { border: 4px solid #fff; box-sizing: content-box; }
.pr-actions { display: flex; gap: 6px; }
.pr-name { margin: 6px 14px 0; font-size: 19px; }
.pr-handle { padding: 0 14px; color: #818c99; }
.pr-seen { padding: 0 14px; color: #818c99; font-size: 12px; }
.pr-seen.on { color: #4bb34b; }
.pr-bio { margin: 8px 14px; white-space: pre-line; }
.edit-history { font-size: 11px; color: #818c99; }
.edit-history ol { padding-left: 1.2em; }
.pr-fields { list-style: none; margin: 6px 14px; padding: 0; }
.pr-field { display: flex; gap: 8px; padding: 1px 0; }
.pf-k { color: #818c99; min-width: 6em; }
.pr-counters { display: flex; gap: 18px; padding: 6px 14px 0; color: #818c99; flex-wrap: wrap; }
.pr-counters b { color: #000; }
.pr-tabs { background: #fff; margin-top: 8px; }
.pr-posts { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.pr-post { background: #fff; border-top: 1px solid #dce1e6; border-bottom: 1px solid #dce1e6; padding: 12px 14px; }
.pr-pinned { font-size: 12px; color: #818c99; margin-bottom: 6px; display: flex; align-items: center; gap: 4px; }
.pr-post-row { display: flex; gap: 10px; }
.pr-post-main { flex: 1; min-width: 0; padding-right: 26px; }
.pr-post header { font-size: 13px; }
.pr-text { margin: 4px 0; white-space: pre-line; font-size: 14px; }
.pr-media { margin-top: 6px; border-radius: 8px; overflow: hidden; }
.pr-photo { position: relative; aspect-ratio: 16/9; background: #ccc; }
.pr-linkcard { display: flex; flex-direction: column; gap: 2px; padding: 10px; border: 1px solid #dce1e6; border-radius: 8px; background: #fafbfc; }
.lc-host { color: #818c99; font-size: 12px; }
.pr-acts { display: flex; gap: 18px; margin-top: 8px; color: #818c99; font-size: 13px; }
.pr-acts span { display: inline-flex; align-items: center; gap: 4px; }
.pr-more, .empty { text-align: center; color: #818c99; }
.pr-post.is-deleted { color: #818c99; font-style: italic; }

/* ——— поисковик «Искатель» ——— */
.pf-iskatel { --link: #1a0dab; background: #fff; color: #202124; font: 14px/1.5 Arial, sans-serif; }
.pf-iskatel .appbar { display: none; }
.sq-wrap { max-width: 700px; padding: 14px 16px 40px; }
.sq-logo { font: 700 26px/1 Georgia, "Times New Roman", serif; color: #222; margin: 6px 0 12px; }
.sq-logo::first-letter { color: var(--accent); }
.sq { display: flex; height: 44px; border: 1px solid #dfe1e5; border-radius: 22px; overflow: hidden; box-shadow: 0 1px 4px rgba(32,33,36,.12); }
.sq-input { flex: 1; min-width: 0; padding: 0 16px; border: 0; font: 16px Arial, sans-serif; outline: none; color: #202124; background: #fff; }
.sq-go { width: 52px; border: 0; background: var(--accent); color: #222; cursor: pointer; }
.sq-tabs { padding: 0; margin: 10px 0 0; gap: 16px; font-size: 13px; }
.sq-suggest { margin: 10px 0; font-size: 13px; }
.sq-stats { font-size: 13px; color: #70757a; margin: 12px 0; }
.sq-fix { color: #c5221f; }
.sr { margin: 0 0 24px; padding-right: 28px; }
.sr-site { display: flex; align-items: center; gap: 8px; }
.sr-site .fav { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: hsl(var(--fh) 20% 92%); color: hsl(var(--fh) 40% 35%); font: 700 12px Arial, sans-serif; font-style: normal; flex: none; }
.sr-sitename { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; font-size: 13px; }
.sr-sitename b { font-weight: 400; color: #202124; }
.sr-crumbs { color: #4d5156; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sr-title { margin: 4px 0 2px; font: 400 19px/1.3 Arial, sans-serif; color: #1a0dab; }
.sr-title.opens:hover { text-decoration: underline; }
.sr-snip { margin: 0; color: #4d5156; font-size: 14px; }
.sq-omit { font-size: 13px; }
.sq-none p { margin: 18px 0 8px; }
.sq-none ul { font-size: 13px; padding-left: 1.2em; }
.sq-related h4 { font-weight: 400; font-size: 18px; }

/* ——— веб-архив «Хронограф» ——— */
.pf-chronograph { background: #fff; color: #222; font: 14px/1.45 Georgia, "Times New Roman", serif; }
.pf-chronograph .appbar { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 12px; background: #2b2a26; color: #f1e8d8; }
.pf-chronograph .brand-name { font: 700 18px/1 Georgia, serif; letter-spacing: .5px; }
.ar { max-width: 980px; margin: 0 auto; padding: 12px; }
.ar-q { display: flex; gap: 6px; }
.ar-q input { flex: 1; min-width: 0; height: 38px; padding: 0 8px; border: 1px solid #b9b2a5; font: 14px Arial, sans-serif; }
.ar-sum { font-size: 15px; }
.ar-histo { display: flex; align-items: flex-end; gap: 1px; height: 46px; padding: 4px; background: #f3efe6; border: 1px solid #e0d8c8; }
.ar-histo .bar { flex: 1; height: calc(2px + var(--v) * 36px); background: #9c6b2f; min-width: 1px; }
.ar-years { display: flex; gap: 4px; margin: 10px 0; flex-wrap: wrap; }
.ar-year { min-height: 36px; padding: 0 12px; border: 1px solid #c9bfa9; background: #fff; font: 14px Georgia, serif; cursor: pointer; }
.ar-year.on { background: #2b2a26; color: #fff; }
.ar-cal { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.mcal h4 { margin: 0 0 4px; font: 700 13px Arial, sans-serif; text-transform: capitalize; }
.mcal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; font: 11px Arial, sans-serif; text-align: center; }
.mcal-grid .wd { color: #999; }
.mcal-grid .day { display: grid; place-items: center; aspect-ratio: 1; color: #bbb; border: 0; background: none; padding: 0; font: inherit; }
.mcal-grid .day.has { color: #111; background: radial-gradient(circle, #e3c99f 56%, transparent 58%); cursor: pointer; }
.mcal-grid .day.snap { background: radial-gradient(circle, #9c6b2f 56%, transparent 58%); color: #fff; }
.mcal-grid .day.many { font-weight: 700; }
.ar-h { margin-top: 18px; font: 700 15px Arial, sans-serif; }
.ar-list { padding-left: 1.2em; }
.ar-snapbtn { min-height: 40px; border: 0; background: none; color: #1a4fb5; text-decoration: underline; cursor: pointer; font: 14px Arial, sans-serif; display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; text-align: left; }
.ar-snapbtn.on { font-weight: 700; }
.st { padding: 0 4px; border-radius: 3px; font: 700 11px Arial, sans-serif; background: #e0f0e0; color: #2d6a2d; text-decoration: none; }
.st-403, .st-404, .st-500 { background: #f7dddd; color: #8a1c1c; }
.st-301, .st-302 { background: #f6ecd0; color: #7a5a10; }
.ar-frame { margin-top: 14px; border: 2px solid #2b2a26; }
.ar-toolbar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 6px; background: #2b2a26; color: #f1e8d8; font: 13px Arial, sans-serif; }
.ar-nav { min-width: 40px; min-height: 40px; border: 1px solid #6a6457; background: #3a3833; color: #fff; cursor: pointer; }
.ar-nav:disabled { opacity: .35; }
.ar-when { flex: 1; min-width: 160px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.ar-diffbtn { min-height: 40px; padding: 0 10px; border: 1px solid #6a6457; background: #3a3833; color: #fff; cursor: pointer; }
.ar-diffbtn[aria-pressed="true"] { background: #e3c99f; color: #222; }
.ar-note { padding: 4px 8px; margin: 0; }
.ar-page { padding: 10px 12px 14px; background: #fff; font: 15px/1.35 "Times New Roman", serif; }
.ar-page-url { font: 11px Arial, sans-serif; margin-bottom: 6px; }
.ar-legend .lg { padding: 0 4px; margin-right: 4px; }
.ar-legend .lg.add { background: #e7f6e7; }
.ar-legend .lg.del { background: #fbeaea; }
.ar-removed h5 { margin: 12px 0 4px; font: 700 12px Arial, sans-serif; color: #8a1c1c; }
.ar-broken { margin-top: 12px; padding: 12px; border: 1px dashed #b9b2a5; }

/* ——— WHOIS «Регистр.инфо» ——— */
.pf-registr { background: #f5f7f5; color: #1c1c1c; font: 14px/1.45 Arial, sans-serif; }
.pf-registr .appbar { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 12px; background: #fff; border-bottom: 3px solid var(--accent); }
.pf-registr .brand-name { font: 700 18px/1 Arial, sans-serif; color: var(--accent); }
.wh { max-width: 860px; margin: 0 auto; padding: 12px; }
.wh-q { display: flex; gap: 6px; }
.wh-q input { flex: 1; min-width: 0; height: 38px; padding: 0 8px; border: 1px solid #aab; font: 15px Arial, sans-serif; }
.wh-title { font-size: 20px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; overflow-wrap: anywhere; }
.wh-tag { font-size: 12px; padding: 2px 6px; border-radius: 3px; background: #fbe3e3; color: #8a1c1c; }
.wh-tag.free { background: #dff3e4; color: #2e7d4f; }
.wh-summary { background: #fff; border: 1px solid #dde2dd; margin: 10px 0; }
.wh-row { display: flex; gap: 10px; padding: 6px 10px; border-bottom: 1px solid #eef0ee; }
.wh-row dt { width: 9em; flex: none; color: #667; }
.wh-row dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.wh-raw-h { font-size: 14px; }
.pf-registr .raw, .pf-lupa .raw { background: #fff; border: 1px solid #dde2dd; }
.pf-registr .raw-tools { top: 48px; }

/* ——— метаданные «Лупа» ——— */
.pf-lupa { background: #eef2f3; color: #1b2326; font: 14px/1.45 Arial, sans-serif; }
.pf-lupa .appbar { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 12px; background: #fff; border-bottom: 1px solid #cfd8da; }
.pf-lupa .brand-name { font: 700 18px/1 ui-monospace, Menlo, monospace; color: var(--accent); }
.mx { max-width: 900px; margin: 0 auto; padding: 12px; }
.mx-file { display: flex; gap: 12px; flex-wrap: wrap; padding: 10px; background: #fff; border: 1px solid #cfd8da; }
.mx-preview { position: relative; width: 200px; aspect-ratio: 4/3; background: #222; overflow: hidden; flex: none; }
.mx-fileinfo { flex: 1; min-width: 180px; display: flex; flex-direction: column; gap: 4px; }
.mx-name { overflow-wrap: anywhere; }
.mx-hashes { width: 100%; margin: 0; font: 12px ui-monospace, Menlo, monospace; }
.mx-hashes div { display: flex; gap: 8px; }
.mx-hashes dt { width: 4.5em; color: #667; }
.mx-hashes dd { margin: 0; overflow-wrap: anywhere; min-width: 0; }
.mx-warn { padding: 8px; background: #fff7d6; border: 1px solid #e6d28a; }
.mx-group { margin-top: 12px; background: #fff; border: 1px solid #cfd8da; }
.mx-group h3 { margin: 0; padding: 6px 10px; font: 700 13px ui-monospace, Menlo, monospace; background: #e3eaec; }
.mx-row { display: flex; gap: 10px; padding: 3px 10px; border-top: 1px solid #f0f3f4; font: 12.5px/1.45 ui-monospace, Menlo, monospace; }
.mx-row.warn { background: #fff7e0; }
.mx-k { width: 15em; flex: none; color: #4b5a5e; overflow-wrap: anywhere; }
.mx-v { min-width: 0; overflow-wrap: anywhere; padding-right: 26px; }
.mx-empty { padding: 6px 10px; color: #778; font-style: italic; }
@media (max-width: 719px) { .mx-row { flex-direction: column; gap: 0; } .mx-k { width: auto; } .mx-preview { width: 100%; } }

/* ——— мессенджер «Шёпот», веб-клиент ——— */
.pf-shepot { background: #e6ebee; color: #000; font: 14px/1.4 -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.pf-shepot .appbar { display: none; }
.chat { max-width: 720px; margin: 0 auto; min-height: calc(100vh - 48px); display: flex; flex-direction: column; background: #dfe6e9 linear-gradient(135deg, rgba(255,255,255,.25) 25%, transparent 25%) 0 0/24px 24px; }
.chat-head { position: sticky; top: 48px; z-index: 3; background: #fff; border-bottom: 1px solid #d6dde1; }
.chat-head-btn { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 56px; padding: 6px 12px; border: 0; background: none; text-align: left; cursor: pointer; }
.chat-title { display: flex; flex-direction: column; min-width: 0; }
.chat-sub { color: #707579; font-size: 13px; }
.ch-members { background: #fff; padding: 8px 12px; border-bottom: 1px solid #d6dde1; }
.ch-members ul { list-style: none; padding: 0; margin: 0; }
.ch-members li { display: flex; align-items: center; gap: 10px; padding: 6px 28px 6px 0; }
.mb-name { flex: 1; }
.mb-seen { color: #707579; font-size: 12px; }
.mb-seen.on { color: #3390ec; }
.chat-log { flex: 1; padding: 8px 10px 16px; }
.day-sep { text-align: center; margin: 10px 0; }
.day-sep span { display: inline-block; padding: 2px 10px; border-radius: 12px; background: rgba(0,0,0,.25); color: #fff; font-size: 12px; }
.sys-msg { text-align: center; margin: 6px 0; }
.sys-msg span { display: inline-block; padding: 2px 10px; border-radius: 12px; background: rgba(0,0,0,.2); color: #fff; font-size: 12px; }
.msg { display: flex; align-items: flex-end; gap: 6px; margin: 2px 0; }
.msg.first { margin-top: 8px; }
.msg.out { justify-content: flex-end; }
.ava-gap { width: 32px; flex: none; }
.bubble { position: relative; max-width: min(78%, 480px); padding: 6px 30px 6px 10px; border-radius: 12px; background: #fff; box-shadow: 0 1px 1px rgba(0,0,0,.12); }
.msg.out .bubble { background: #e3fdd2; }
.msg-from { display: block; font-size: 13px; }
.msg-text { white-space: pre-line; }
.msg-time { float: right; margin: 6px -22px -2px 8px; font-size: 11px; color: #8a9aa5; display: inline-flex; gap: 2px; align-items: center; }
.ticks.read { color: #4fae4e; }
.msg-reply { border-left: 2px solid var(--c); padding-left: 6px; margin: 2px 0 4px; font-size: 13px; }
.msg-reply b { display: block; color: var(--c); font-size: 12px; }
.msg-fwd { font-size: 12px; color: #3390ec; }
.msg-file { display: flex; gap: 6px; align-items: center; font-size: 13px; }
.reacts { display: flex; gap: 4px; margin-top: 4px; }
.react { padding: 0 6px; border-radius: 10px; background: #e8f1fb; font-size: 12px; }
.chat-foot { position: sticky; bottom: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px; background: #fff; border-top: 1px solid #d6dde1; }
.chat-foot .join { min-height: 40px; width: 100%; max-width: 360px; border: 0; background: none; color: #3390ec; font-weight: 600; text-transform: uppercase; }
.chat-tz { font-size: 11px; }

/* ——— дешёвый фотохостинг ——— */
.site-imagehost { background: #20242a; color: #ccc; font: 13px/1.4 Tahoma, Verdana, sans-serif; padding-bottom: 24px; }
.ih-top { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; background: #111; }
.ih-logo { color: #fc0; font-size: 18px; }
.ih-up { color: #8fc1ff; }
.ih-ad { margin: 8px auto; max-width: 468px; height: 60px; display: grid; place-items: center; border: 1px dashed #555; color: #666; font-size: 11px; }
.ih-main { max-width: 820px; margin: 0 auto; padding: 0 12px; text-align: center; }
.ih-main h1 { font-size: 16px; color: #eee; }
.ih-pic { max-width: 640px; margin: 0 auto; aspect-ratio: 4/3; overflow: hidden; background: #000; }
.jpeg svg { filter: contrast(1.05) saturate(.85); image-rendering: pixelated; }
.ih-deleted { max-width: 640px; margin: 0 auto; aspect-ratio: 4/3; display: grid; place-content: center; gap: 6px; background: #2c3138; color: #999; }
.ih-meta { color: #999; margin: 6px 0; }
.ih-links label { display: flex; gap: 6px; align-items: center; margin: 4px auto; max-width: 520px; }
.ih-links span { flex: none; width: 9em; text-align: right; }
.ih-links input { flex: 1; min-width: 0; background: #111; color: #9f9; border: 1px solid #444; font: 12px monospace; padding: 4px; }

/* ——— заброшенный блог ——— */
.site-blog { background: #f4f1ea; color: #2b2b2b; font: 15px/1.6 Georgia, "Times New Roman", serif; }
.bl-head { padding: 28px 16px 18px; text-align: center; background: #3c4a3e; color: #f4f1ea; }
.bl-head h1 { margin: 0; font-weight: 400; font-size: 28px; }
.bl-wrap { display: flex; gap: 24px; max-width: 980px; margin: 0 auto; padding: 16px; flex-wrap: wrap; }
.bl-main { flex: 1 1 520px; min-width: 0; }
.bl-side { flex: 0 1 240px; font-size: 13px; }
.bl-side h3 { font-size: 13px; text-transform: uppercase; letter-spacing: 1px; border-bottom: 1px solid #ccc; }
.bl-foot { text-align: center; color: #888; font-size: 12px; padding: 16px; }

/* ——— веб 1.0 ——— */
.site-web1 { --link: #00f; background: #000080 repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 6px, transparent 6px 12px); color: #ff0; font: 16px/1.35 "Times New Roman", Times, serif; padding: 10px; }
.w1-center { text-align: center; }
.w1-title { font: 700 32px "Comic Sans MS", "Times New Roman", serif; color: #0ff; text-shadow: 2px 2px #f0f; }
.w1-body { max-width: 760px; margin: 0 auto; background: #c0c0c0; color: #000; padding: 10px; border: 3px outset #fff; }
.w1-foot { margin-top: 12px; font-size: 12px; color: #ccc; }

/* ——— формы связи и личные сообщения ——— */
.ct { margin-top: 16px; border: 1px solid #a9b8c2; background: #fff; }
.ct-title { margin: 0; padding: 6px 8px; background: linear-gradient(#5a7a9e, #2f4f72); color: #fff; font: 700 12px Verdana, sans-serif; }
.ct-intro { padding: 0 8px; }
.ct-table { width: 100%; border-collapse: collapse; }
.ct-table th { width: 9em; padding: 6px 8px; text-align: right; vertical-align: top; background: #dee3e7; font-size: 12px; }
.ct-table td { padding: 6px 8px; background: #efefef; }
.ct-table select, .ct-table textarea { width: 100%; max-width: 460px; min-height: 32px; font: 13px Verdana, sans-serif; }
.ct-evs { display: flex; flex-direction: column; gap: 2px; }
.ct-ev { display: flex; gap: 6px; align-items: center; min-height: 32px; }
.ct-foot { display: flex; align-items: center; gap: 10px; padding: 8px; background: #d1d7dc; flex-wrap: wrap; }
.ct-send { min-height: 32px; padding: 0 14px; font: 700 12px Verdana, sans-serif; border: 1px solid #555; background: linear-gradient(#fff, #d8dfe6); cursor: pointer; }
.ct-status { margin: 0; }
.ct-done { margin-top: 16px; padding: 12px; border: 1px solid #a9b8c2; background: #fff; }
.ib-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #a9b8c2; }
.ib-table th { background: #dee3e7; text-align: left; padding: 4px 6px; font-size: 11px; }
.ib-table td { padding: 6px; border-top: 1px solid #e0e4e8; font-size: 12px; }
.ib-table tr.unread td { font-weight: 700; }
.ib-dot { color: #c33; width: 1.2em; }
.ib-text { white-space: pre-line; padding: 6px 4px; font-weight: 400; }
.ib-sent { margin-top: 8px; }
.ib-sent li { white-space: pre-line; margin: 4px 0; }
@media (max-width: 719px) {
  .ct-table th, .ct-table td { display: block; width: auto; text-align: left; }
  .ib-table th:nth-child(4), .ib-table td:nth-child(4) { display: none; }
}

/* общие мелочи шапок сайтов */
.appbar .muted { color: inherit; opacity: .7; }
.site-top { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid #ddd; }
.site-logo { font-weight: 700; font-size: 18px; }
.site-tag { color: #777; font-size: 13px; }
.site-menu { display: flex; gap: 10px; font-size: 13px; }
.site-body { max-width: 860px; padding: 8px 12px 24px; }
.site-foot { padding: 12px; color: #888; font-size: 12px; border-top: 1px solid #ddd; }
.site-plain { background: #fff; color: #222; font: 15px/1.5 Arial, sans-serif; }
.counters { display: flex; gap: 12px; }
.scene { display: block; }
