/* Сервисы для вебмастеров: интерфейс инструмента и текст страницы. */

.tool-hero{padding-bottom:28px}
.tool-app{padding-bottom:clamp(24px,3vw,40px)}
.tool-wide{grid-column:1/-1}
.tool textarea{min-height:120px;resize:vertical;line-height:1.5}
.tool-opts{display:grid;gap:14px}
.tool-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tool-out-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font:500 14px/1.4 var(--body);color:var(--text-3)}
.tool-res{display:block;min-height:120px;font:600 clamp(18px,1.7vw,22px)/1.45 ui-monospace,Consolas,monospace;color:var(--svc-ink);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:var(--text)}
.tool-res-url{font-size:clamp(15px,1.3vw,17px);color:var(--text)}
.tool-res-url b{color:var(--text);font-weight:600}
.tool-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tool-actions .btn{margin-left:auto}
.tool-stats{display:flex;flex-wrap:wrap;gap:8px 28px;color:var(--text-3);font-size:14px}
.tool-stats div{display:flex;gap:8px;align-items:baseline}
.tool-stats dd{margin:0;font:700 18px/1 var(--display);color:var(--text)}

/* Текст под инструментом и боковая карточка студии */
.tool-text{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(24px,4vw,64px);align-items:start}
.tool-text .prose{padding-bottom:0}
.tool-text .prose>h2:first-child{margin-top:0}
.aside-card{display:grid;gap:14px;padding:28px;border-radius:28px;background:var(--surface);border:1px solid var(--line)}
.aside-card .kicker{margin-bottom:0}
.aside-card p{color:var(--text-2);font-size:15.5px}
.aside-links{list-style:none;padding:0;display:grid}
.aside-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text-2);font-size:15px;transition:color .3s var(--ease)}
.aside-links a:hover{color:var(--text)}
.aside-links .ico{width:16px;height:16px;color:var(--cyan)}

@media (max-width:1100px){.tool-text{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.tool{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.tool{border-radius:24px;padding:12px}.tool-cols{grid-template-columns:minmax(0,1fr)}.tool-actions .btn{margin-left:0}}

/* Как пользоваться: шаги под инструментом */
.howto{padding-bottom:clamp(16px,2vw,24px)}
.howto .h3{margin-bottom:18px}
.howto-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;counter-reset:none}
.howto-list li{display:grid;gap:10px;padding:20px;border-radius:20px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-2);font-size:15.5px;line-height:1.5}
.howto-list b{font:800 15px/1 var(--display);color:var(--svc-ink)}

