/* ------------------------------------------------------------------ *
 *  Форум /forum/ — стили страницы (вынесены из engine/pages/forum.php)
 *
 *  Цвета: палитра сайта, в лёгкой версии — запасные. Лёгкая версия —
 *  класс kodg-lite на <body>: переменных темы там нет, поэтому палитра
 *  задана своими переменными --f-*.
 *  Шрифты сайта — только в полной версии: правила с ними обёрнуты
 *  в :where(), чтобы не менять вес селекторов. В лёгкой версии таких
 *  объявлений нет вовсе — шрифт даёт Bootstrap.
 * ------------------------------------------------------------------ */
body{
  --f-bg:var(--k-bg); --f-panel:var(--k-panel); --f-panel3:var(--k-panel3); --f-panel6:var(--k-panel6);
  --f-border:var(--k-border); --f-border4:var(--k-border4);
  --f-text:var(--k-text); --f-text2:var(--k-text2); --f-muted:var(--k-muted);
  --f-acc:var(--k-accent); --f-acch:var(--k-accent-h); --f-good:var(--k-good); --f-link:var(--k-link);
}
body.kodg-lite{
  --f-bg:#fff; --f-panel:#fff; --f-panel3:#eef2f7; --f-panel6:#f5f7fa;
  --f-border:#ddd; --f-border4:#e6eaf0;
  --f-text:#333; --f-text2:#555; --f-muted:#777;
  --f-acc:#c40606; --f-acch:#e02020; --f-good:#1c7a44; --f-link:#1c5aa8;
}
body{margin:0;background:var(--f-bg);color:var(--f-text)}
body:where(:not(.kodg-lite)){font:15px/1.5 "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
.fr *{box-sizing:border-box}
.fr a{color:var(--f-link)}
.fr h1,.fr h2{font-weight:400;letter-spacing:.02em;margin:0}
:where(body:not(.kodg-lite)) .fr h1,:where(body:not(.kodg-lite)) .fr h2{font-family:"KodgMason",Georgia,serif}
:where(body.kodg-lite) .fr h1,:where(body.kodg-lite) .fr h2{font-family:inherit}
.fr .btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;border-radius:6px;border:0;background:var(--f-acc);color:#fff;white-space:nowrap;text-decoration:none;cursor:pointer}
:where(body:not(.kodg-lite)) .fr .btn{font:700 14px "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
.fr .btn:hover{background:var(--f-acch);color:#fff}
.fr .btn.ghost{background:transparent;color:var(--f-text2);border:1px solid var(--f-border)}
.fr .btn.ghost:hover{border-color:var(--f-acc);color:var(--f-text)}
.fr .btn.sm{height:30px;padding:0 12px;font-size:13px}
/* шапка форума */
.f-hero{background:radial-gradient(1200px 300px at 20% -50%,#33475c,transparent),linear-gradient(180deg,#22303e,#1b2835);color:#f4f7fa;border-bottom:1px solid #0b1118}
.f-hero-in{max-width:1200px;margin:0 auto;padding:20px 16px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.f-hero-logo{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.f-hero-t .h{color:#fff;margin:0;letter-spacing:.02em}
:where(body:not(.kodg-lite)) .f-hero-t .h{font:30px/1.15 "KodgMason",Georgia,serif}
.f-hero-t a.h{text-decoration:none;color:#fff}
.f-hero-t p{margin:2px 0 0;color:#9ca1b2;font-size:14px}
.f-hero-s{display:flex;gap:24px;list-style:none;margin:0 0 0 auto;padding:0}
.f-hero-s li{font-size:12px;color:#9ca1b2;text-transform:uppercase;letter-spacing:.05em;text-align:center}
/* Цифры — Lato: в декоративном шрифте единица похожа на «I» */
.f-hero-s b{display:block;color:#fff;letter-spacing:0}
:where(body:not(.kodg-lite)) .f-hero-s b{font:700 24px/1.2 "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
.f-hero-b{display:flex;gap:8px}
.f-hero .btn.ghost{color:#f4f7fa;border-color:#485464}
.f-hero .btn.ghost:hover{color:#fff;border-color:var(--f-acc);background:rgba(255,255,255,.08)}
.f-hero.compact .f-hero-in{padding:10px 16px}.f-hero.compact .f-hero-logo{width:38px;height:38px}
.f-hero.compact .f-hero-t .h{font-size:21px}.f-hero.compact .f-hero-t p,.f-hero.compact .f-hero-s,.f-hero.compact .f-hero-b{display:none}
.fr-wrap{max-width:1200px;margin:0 auto;padding:14px 16px 34px}
.fr .kbc{margin:0 0 12px}
/* вкладки разделов */
.f-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 0 6px;margin:0 0 16px;scrollbar-width:thin}
.f-tabs a{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:20px;border:1px solid var(--f-border);background:var(--f-panel);color:var(--f-text2);font-size:14px;text-decoration:none}
.f-tabs a:hover{border-color:var(--f-acc);color:var(--f-text)}
.f-tabs a.on{background:var(--f-acc);border-color:var(--f-acc);color:#fff}
.f-tabs .f-ico{width:16px;height:16px}
/* карточки разделов */
.f-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sc{background:var(--f-panel);border:1px solid var(--f-border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,transform .15s}
.sc:hover{box-shadow:0 8px 24px rgba(0,0,0,.10);transform:translateY(-1px)}
.sc-h{display:flex;gap:12px;align-items:center}
.sico{flex:none;width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#ec0707,#a3121a)}
.sc-h a.st{font-size:17px;font-weight:700;color:var(--f-text);text-decoration:none}
.sc-h a.st:hover{color:var(--f-acc)}
.sc-h p{margin:1px 0 0;font-size:13px;color:var(--f-text2)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips span,.chips a{font-size:12px;padding:3px 10px;border-radius:12px;background:var(--f-panel3);color:var(--f-text2);text-decoration:none}
.chips a:hover{background:var(--f-acc);color:#fff}
.chips a.on{background:var(--f-acc);color:#fff}
.sc-last{margin-top:auto;padding-top:10px;border-top:1px solid var(--f-border4);font-size:13px;display:flex;gap:10px;align-items:center;min-width:0}
.sc-last div{min-width:0}.sc-last a{display:block;color:var(--f-text);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.sc-last a:hover{color:var(--f-acc)}
.sc-last .muted{color:var(--f-muted)}
.sc-empty{margin-top:auto;padding-top:10px;border-top:1px solid var(--f-border4);font-size:13px;color:var(--f-muted)}
/* образ автора */
.av{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:50% 12%;background:var(--f-panel3);flex:none;border:2px solid var(--f-panel);box-shadow:0 0 0 1px var(--f-border)}
.av-n{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--f-muted);font-size:15px}
/* темы-карточки */
.f-sec{margin:22px 0 10px}.f-sec h2{font-size:21px}
.f-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 8px}
.f-head h1{font-size:28px;line-height:1.2;flex:1 1 300px}
.f-head .btns{display:flex;gap:8px}
.f-descr{color:var(--f-text2);margin:0 0 6px}
.f-acc{font-size:13px;color:var(--f-muted);margin:0 0 14px}
.tc{display:flex;gap:14px;align-items:flex-start;background:var(--f-panel);border:1px solid var(--f-border);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.tc.pin{border-color:rgba(236,7,7,.45);box-shadow:inset 4px 0 0 var(--f-acc)}
.tc.is-hid{opacity:.65;border-style:dashed}
.tc .av{width:44px;height:44px}
.tc-m{flex:1;min-width:0}
.tc-t{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.fr .tc a.tt{color:var(--f-text);font-weight:700;font-size:16px;text-decoration:none}
.fr .tc a.tt:hover{color:var(--f-acc)}
.tc p{margin:3px 0 6px;font-size:13px;color:var(--f-text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meta{display:flex;gap:4px 8px;flex-wrap:wrap;font-size:12px;color:var(--f-muted);align-items:center}
.fr .utag{white-space:nowrap}
.fr .utag img{vertical-align:middle;position:relative;top:-1px}
.tc-last{color:inherit}.tc-last:hover{color:var(--f-link)}
.tc-new{display:inline-block;background:var(--f-acc);color:#fff;border-radius:10px;padding:0 8px;font-size:11px;font-weight:700;line-height:18px}
.tc-new:hover{color:#fff;background:var(--f-acch);text-decoration:none}
.fr .tc .meta a.tc-new,.fr .tc .meta a.tc-new:hover{color:#fff;text-decoration:none}
.tc.has-new{border-left:3px solid var(--f-acc)}
.f-newline{display:flex;align-items:center;gap:10px;margin:14px 0 8px;color:var(--f-acc);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.f-newline:before,.f-newline:after{content:"";flex:1;height:1px;background:var(--f-acc);opacity:.5}
.f-inl{display:inline;margin:0}
.f-watch{border:1px solid var(--f-border);background:none;border-radius:12px;padding:0 9px;font-size:12px;line-height:20px;color:var(--f-text2);cursor:pointer}
.f-watch:hover{border-color:var(--f-acc);color:var(--f-text)}
.f-watch.on{border-color:var(--f-good);color:var(--f-good)}
.fr .btn.ghost.on{border-color:var(--f-good);color:var(--f-good)}
.tc-pages{display:inline-flex;gap:3px;align-items:center}
.tc-pages a{font-size:11px;padding:0 6px;border:1px solid var(--f-border);border-radius:4px;color:var(--f-muted);text-decoration:none}
.tag{padding:1px 8px;border-radius:10px;font-weight:700;font-size:11px;white-space:nowrap}
.tag-pin{background:rgba(236,7,7,.1);color:var(--f-acc)}.tag-hot{background:rgba(232,89,12,.14);color:#e8590c}
.tag-new{background:rgba(28,122,68,.14);color:var(--f-good)}.tag-lock,.tag-hid{background:var(--f-panel3);color:var(--f-muted)}
.tag-hid{color:#c0392b}
.fr a.bub{flex:none;min-width:62px;text-align:center;padding:6px 8px;border-radius:10px;background:var(--f-panel3);color:var(--f-text);text-decoration:none}
.bub b{display:block}
:where(body:not(.kodg-lite)) .bub b{font:700 19px/1.2 "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}.bub span{font-size:11px;color:var(--f-muted)}
.fr a.bub:hover{background:var(--f-acc);color:#fff}.fr a.bub:hover span{color:#fff}
/* смайлы */
.sm{vertical-align:middle;max-height:26px}
.sm-t{margin-right:6px;max-height:22px;vertical-align:-4px}.sm-h{margin-right:8px;max-height:30px;vertical-align:-3px}
.fe{position:relative}
.sm-pan{position:absolute;z-index:2147482000;width:min(460px,calc(100vw - 24px));max-height:240px;overflow:auto;background:var(--f-panel);border:1px solid var(--f-border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:8px;display:flex;flex-wrap:wrap;align-items:center;gap:2px}
/* Смайлы разной ширины — по ширине картинки, а не ровной сеткой: широкие наезжали на соседей */
.sm-pan button{border:0;background:none;border-radius:6px;height:36px;min-width:36px;cursor:pointer;padding:0 4px}
.sm-pan button:hover{background:var(--f-panel3)}
.f-tline{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px}
.f-tline .f-title{margin:0;flex:1}
.f-tsm{position:relative;flex:none}
.f-tsm summary{list-style:none;width:44px;height:44px;border:1px solid var(--f-border);border-radius:10px;background:var(--f-panel);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:var(--f-muted)}
.f-tsm summary::-webkit-details-marker{display:none}
.f-tsm[open] summary{border-color:var(--f-acc)}
.f-tsm-p{position:absolute;z-index:20;left:0;top:50px;width:min(460px,90vw);max-height:280px;overflow:auto;background:var(--f-panel);border:1px solid var(--f-border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:8px;display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.f-tsm-h{width:100%;font-size:12px;color:var(--f-muted);margin:0 0 4px}
.f-tsm-p label{margin:0;height:38px;min-width:38px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-weight:400}
.f-tsm-p label:hover{background:var(--f-panel3)}
.f-tsm-p input{position:absolute;opacity:0;pointer-events:none}
.f-tsm-p label:has(input:checked){background:rgba(236,7,7,.12);box-shadow:inset 0 0 0 1px var(--f-acc)}
.f-tsm-p .nos{padding:0 10px;font-size:12px;color:var(--f-text2)}
/* оценки */
.fv{position:relative;display:inline-flex;align-items:center;gap:2px;margin-left:auto}
.fv-b{border:1px solid var(--f-border);background:var(--f-panel);color:var(--f-muted);border-radius:6px;width:30px;height:26px;cursor:pointer;font-size:12px;line-height:1;padding:0}
.fv-b:hover{border-color:var(--f-acc);color:var(--f-acc)}
.fv-b.on{background:var(--f-acc);border-color:var(--f-acc);color:#fff}
.fv.voted .fv-b,.fv.off .fv-b{cursor:default}.fv.voted .fv-b:not(.on):hover,.fv.off .fv-b:hover{border-color:var(--f-border);color:var(--f-muted)}
.fv-n{min-width:32px;text-align:center;font-weight:700;font-size:13px;color:var(--f-muted)}
.fv-n.up{color:var(--f-good)}.fv-n.down{color:#c0392b}
.fv-msg{position:absolute;right:0;bottom:calc(100% + 9px);z-index:30;max-width:260px;width:max-content;padding:7px 11px;border-radius:7px;
  background:#1f2833;color:#f4f7fa;font-size:12px;line-height:1.35;text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.25);
  opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .15s,transform .15s}
.fv-msg:after{content:'';position:absolute;right:22px;top:100%;border:6px solid transparent;border-top-color:#1f2833}
.fv-msg.show{opacity:1;transform:none;pointer-events:auto}
.fv-msg a{color:#ffb3b3;font-weight:700}
.f-thead-top{display:flex;align-items:center;gap:10px}
.tc-r{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px}
.lk{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--f-muted)}
.lk.up{color:var(--f-good)}.lk.down{color:#c0392b}
/* окно входа — страница /me/?embed=1 во фрейме, как у лайков отзывов */
.f-m{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;padding:16px}
.f-m.on{display:flex}
.f-m-box{background:var(--f-panel);color:var(--f-text);border-radius:12px;width:100%;max-width:600px;box-shadow:0 14px 44px rgba(0,0,0,.4);overflow:hidden}
.f-m-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 18px;border-bottom:1px solid var(--f-border4);font-weight:700}
.f-m-x{border:0;background:none;font-size:26px;line-height:1;color:inherit;opacity:.6;cursor:pointer;padding:0 4px}.f-m-x:hover{opacity:1}
.f-m iframe{display:block;width:100%;height:min(560px,calc(100vh - 110px));border:0;background:transparent}
/* страницы */
.fp{display:flex;gap:4px;align-items:center;flex-wrap:wrap;font-size:14px;margin:12px 0}
.fp a,.fp b{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border-radius:6px;border:1px solid var(--f-border);background:var(--f-panel);text-decoration:none}
.fp b{background:var(--f-acc);border-color:var(--f-acc);color:#fff}
.fp span{color:var(--f-muted)}
/* тема */
.f-thead{background:var(--f-panel);border:1px solid var(--f-border);border-radius:12px;padding:16px;margin-bottom:14px}
.f-thead h1{font-size:26px;line-height:1.25;margin:4px 0 8px}
.f-thead .nav{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto}
.pc{background:var(--f-panel);border:1px solid var(--f-border);border-radius:12px;margin-bottom:12px;scroll-margin-top:70px}
.pc:target{box-shadow:0 0 0 2px var(--f-acc)}
.pc-h{display:flex;align-items:center;gap:12px;padding:12px 16px}
.pc-h .av{width:48px;height:48px}
.pc-h .who{min-width:0}.pc-h .who > div{font-size:12px;color:var(--f-muted);margin-top:2px}
.pc-h .n{margin-left:auto;font-size:12px;color:var(--f-muted);text-decoration:none;align-self:flex-start}
.pc-b{padding:12px 16px 14px 76px;word-wrap:break-word;overflow-wrap:anywhere}
.pc-b blockquote.fq{margin:4px 0 10px;padding:8px 12px;border-left:3px solid var(--f-acc);background:var(--f-panel3);border-radius:0 6px 6px 0;font-size:14px;color:var(--f-text2)}
.pc-b > blockquote.fq:first-child{margin-top:0}
.fq-go{margin-left:4px;text-decoration:none;font-weight:700}
/* Своя ссылка в сообщении — названием страницы (Forum::linkTitle) */
.f-own,.f-log{font-weight:600}
/* Упоминание @Ник (ForumNotes::MENTION_RE) */
.f-at{white-space:nowrap}
/* Подсказка при вводе @ (forum.js) */
.fe{position:relative}
.f-mn{position:absolute;z-index:1000;min-width:220px;max-width:calc(100vw - 16px);max-height:280px;overflow:auto;background:var(--f-panel,#fff);border:1px solid var(--f-border,#d0d7de);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.15);padding:4px}
.f-mn button{display:block;width:100%;text-align:left;border:0;border-radius:5px;background:transparent;padding:6px 10px;cursor:pointer;color:inherit;white-space:nowrap}
.f-mn button.on,.f-mn button:hover{background:var(--f-panel3,#eef1f4)}
.f-mn a{pointer-events:none}
.pc-b blockquote.fq blockquote.fq{margin:6px 0;font-size:13px;border-left-color:var(--f-border)}
.pc-b blockquote.fq.fq-fold{display:none}
.pc-b blockquote.fq.fq-long{max-height:170px;overflow:hidden;position:relative}
.pc-b blockquote.fq.fq-long:after{content:'';position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(transparent,var(--f-panel3))}
.fq-more{display:block;border:0;background:none;padding:0;margin:0 0 6px;color:var(--f-link);font-size:12px;cursor:pointer}
.fq-more:hover{text-decoration:underline}
.fq-all{display:block;margin:-6px 0 10px}
.fq-pop{position:absolute;z-index:2147481000;border:0;border-radius:8px;background:#1f2833;color:#f4f7fa;padding:7px 12px;box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer}
:where(body:not(.kodg-lite)) .fq-pop{font:700 13px "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
.fq-pop:hover{background:var(--f-acc)}
.pc-b blockquote.fq cite{display:block;font-style:normal;font-size:12px;color:var(--f-muted);margin-bottom:2px}
.pc .fed{font-size:12px;color:var(--f-muted);padding:0 16px 8px 76px}
.pc-hid{padding:12px 16px 12px 76px;color:#c0392b;font-size:14px}
.pc-hid + .pc-b{padding-top:0}
.pc.is-hid .pc-b{color:var(--f-muted)}
.pc.op{border-color:rgba(236,7,7,.4)}.pc.op .pc-h{background:linear-gradient(90deg,rgba(236,7,7,.06),transparent);border-radius:12px 12px 0 0}
.role{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}
.role-pal{background:rgba(47,111,192,.15);color:#2f6fc0}
.role-ico{display:inline-block;margin-left:6px;vertical-align:-6px;line-height:0;cursor:help}
.role-ico .f-sheriff{filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.role-sh{background:rgba(180,83,9,.15);color:#b45309}
.pc-f{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:8px 16px 10px 76px;border-top:1px solid var(--f-border4);font-size:12px}
.fr .pc-f a,.pc-f summary{color:var(--f-muted);cursor:pointer;text-decoration:none}
.fr .pc-f a:hover,.pc-f summary:hover{color:var(--f-acc)}
.pc-f details{display:inline}.pc-f details[open]{display:block;width:100%}
.pc-f summary{list-style:none}.pc-f summary::-webkit-details-marker{display:none}
.pc-f details form{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pc-f details input[type=text],.pc-f details select{height:32px;padding:0 10px;border:1px solid var(--f-border);border-radius:6px;background:var(--f-bg);color:var(--f-text)}
:where(body:not(.kodg-lite)) .pc-f details input[type=text],:where(body:not(.kodg-lite)) .pc-f details select{font:13px "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
.pc-f details input[type=text]{flex:1 1 220px}
.pc-f .fe{width:100%}
.fclosed{margin:14px 0;padding:10px 14px;border:1px dashed #c0392b;border-radius:10px;color:#c0392b;font-weight:700;text-align:center}
/* редактор */
.fe{border:1px solid var(--f-border);border-radius:10px;background:var(--f-panel);overflow:hidden}
.fe:focus-within{border-color:var(--f-acc);box-shadow:0 0 0 3px rgba(236,7,7,.10)}
.fe-bar{display:flex;align-items:center;gap:4px;padding:6px;border-bottom:1px solid var(--f-border4);background:var(--f-panel6)}
.fe-bar .mk{width:32px;height:28px;border:0;border-radius:5px;background:transparent;color:var(--f-text2);cursor:pointer}
:where(body:not(.kodg-lite)) .fe-bar .mk{font:14px "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
.fe-bar .mk:hover{background:var(--f-panel3)}
.fe-bar .mk-cnt{margin-left:auto;font-size:12px;color:var(--f-muted);padding-right:6px}
.fe-bar .mk-cnt.near{color:#e8590c}.fe-bar .mk-cnt.full{color:#c0392b}
.fe textarea{display:block;width:100%;border:0;outline:none;resize:vertical;padding:12px;background:var(--f-panel);color:var(--f-text);min-height:120px}
:where(body:not(.kodg-lite)) .fe textarea{font:15px/1.5 "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
.fe-foot{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;padding:8px 12px;border-top:1px solid var(--f-border4);font-size:13px;color:var(--f-muted)}
.f-form{margin:0}
.f-title{width:100%;height:44px;padding:0 12px;border:1px solid var(--f-border);border-radius:10px;background:var(--f-panel);color:var(--f-text);margin:0 0 10px;outline:none}
:where(body:not(.kodg-lite)) .f-title{font:16px "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
.f-title:focus{border-color:var(--f-acc);box-shadow:0 0 0 3px rgba(236,7,7,.10)}
.f-note{display:flex;gap:10px;align-items:flex-start;background:var(--f-panel);border:1px solid var(--f-border);border-radius:12px;padding:14px 16px;font-size:14px}
.f-note .glyphicon{color:var(--f-acc);margin-top:3px}
.f-msg{border-radius:10px;padding:10px 14px;margin:0 0 12px;font-size:14px;border:1px solid}
.f-msg.bad{border-color:rgba(192,57,43,.4);background:rgba(192,57,43,.08);color:#c0392b}
.f-msg.good{border-color:rgba(28,122,68,.4);background:rgba(28,122,68,.08);color:var(--f-good)}
.f-empty{background:var(--f-panel);border:1px dashed var(--f-border);border-radius:12px;padding:22px;text-align:center;color:var(--f-muted)}
/* форма поиска */
.fs-form{background:var(--f-panel);border:1px solid var(--f-border);border-radius:12px;padding:16px 18px;margin-bottom:14px}
.fs-q{position:relative;display:flex;gap:8px;margin-bottom:14px}
.fs-q .glyphicon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--f-muted);pointer-events:none}
.fs-form input[type=search],.fs-form input[type=date],.fs-form input[type=text],.fs-form select{
  height:40px;padding:0 11px;border:1px solid var(--f-border);border-radius:6px;background:var(--f-bg);color:var(--f-text);width:100%;outline:none}
:where(body:not(.kodg-lite)) .fs-form input[type=search],:where(body:not(.kodg-lite)) .fs-form input[type=date],:where(body:not(.kodg-lite)) .fs-form input[type=text],:where(body:not(.kodg-lite)) .fs-form select{font:14px "KodgLato","Helvetica Neue",Helvetica,Arial,sans-serif}
/* Выбор клана сам отодвигает текст под значки (kodg-pick.css) — общее правило полей выше не должно это перебивать */
.fs-form .kp-face .kp-in{padding-left:var(--kp-pad,12px);padding-right:30px}
.fs-form input:focus,.fs-form select:focus{border-color:var(--f-acc);box-shadow:0 0 0 3px rgba(236,7,7,.12)}
.fs-q input[type=search]{height:46px;padding-left:38px;font-size:16px;flex:1}
.fs-q .btn{height:46px;padding:0 26px;font-size:15px}
.fs-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.fld{display:flex;flex-direction:column;gap:4px;min-width:0}.fld > label{font-size:12px;color:var(--f-muted);margin:0;font-weight:400}
.fs-period{display:flex;align-items:center;gap:6px;min-width:0}.fs-period input[type=date]{flex:1 1 0;min-width:0;padding:0 6px}.fs-period span{color:var(--f-muted)}
.fs-seg{display:flex;border:1px solid var(--f-border);border-radius:6px;overflow:hidden;height:40px}
.fs-seg label{flex:1;margin:0;cursor:pointer;font-weight:400}
.fs-seg input,.fs-chk input{position:absolute;opacity:0;pointer-events:none}
.fs-seg span{display:flex;align-items:center;justify-content:center;height:100%;font-size:14px;color:var(--f-text2);background:var(--f-bg)}
.fs-seg label + label span{border-left:1px solid var(--f-border)}
.fs-seg input:checked + span{background:var(--f-acc);color:#fff;font-weight:700}
.fs-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fs-chk{margin:0;cursor:pointer;font-weight:400}
.fs-chk span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--f-border);border-radius:20px;font-size:13px;color:var(--f-text2)}
.fs-chk span:before{content:'';width:14px;height:14px;border:1px solid var(--f-border);border-radius:3px;background:var(--f-panel)}
.fs-chk input:checked + span{border-color:var(--f-acc);color:var(--f-text)}
.fs-chk input:checked + span:before{background:var(--f-acc);border-color:var(--f-acc);box-shadow:inset 0 0 0 2px var(--f-panel)}
.fs-reset{margin-left:auto;font-size:13px}
.fs-found{color:var(--f-muted);margin:0 0 10px}
@media (max-width:760px){
  .f-hero-s{margin:0;width:100%;justify-content:space-between}
  .f-hero-b{width:100%}.f-hero-b .btn{flex:1;justify-content:center}
  .f-grid{grid-template-columns:1fr}
  .tc{padding:12px;gap:10px}.tc .av{width:36px;height:36px}.fr a.bub{min-width:48px}.bub b{font-size:16px}
  .tc p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .pc-b,.pc-f,.pc-hid,.pc .fed{padding-left:16px}
  .f-head .btns{width:100%}.f-head .btns .btn{flex:1;justify-content:center}
  .f-head h1,.f-thead h1{font-size:23px}
  .fs-row{grid-template-columns:1fr}.fs-q .btn{padding:0 16px}
}
/* ---------- Лёгкая версия: плоско, в духе чистого Bootstrap 3 — без фона, теней, градиентов и образов ---------- */
:where(.kodg-lite) .f-lite-head{padding-bottom:0}
:where(.kodg-lite) .f-lite-head h1{font:500 30px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;margin:10px 0 6px}
:where(.kodg-lite) .f-lite-head h1 small{font-size:15px;color:#777}
:where(.kodg-lite) .f-lite-stats{color:#777;margin:0 0 4px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
:where(.kodg-lite) .f-lite-stats .btn:first-of-type{margin-left:auto}
:where(.kodg-lite) .f-lite-brand{margin:10px 0 0;font-size:13px}
:where(.kodg-lite) .fr h1,:where(.kodg-lite) .fr h2{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:0}
:where(.kodg-lite) .f-tabs a,:where(.kodg-lite) .chips span,:where(.kodg-lite) .chips a{border-radius:4px}
:where(.kodg-lite) .f-tabs a{background:#fff;border-color:#ddd;color:#337ab7}
:where(.kodg-lite) .f-tabs a.on{background:#337ab7;border-color:#337ab7;color:#fff}
:where(.kodg-lite) .f-tabs .f-ico{display:none}
:where(.kodg-lite) .sc,:where(.kodg-lite) .tc,:where(.kodg-lite) .pc,:where(.kodg-lite) .f-thead,:where(.kodg-lite) .f-note,:where(.kodg-lite) .fs-form,:where(.kodg-lite) .fe,:where(.kodg-lite) .f-empty,:where(.kodg-lite) .f-title{border-radius:4px;box-shadow:none !important}
:where(.kodg-lite) .sc:hover{transform:none}
:where(.kodg-lite) .sico{width:auto;height:auto;background:none;color:#c40606;border-radius:0}
:where(.kodg-lite) .tc.pin{box-shadow:inset 3px 0 0 #c9302c !important}
:where(.kodg-lite) .pc.op{border-color:#ebccd1}:where(.kodg-lite) .pc.op .pc-h{background:#f2dede;border-radius:3px 3px 0 0}
:where(.kodg-lite) .pc-b,:where(.kodg-lite) .pc-f,:where(.kodg-lite) .pc-hid,:where(.kodg-lite) .pc .fed{padding-left:16px}
:where(.kodg-lite) .fr a.bub{border-radius:4px}
:where(.kodg-lite) .fp a,:where(.kodg-lite) .fp b{border-radius:4px}
:where(.kodg-lite) .fp b{background:#337ab7;border-color:#337ab7}
:where(.kodg-lite) .fr .btn{border-radius:4px}
:where(.kodg-lite) .fr .btn:not(.ghost):not(.btn-default){background:#d9534f}:where(.kodg-lite) .fr .btn:not(.ghost):not(.btn-default):hover{background:#c9302c}
:where(.kodg-lite) .fr .btn.btn-default{background:#fff;color:#333;border:1px solid #ccc}:where(.kodg-lite) .fr .btn.btn-default:hover{background:#e6e6e6;color:#333}
:where(.kodg-lite) .tag{border-radius:3px}
:where(.kodg-lite) .fe-bar{background:#f5f5f5}
:where(.kodg-lite) .f-m-box{border-radius:6px}
:where(.kodg-lite) .av{display:none}