/* QR-генератор */
.qr-tabs{margin-bottom:2px}
.qr-opts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.qr-color{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--surface);font-size:15px;color:var(--text-2);cursor:pointer}
.qr-color input{width:30px;height:30px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.qr-color input::-webkit-color-swatch-wrapper{padding:0}
.qr-color input::-webkit-color-swatch{border:1px solid var(--line);border-radius:50%}
.qr-out{grid-template-rows:auto auto auto;justify-items:center;text-align:center}
.qr-stage{width:min(100%,340px);aspect-ratio:1;border-radius:20px;overflow:hidden;background:repeating-conic-gradient(#26272b 0 25%,#1e1f23 0 50%) 0 0/20px 20px;box-shadow:0 30px 60px rgb(0 0 0/.45)}
.qr-stage svg{width:100%;height:100%;animation:qr-in .35s var(--ease)}
@keyframes qr-in{from{opacity:.4;transform:scale(.98)}}
.qr-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}

.qr-upload{margin-top:10px;font-size:14px;color:var(--text-2);max-width:100%}
.qr-upload::file-selector-button{margin-right:12px;padding:10px 16px;border:0;border-radius:999px;background:var(--surface-2);color:var(--text);font:600 14px/1 var(--body);cursor:pointer}
.qr-note{display:block;margin-top:8px;font-size:13px;color:var(--text-3)}

/* Серверные проверки домена */
.tool-check{grid-template-columns:minmax(0,1fr)}
.check-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end;padding:clamp(8px,1.4vw,16px)}
.check-form .btn{min-height:58px}
.check-out{padding:clamp(16px,2vw,24px);border-radius:24px;background:var(--surface);border:1px solid var(--line);min-height:120px}
.check-domain{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;font:700 clamp(20px,2vw,26px)/1.2 var(--display);overflow-wrap:anywhere}
.check-domain small{font:500 13px/1.3 var(--body);color:var(--text-3)}
.check-big{margin-top:14px;font:600 clamp(17px,1.6vw,21px)/1.35 var(--display);color:var(--text)}
.check-big.ok{color:var(--r3)}
.check-big.bad{color:#ff8a8a}
.check-dl{display:grid;margin-top:14px;border-top:1px solid var(--line)}
.check-dl>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:6px 18px;padding:12px 0;border-bottom:1px solid var(--line)}
.check-dl dt{color:var(--text-3);font-size:14.5px}
.check-dl dd{margin:0;color:var(--text);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.check-dl dd small{color:var(--text-3)}
.check-dl .warn dd{color:#ffb35c}
.check-badge{display:inline-block;padding:3px 10px;border-radius:999px;font:600 13px/1.4 var(--body)}
.check-badge.ok{background:rgb(52 186 71/.16);color:#6fdc80}
.check-badge.bad{background:rgb(255 61 71/.14);color:#ff8a8a}
.check-hops{list-style:none;padding:0;margin-top:14px;display:grid;gap:10px}
.check-hops li{padding:14px 16px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line);border-left:4px solid var(--line)}
.check-hops li.ok{border-left-color:var(--r3)}
.check-hops li.redir{border-left-color:var(--svc-color)}
.check-hops li.bad{border-left-color:var(--r1)}
.check-hops p{margin-top:6px;color:var(--text-2);font-size:14.5px}
.hop-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.hop-code{font:800 18px/1 var(--display);color:var(--svc-ink)}
.hop-url{font:500 15px/1.4 ui-monospace,Consolas,monospace;color:var(--text);overflow-wrap:anywhere;min-width:0}
.hop-top small{margin-left:auto;color:var(--text-3)}
.hop-h{display:grid;gap:2px;margin-top:8px;font-size:13px;color:var(--text-3);overflow-wrap:anywhere}
.hop-h b{color:var(--text-2);font-weight:600}
.check-raw{margin-top:14px}
.check-raw summary{cursor:pointer;color:var(--svc-ink);font-weight:600}
.check-raw pre{margin-top:10px;max-height:360px;overflow:auto;padding:14px;border-radius:12px;background:var(--bg);font:13px/1.5 ui-monospace,Consolas,monospace;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere}
.check-wait{display:flex;align-items:center;gap:12px;color:var(--text-2)}
.check-wait i{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--svc-color);animation:check-spin .8s linear infinite}
@keyframes check-spin{to{transform:rotate(1turn)}}
.check-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 clamp(8px,1.4vw,16px) 8px}
@media (max-width:860px){.check-form{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.check-form{grid-template-columns:minmax(0,1fr)}.check-dl>div{grid-template-columns:minmax(0,1fr)}}
.tool-check .btn-main{background:#f3f5f6;color:#141415}
.tool-check .btn-main:hover{background:#fff;box-shadow:none}

.check-sel{min-width:220px}
.howto-list strong{display:block;color:var(--text);font:600 16px/1.3 var(--display)}

.tool-text-short{grid-template-columns:minmax(0,1fr)}
.tool-text-short .prose{display:none}

/* ---------- Вторая волна сервисов, 07.10.2026 ---------- */

/* Вкладки инструмента: сегменты над карточкой */
.tool-tabs{display:flex;flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;margin-bottom:14px;padding:6px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line)}
.tool-tab{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;color:var(--text-2);font:600 15px/1 var(--body);transition:background-color .3s var(--ease),color .3s var(--ease)}
.tool-tab:hover{color:var(--text)}
.tool-tab[aria-selected="true"]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px rgb(var(--svc-rgb)/.45)}
.tool-tab:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.tool-tab .ico{width:18px;height:18px;color:var(--svc-ink)}
.tab-brand{display:grid;width:22px;height:22px}
.tab-brand svg{width:100%;height:100%}

/* Общие мелочи */
.tool-btns{display:inline-flex;flex-wrap:wrap;gap:8px}
.tool-code{display:block;margin:0;padding:16px;border-radius:14px;background:var(--bg);border:1px solid var(--line);font:500 13.5px/1.6 ui-monospace,Consolas,monospace;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto}
.tool-actions-start .btn{margin-left:0}
.tool-out-form{grid-template-rows:none;align-content:start}
.num-in{width:96px;padding:9px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font:600 15px/1.2 var(--body);text-align:center}
.num-in:focus{outline:none;border-color:var(--cyan)}
.check-h{margin:22px 0 10px;font:600 16px/1.3 var(--display);color:var(--text)}
.check-warn{list-style:none;padding:0;margin-top:14px;display:grid;gap:8px}
.check-warn li{position:relative;padding:12px 14px 12px 40px;border-radius:14px;background:rgb(255 179 92/.08);border:1px solid rgb(255 179 92/.25);color:#ffcf96;font-size:14.5px}
.check-warn li::before{content:"!";position:absolute;left:14px;top:12px;width:18px;height:18px;border-radius:50%;background:#ffb35c;color:#141415;font:800 12px/18px var(--body);text-align:center}
.check-wait-dot{display:inline-block;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--svc-color);animation:check-spin .8s linear infinite;vertical-align:middle}

/* robots.txt: тест адреса и группы правил */
.rb-test{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:end;margin-top:18px;padding:16px;border-radius:18px;background:var(--bg-2);border:1px solid var(--line)}
.rb-verdict{display:grid;gap:8px}
.rb-v{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14.5px}
.rb-v>b{min-width:62px;color:var(--text)}
.rb-v small{flex-basis:100%;color:var(--text-3);font:500 12.5px/1.4 ui-monospace,Consolas,monospace;overflow-wrap:anywhere}
.rb-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:12px;margin-top:16px}
.rb-group{min-width:0;padding:14px 16px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line)}
.rb-ua{font:700 14px/1.4 ui-monospace,Consolas,monospace;color:var(--svc-ink);overflow-wrap:anywhere}
.rb-group ol{list-style:none;padding:0;margin-top:8px;display:grid;gap:4px;max-height:280px;overflow:auto}
.rb-group li{padding-left:12px;border-left:2px solid var(--line);font:500 13px/1.5 ui-monospace,Consolas,monospace;color:var(--text-2);overflow-wrap:anywhere}
.rb-group li b{color:var(--text)}
.rb-group li small{display:block;font-family:var(--body);color:#ffcf96}
.rb-group .rb-deny{border-left-color:var(--r1)}
.rb-group .rb-allow{border-left-color:var(--r3)}
.rb-group .rb-info{border-left-color:var(--r4)}

/* Мета-теги: сниппет поиска и карточка мессенджера */
.meta-previews{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;margin:6px 0 4px}
.meta-previews .check-h{margin-top:12px}
.snip{padding:18px 20px;border-radius:16px;background:#fff;color:#1a1a1a;font-family:Arial,sans-serif}
.snip-url{display:flex;align-items:center;gap:8px;font-size:13px;color:#4d5156;overflow-wrap:anywhere}
.snip-url img{width:16px;height:16px;border-radius:3px}
.snip-title{margin-top:6px;font-size:19px;line-height:1.3;color:#1a0dab;overflow-wrap:anywhere}
.snip-desc{margin-top:6px;font-size:14px;line-height:1.5;color:#333}
.ogcard{display:grid;max-width:420px;border-radius:14px;overflow:hidden;background:#232e3c;border-left:3px solid #6ab3f3}
.ogcard-img{aspect-ratio:1.91/1;background:#1b2530}
.ogcard-img img{width:100%;height:100%;object-fit:cover}
.ogcard-img.none{aspect-ratio:auto;height:0}
.ogcard-text{display:grid;gap:4px;padding:12px 14px;font-size:14px;line-height:1.4;color:#e9eef3}
.ogcard-text b{color:#6ab3f3}
.ogcard-text small{color:#8ea1b5}
.meta-heads{list-style:none;padding:0 6px 0 0;display:grid;gap:4px;max-height:420px;overflow:auto}
.meta-heads li{display:flex;gap:10px;align-items:baseline;font-size:14.5px;color:var(--text-2);overflow-wrap:anywhere}
.meta-heads b{flex:none;min-width:30px;font:700 12px/1.6 var(--display);color:var(--svc-ink)}
.meta-heads .mh-1{color:var(--text);font-weight:600}
.meta-heads .mh-2{padding-left:16px}
.meta-heads .mh-3{padding-left:32px}
.meta-heads .mh-4,.meta-heads .mh-5,.meta-heads .mh-6{padding-left:48px;color:var(--text-3)}

/* IndexNow: шаги */
.step-h{display:flex;align-items:center;gap:12px;font:600 17px/1.3 var(--display);color:var(--text)}
.step-h b{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid rgb(var(--svc-rgb)/.6);font:800 13px/1 var(--display);color:var(--svc-ink)}
.tool-hint code{padding:1px 6px;border-radius:6px;background:var(--bg);color:var(--text-2);font-size:13px;overflow-wrap:anywhere}
.inx-list{list-style:none;padding:0;margin-top:12px;display:grid;gap:8px}
.inx-list li{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);border-left:4px solid var(--r3)}
.inx-list li.bad{border-left-color:var(--r1)}
.inx-list li span{display:grid;gap:2px;font-size:14.5px;color:var(--text-2)}
.inx-list li span b{color:var(--text)}
.inx-list small{color:var(--text-3);overflow-wrap:anywhere}

/* IndexNow: пакетная отправка */
.tool-inx{align-items:start}
.tool-inx .tool-in .step-h:not(:first-child){margin-top:10px;padding-top:22px;border-top:1px solid var(--line)}
.tool-inx textarea{min-height:170px;font:500 14px/1.55 ui-monospace,Consolas,monospace}
.inx-src{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.inx-file{position:relative;cursor:pointer}
.inx-file:focus-within{outline:2px solid var(--cyan);outline-offset:3px}
.inx-map{display:flex;flex:1 1 100%;order:3;gap:8px;min-width:0}
.tool .inx-map input{flex:1;min-width:0;padding:10px 16px;border-radius:999px;font-size:14.5px}
.inx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.inx-stats div,.inx-count div{padding:12px 14px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line)}
.inx-stats dt,.inx-count dt{font-size:12.5px;color:var(--text-3)}
.inx-stats dd,.inx-count dd{margin:4px 0 0;font:700 18px/1.2 var(--display);color:var(--text)}
.inx-hosts{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.inx-hosts:empty{display:none}
.inx-hosts li{display:inline-flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:999px;background:var(--surface-2);font-size:13.5px;color:var(--text-2)}
.inx-hosts b{padding:3px 8px;border-radius:999px;background:var(--bg);font-weight:600;font-size:12.5px;color:var(--text)}
.inx-hosts .more{padding-right:12px;background:none;border:1px dashed var(--line)}
.inx-run{grid-column:1/-1;display:grid;gap:14px;padding:clamp(16px,2vw,24px);border-radius:24px;background:var(--surface);border:1px solid var(--line)}
.inx-ctrl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.inx-ctrl [data-retry]{margin-left:auto}
.inx-prog{display:grid;gap:12px}
.inx-bar{height:8px;border-radius:999px;background:var(--bg-2);overflow:hidden}
.inx-bar i{display:block;width:0;height:100%;border-radius:inherit;background:var(--rainbow);transition:width .4s var(--ease)}
.inx-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.inx-count .bad dd{color:#ff8a8a}
.inx-log{list-style:none;padding:0;display:grid;gap:6px;max-height:340px;overflow:auto}
.inx-log:empty{display:none}
.inx-log li{display:flex;gap:12px;align-items:baseline;padding:9px 12px;border-radius:12px;background:var(--bg-2);border-left:3px solid var(--line);font-size:14px;color:var(--text-2);overflow-wrap:anywhere}
.inx-log li time{flex:none;font:500 12px/1.4 ui-monospace,Consolas,monospace;color:var(--text-3)}
.inx-log li b{color:var(--text);font-weight:600}
.inx-log .ok{border-left-color:var(--r3)}
.inx-log .err{border-left-color:var(--r1)}
.inx-log .warn{border-left-color:var(--r2)}
.inx-log .info{border-left-color:var(--r4)}

/* Мой IP */
.tool-ip{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}
.ip-main{display:grid;gap:14px;align-content:start;padding:clamp(12px,2vw,24px)}
.ip-label{font:500 14px/1.4 var(--body);color:var(--text-3)}
.ip-big{display:block;min-height:1.2em;font:800 clamp(30px,4.4vw,58px)/1.1 var(--display);letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere}
.ip-big.v6{font-size:clamp(20px,2.4vw,30px)}
.ip-net{min-height:1.5em;color:var(--text-2)}
.ip-grid{margin-top:0;padding:clamp(14px,2vw,22px);border-radius:24px;background:var(--surface);border:1px solid var(--line)}
.ip-grid>div:last-child{border-bottom:0}

/* Ползунок: тянется пальцем и мышью */
.range-fld>span b{color:var(--text);font-weight:700}
.range-fld>span i{font-style:normal}
.range-fld input[type=range]{display:block;width:100%;height:28px;accent-color:#f3f5f6;touch-action:none;cursor:grab}
.range-fld input[type=range]:active{cursor:grabbing}
.range-fld input[type=range]::-webkit-slider-thumb{width:26px;height:26px}

/* Пароли */
.pw-meter{display:grid;gap:8px;font-size:14px;color:var(--text-2)}
.pw-bar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.pw-bar i{display:block;width:0;height:100%;border-radius:inherit;background:var(--r1);transition:width .4s var(--ease),background-color .4s var(--ease)}
.pw-meter.lv2 .pw-bar i{background:var(--r2)}
.pw-meter.lv3 .pw-bar i{background:var(--r3)}
.pw-meter.lv4 .pw-bar i{background:var(--rainbow)}
.pw-list{list-style:none;padding:0;display:grid;gap:8px;align-content:start}
.pw-item{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:13px 16px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);transition:border-color .3s var(--ease)}
.pw-item:hover{border-color:var(--cyan-dim)}
.pw-item:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.pw-item code{min-width:0;font:600 16px/1.4 ui-monospace,Consolas,monospace;color:var(--text);overflow-wrap:anywhere}
.pw-copy{flex:none;font-size:12.5px;color:var(--text-3)}
.pw-item.copied{background:var(--bg-2)!important;border-color:var(--r3)}
.pw-item.copied .pw-copy{color:#6fdc80}

/* Сжатие фото */
.drop{position:relative;display:grid;justify-items:center;gap:8px;padding:34px 20px;border-radius:22px;border:1.5px dashed var(--cyan-dim);background:var(--surface);text-align:center;cursor:pointer;transition:border-color .3s var(--ease),background-color .3s var(--ease)}
.drop:hover,.drop.over{border-color:var(--svc-color);background:rgb(var(--svc-rgb)/.06)}
.drop:focus-within{outline:2px solid var(--cyan);outline-offset:3px}
.drop .ico{width:34px;height:34px;color:var(--svc-ink)}
.drop b{font:600 18px/1.3 var(--display)}
.drop span{font-size:14px;color:var(--text-3)}
.im-list{list-style:none;padding:0;display:grid;gap:8px;align-content:start;max-height:520px;overflow:auto}
.im-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:8px 10px 8px 8px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line)}
.im-item img{width:56px;height:56px;object-fit:cover;border-radius:10px;background:var(--surface-2)}
.im-meta{display:grid;gap:2px;min-width:0}
.im-meta b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.im-meta span{font-size:13px;color:var(--text-3)}
.im-meta em{font-style:normal;color:var(--text)}
.im-pct{font:800 15px/1 var(--display);color:#6fdc80}
.im-item.worse .im-pct{color:#ffb35c}

/* Сравнение текстов */
.tool-diff{grid-template-columns:minmax(0,1fr)}
.diff-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:clamp(8px,1.4vw,16px) clamp(8px,1.4vw,16px) 0}
.diff-opts{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:0 clamp(8px,1.4vw,16px)}
.diff-out{grid-template-rows:auto auto auto}
.diff-res{min-height:120px;max-height:560px;overflow:auto;font-size:16.5px;line-height:1.75;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere}
.diff-res.lines{font:500 14.5px/1.65 ui-monospace,Consolas,monospace}
.diff-res ins,.tool-hint ins{text-decoration:none;background:rgb(52 186 71/.2);color:#8ff0a0;border-radius:4px;padding:0 2px}
.diff-res del,.tool-hint del{background:rgb(255 61 71/.18);color:#ff9a9f;border-radius:4px;padding:0 2px}
.diff-out .tool-stats dd.d-add{color:#8ff0a0}
.diff-out .tool-stats dd.d-del{color:#ff9a9f}

/* Ссылки на мессенджеры */
.ms-out{grid-template-rows:auto auto auto 1fr}
.ms-extra{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:start;margin-top:6px;padding-top:16px;border-top:1px solid var(--line)}
.ms-qr{display:grid;gap:10px;justify-items:center}
.ms-qr-img{width:150px;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--surface-2);box-shadow:0 0 0 3px var(--ms-color,transparent)}
.ms-qr-img svg{width:100%;height:100%}
.ms-code{display:grid;gap:10px;min-width:0}
.ms-code .tool-code{max-height:170px;font-size:12.5px}
a.btn[aria-disabled]{opacity:.5;pointer-events:none}

/* Рыба */
.ry-res{height:330px;overflow:auto;font:400 16px/1.7 var(--body);color:var(--text-2);white-space:normal}
.ry-res p+p,.ry-res ul+p,.ry-res p+ul,.ry-res ul+h3,.ry-res p+h3{margin-top:12px}
.ry-res h3{margin-bottom:8px;font:600 18px/1.3 var(--display);color:var(--text)}
.ry-res ul{padding-left:20px}
.ry-res.ry-code pre{margin:0;font:500 13.5px/1.6 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}

/* Витрина /servisy/: поиск, группы */
.cat-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-bottom:clamp(18px,3vw,30px)}
.cat-search{position:relative;flex:1 1 300px;max-width:440px}
.cat-search .ico{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-3);pointer-events:none}
.cat-search input{width:100%;padding:15px 18px 15px 48px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font:500 16px/1.2 var(--body);transition:border-color .25s var(--ease)}
.cat-search input:focus{outline:none;border-color:var(--cyan)}
.cat-nav{flex:1 1 auto}
.cat-group{scroll-margin-top:20px}
.cat-group+.cat-group{margin-top:clamp(34px,5vw,56px)}
.cat-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.cat-head p{color:var(--text-3);font-size:15px}
.tools-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cat-empty{padding:30px 0;color:var(--text-2);font-size:17px}
.cat-idea{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 30px;min-height:0;margin-top:clamp(30px,5vw,56px)}
.cat-idea p{grid-column:1}
.cat-idea .tool-go{grid-column:2;grid-row:1/span 2;margin-top:0}

@media (max-width:1100px){.tools-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.meta-previews,.rb-test,.tool-ip,.diff-in{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.tools-grid-4{grid-template-columns:minmax(0,1fr)}.tool-tabs{flex-wrap:nowrap;width:100%;border-radius:22px}.tool-tab{flex:1 1 0;min-width:0;justify-content:center;gap:6px;padding:10px 8px;border-radius:16px;font-size:14px;line-height:1.2;white-space:normal;text-align:center}.ms-extra{grid-template-columns:minmax(0,1fr);justify-items:center}.ms-code{width:100%}.im-item{grid-template-columns:48px minmax(0,1fr) auto}.im-item img{width:48px;height:48px}.im-item .btn{grid-column:1/-1}.cat-idea{grid-template-columns:minmax(0,1fr)}.cat-idea .tool-go{grid-column:1;grid-row:auto}.tool-out-head{flex-wrap:wrap}}
@media (max-width:560px){.inx-stats,.inx-count{grid-template-columns:repeat(2,minmax(0,1fr))}.inx-ctrl [data-retry]{margin-left:0}.inx-map{flex-basis:100%}}
@media (max-width:380px){.tool-tabs[aria-label="Мессенджер"] .tool-tab{flex-direction:column}}
