@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(/css/barlow-semi-condensed-latin-500.0d751379.woff2) format('woff2')}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/css/barlow-semi-condensed-latin-600.f158417e.woff2) format('woff2')}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/css/barlow-semi-condensed-latin-700.fb958c8c.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(/css/barlow-latin-400.b0a8ad37.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(/css/barlow-latin-500.cd759df8.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(/css/barlow-latin-600.4b52ddd4.woff2) format('woff2')}
@font-face{font-family:'Fira Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/css/fira-mono-latin-400.8d1e7535.woff2) format('woff2')}
@font-face{font-family:'Fira Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/css/fira-mono-latin-500.291f90e3.woff2) format('woff2')}
@font-face{font-family:'Fira Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/css/fira-mono-latin-700.f08b6596.woff2) format('woff2')}

.tl-grid{--cols:4;--gap:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap)}
.tl-grid > *{flex:0 1 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));min-width:0}
@media (max-width:1100px){.tl-grid > *{flex-basis:calc((100% - 2 * var(--gap)) / 3)}}
@media (max-width:760px){.tl-grid > *{flex-basis:calc((100% - var(--gap)) / 2)}}
@media (max-width:460px){.tl-grid > *{flex-basis:100%}}
/* even — ровные ряды: карточки одной высоты, неполный последний ряд
   центрируется базовым justify-content. Правило существует и потому, что
   класс без единого правила в CSS означает потерянный при порте стиль, и
   общий свод справедливо на это краснеет. */
.tl-grid.even{align-items:stretch}
.tl-grid.even > *{flex-grow:0}
.tl-grid.rail{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory}
.tl-grid.rail > *{scroll-snap-align:start;flex:0 0 260px}
[hidden]{display:none!important}

.tl-tscroll{overflow-x:auto;max-width:100%;min-width:0}
table.tl-t{width:100%;border-collapse:collapse;min-width:560px}
table.tl-t td.num{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:640px){
 table.tl-t{min-width:0}
 table.tl-t thead{position:absolute;left:-9999px}
 table.tl-t tr{display:block;margin-bottom:12px}
 table.tl-t td{display:flex;justify-content:space-between;gap:12px}
 table.tl-t td::before{content:attr(data-label);font-weight:600}
}

.tl-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.tl-pager{display:flex;gap:8px;flex-wrap:wrap}
.tl-filters{display:flex;gap:8px;flex-wrap:wrap}
.tl-chip[aria-pressed="true"]{font-weight:600}
.tl-field{display:flex;flex-direction:column;gap:6px}
.tl-zoom{border:0;padding:0;max-width:96vw;max-height:96vh}
.tl-zoom img{display:block;max-width:96vw;max-height:96vh;height:auto}
.tl-gal{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.tl-gal > *{flex:0 1 calc((100% - 32px) / 3);min-width:0}
@media (max-width:700px){.tl-gal > *{flex-basis:100%}}
.tl-shot-link{position:relative;display:block}
.tl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0}
.tl-card{display:flex;flex-direction:column;min-width:0}


:root{
  --paper:#fcfcfc; --panel:#f2f3f5; --sand:#f0e7df;
  --ink:#14161a; --ink-2:#4a5058; --ink-3:#62676e;
  --navy:#162463; --navy-2:#20347f; --navy-soft:#e7eaf4;
  --line:#dcdde0; --line-2:#c7c9cd; --ctl:#8b9099;
  --on-ink:#f7f8f9; --on-navy:#ffffff;
  --ok:#1d5c3a;
  --wrap:1180px; --gut:16px;
  --r:3px;
  --fs:'Barlow Semi Condensed',system-ui,sans-serif;
  --ft:'Barlow',system-ui,sans-serif;
  --fm:'Fira Mono',ui-monospace,monospace;
}


*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--ft);
  font-synthesis-weight:none;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--fs);font-weight:700;line-height:1.1;margin:0 0 .5em;letter-spacing:.005em}
h1{font-size:clamp(34px,5vw,54px)}
h2{font-size:clamp(26px,3.4vw,38px)}
h3{font-size:clamp(20px,2.2vw,25px)}
h4{font-size:18px;font-weight:600}
p{margin:0 0 1em}
.tl-wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
@media(min-width:900px){:root{--gut:24px}}
.tl-eyebrow{font-family:var(--fs);font-weight:600;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--navy);margin:0 0 10px}
.tl-lede{font-size:19px;color:var(--ink-2)}
/* Служебная подпись поля: не «уехать за экран на 9999px» (страж «текст вне
   полосы» справедливо это ловит), а нулевой бокс без выноса за полосу. */
.tl-skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  clip-path:inset(50%);white-space:nowrap}
.tl-skip:focus{width:auto;height:auto;clip:auto;clip-path:none;left:8px;top:8px;
  background:var(--ink);color:var(--on-ink);padding:8px 12px;z-index:60}
:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
[hidden]{display:none!important}


.tl-util{background:var(--ink);color:var(--on-ink);font-family:var(--fs);font-size:13px;
  letter-spacing:.06em;text-transform:uppercase}
.tl-util .tl-wrap{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;
  justify-content:space-between;min-height:34px;padding-top:6px;padding-bottom:6px}
.tl-util a{color:var(--on-ink);text-decoration:none;border-bottom:1px solid #5a6069}
.tl-util a:hover{border-bottom-color:var(--on-ink)}
.tl-util-r{display:flex;gap:18px;flex-wrap:wrap;color:#b9bec6}

.tl-masthead{background:var(--paper);border-bottom:1px solid var(--line)}
.tl-masthead .tl-wrap{display:flex;align-items:center;gap:16px;
  justify-content:space-between;min-height:74px}
.tl-mark{font-family:var(--fs);font-weight:700;font-size:30px;letter-spacing:.2em;
  text-transform:uppercase;text-decoration:none;color:var(--ink);white-space:nowrap}
.tl-mark span{color:var(--navy)}
.tl-search{display:flex;min-width:0;max-width:330px;flex:1 1 220px}
.tl-search input{flex:1 1 auto;min-width:0;border:1px solid var(--ctl);border-right:0;
  border-radius:var(--r) 0 0 var(--r);padding:9px 12px;font:400 15px var(--ft);background:#fff;color:var(--ink)}
.tl-search button{border:0;background:var(--navy);color:var(--on-navy);font:600 13px/1 var(--fs);
  letter-spacing:.12em;text-transform:uppercase;padding:0 16px;border-radius:0 var(--r) var(--r) 0;cursor:pointer}
.tl-search button:hover{background:var(--navy-2)}
.tl-burger{display:none;border:1px solid var(--ctl);background:#fff;color:var(--ink);
  font:600 13px/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;
  border-radius:var(--r);cursor:pointer}

.tl-nav{background:var(--navy);color:var(--on-navy)}
.tl-nav ul{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0}
.tl-nav a{display:block;padding:13px 16px;color:var(--on-navy);text-decoration:none;
  font:600 14px/1 var(--fs);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.tl-nav a:hover{background:var(--navy-2)}
.tl-nav a[aria-current="page"]{background:#fff;color:var(--navy)}
.tl-drawer{background:var(--navy)}
.tl-drawer ul{display:block;list-style:none;margin:0;padding:6px 0}
.tl-drawer a{display:block;padding:11px 0;color:var(--on-navy);text-decoration:none;
  font:600 15px/1 var(--fs);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #2b3a7a}
@media(max-width:860px){
  .tl-burger{display:inline-block}
  .tl-nav{display:none}
  .tl-masthead .tl-wrap{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
  .tl-search{order:3;max-width:none;flex-basis:100%}
}
@media(min-width:861px){.tl-drawer{display:none}}


.tl-hero{background:var(--sand);border-bottom:1px solid var(--line)}
.tl-hero .tl-wrap{display:grid;gap:26px 34px;padding-top:34px;padding-bottom:34px;
  grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){
  .tl-hero .tl-wrap{grid-template-columns:minmax(0,5fr) minmax(0,5fr);align-items:center;
    padding-top:40px;padding-bottom:40px}
}
.tl-hero h1{margin-bottom:14px}
.tl-hero p{color:var(--ink-2);max-width:46ch}
.tl-hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tl-mosaic{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:620px){.tl-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tl-tile{position:relative;display:block;text-decoration:none;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tl-tile img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
/* Пропорция плитки СОВПАДАЕТ с пропорцией кадра (4:5), поэтому object-fit
   ничего не режет. Квадратные плитки экономили высоту, но резали кадр на
   пятую часть, а §4.0 старше экономии: первая карточка товара уводится в
   первый экран не обрезкой, а более узкой колонкой мозаики. */
/* Светлый текст поверх фотографии обязан читаться и БЕЗ фотографии (правило
   владельца 25.08, homemate): у подписи свой тёмный фон, а градиент лежит
   поверх него вуалью. Кадр не приедет — подпись всё равно читаема. */
.tl-tilecap{position:absolute;left:0;right:0;bottom:0;background-color:#0a0c10;
  background-image:linear-gradient(to top,rgba(10,12,16,.96) 0%,rgba(10,12,16,.86) 60%,rgba(10,12,16,.55) 100%);
  color:#fff;padding:14px 12px 10px;font:600 15px/1.2 var(--fs);letter-spacing:.07em;text-transform:uppercase}
.tl-tilecap small{display:block;font:400 12px/1.35 var(--ft);letter-spacing:.02em;
  text-transform:none;color:#d8dbe1;margin-top:3px;text-shadow:0 1px 2px rgba(10,12,16,.9)}
.tl-tile:hover{border-color:var(--navy)}


.tl-facts{background:var(--ink);color:var(--on-ink)}
.tl-facts ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;
  list-style:none;margin:0;padding:22px 0}
@media(min-width:760px){.tl-facts ul{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tl-facts b{display:block;font:700 30px/1 var(--fm);color:#fff;margin-bottom:5px}
.tl-facts span{font:400 14px/1.35 var(--ft);color:#b9bec6}


.tl-sect{padding:44px 0}
.tl-sect.alt{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tl-sect.dark{background:var(--ink);color:var(--on-ink)}
.tl-sect.dark h2,.tl-sect.dark h3{color:#fff}
.tl-sect.dark p{color:#c3c8cf}
.tl-head{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:baseline;
  justify-content:space-between;margin-bottom:20px}
.tl-head h2{margin:0}
.tl-more{font:600 13px/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;
  color:var(--navy);text-decoration:none;border-bottom:2px solid var(--navy);padding-bottom:3px}
.tl-sect.dark .tl-more{color:#fff;border-bottom-color:#fff}


.tl-grid{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:0;padding:0;list-style:none}
.tl-grid>li{flex:0 1 356px;min-width:0;max-width:356px}
@media(max-width:760px){.tl-grid{gap:18px}.tl-grid>li{flex-basis:260px;max-width:none}}
@media(max-width:520px){.tl-grid>li{flex-basis:100%}}
.tl-card{display:flex;flex-direction:column;height:100%;min-width:0;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tl-card:hover{border-color:var(--line-2)}
.tl-gcard{display:flex;flex-direction:column;height:100%;min-width:0;background:var(--navy-soft);
  border:1px solid #c9d0e6;border-radius:var(--r);overflow:hidden}
.tl-shot{display:block;background:var(--paper);border-bottom:1px solid var(--line)}
.tl-shot img{width:100%;aspect-ratio:4/5;object-fit:cover}
.tl-cbody{display:flex;flex-direction:column;gap:7px;padding:14px 15px 16px;flex:1 1 auto;min-width:0}
.tl-cname{font:600 19px/1.22 var(--fs);margin:0}
.tl-cname a{text-decoration:none}
.tl-cname a:hover{text-decoration:underline}
.tl-purpose{font:400 14.5px/1.45 var(--ft);color:var(--ink-2);margin:0}
.tl-spec{font:500 12px/1 var(--fs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0}
.tl-dots{display:flex;gap:6px;align-items:center;margin:0;padding:0;list-style:none}
.tl-dots li{width:16px;height:16px;border-radius:50%;border:1px solid var(--line-2)}
.tl-dots .more{width:auto;height:auto;border:0;font:500 12px/1 var(--fm);color:var(--ink-3);align-self:center}
.tl-rate{font:400 13.5px/1 var(--ft);color:var(--ink-2);margin:0}
.tl-crow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:9px}
.tl-price{font:700 21px/1 var(--fm);letter-spacing:-.04em;color:var(--ink);white-space:nowrap}
/* Подпись размеров под ценой держит ВЫСОТУ ВСЕГДА: у линии без диапазона она
   пустая, и без резерва цена соседей по ряду вставала на разной высоте
   (страж rowBaseline, урок eytino). */
.tl-price small{font:400 12px/1.25 var(--ft);color:var(--ink-3);display:block;margin-top:3px;min-height:15px}


.tl-btn{display:inline-block;background:var(--navy);color:var(--on-navy);text-decoration:none;
  font:600 13.5px/1 var(--fs);letter-spacing:.1em;text-transform:uppercase;padding:12px 17px;
  border:1px solid var(--navy);border-radius:var(--r);cursor:pointer;text-align:center}
.tl-btn:hover{background:var(--navy-2);border-color:var(--navy-2)}
.tl-btn.ghost{background:transparent;color:var(--navy)}
.tl-btn.ghost:hover{background:var(--navy-soft)}
.tl-btn.wide{display:block;width:100%}
.tl-btn.small{padding:10px 13px;font-size:13px}
.tl-outnote{font:400 12px/1.3 var(--ft);color:var(--ink-3);margin:7px 0 0}


.tl-cols{columns:2;column-gap:44px}
.tl-cols p{break-inside:avoid}
@media(max-width:820px){.tl-cols{columns:1}}
.tl-split{display:grid;gap:22px 38px;grid-template-columns:minmax(0,1fr)}
@media(min-width:860px){.tl-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .tl-split.wide-left{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
  .tl-split.wide-right{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}}
.tl-split figure{margin:0}
.tl-split figure img{width:100%;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.tl-split figcaption{font:400 13px/1.4 var(--ft);color:var(--ink-3);margin-top:8px}
.tl-note{border-left:3px solid var(--navy);background:var(--navy-soft);padding:14px 16px;margin:0 0 18px}
.tl-note p:last-child{margin-bottom:0}
.tl-sect.dark .tl-note{background:#1d2027;border-left-color:#7d8dc9}
blockquote.tl-quote{margin:0 0 18px;padding:14px 16px;background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--ink)}
blockquote.tl-quote p{font-style:normal}
blockquote.tl-quote cite{display:block;font:400 13px/1.4 var(--ft);color:var(--ink-3);font-style:normal;margin-top:8px}


.tl-tablewrap{min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
table.tl-table{border-collapse:collapse;width:100%;min-width:480px;font:400 15px/1.4 var(--ft)}
table.tl-table th,table.tl-table td{padding:10px 13px;text-align:left;border-bottom:1px solid var(--line)}
table.tl-table th{font:600 12px/1.2 var(--fs);letter-spacing:.1em;text-transform:uppercase;
  background:var(--panel);color:var(--ink-2);white-space:nowrap}
table.tl-table td.num{font-family:var(--fm);font-size:14px;white-space:nowrap}
table.tl-table tr:last-child td{border-bottom:0}
/* На узком экране таблица не прокручивается за полосу, а складывается в
   строки: прокрутка честно работает, но текст уезжает за край полосы, и
   страж «текст вне полосы» прав — покупатель его там не ищет. */
@media(max-width:560px){
  .tl-tablewrap{overflow-x:visible;border:0;background:transparent}
  table.tl-table{min-width:0;display:block}
  table.tl-table thead{display:none}
  table.tl-table tbody,table.tl-table tr,table.tl-table td{display:block;width:auto}
  table.tl-table tr{border:1px solid var(--line);border-radius:var(--r);background:#fff;
    margin-bottom:10px;padding:4px 2px}
  table.tl-table td{border-bottom:1px solid var(--line);padding:8px 12px}
  table.tl-table td::before{content:attr(data-th);display:block;font:600 11px/1.3 var(--fs);
    letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}
  table.tl-table tr td:last-child{border-bottom:0}
}


.tl-pdp{display:grid;gap:26px 40px;grid-template-columns:minmax(0,1fr);padding:30px 0 10px}
@media(min-width:900px){.tl-pdp{grid-template-columns:minmax(0,560px) minmax(0,1fr);align-items:start}}
.tl-pdp-shot{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  max-width:600px}
.tl-pdp-shot img{width:100%;aspect-ratio:4/5;object-fit:cover}
.tl-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.tl-thumbs button{padding:0;border:1px solid var(--ctl);background:var(--paper);border-radius:var(--r);
  cursor:pointer;width:72px;overflow:hidden;line-height:0}
.tl-thumbs button[aria-current="true"]{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.tl-thumbs img{width:72px;aspect-ratio:4/5;object-fit:cover}
.tl-buybox{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:18px}
.tl-buybox .tl-price{font-size:30px;display:block;margin-bottom:4px}
.tl-vars{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.tl-vars a,.tl-vars span{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ctl);
  border-radius:var(--r);padding:7px 11px;text-decoration:none;font:500 14px/1 var(--ft);color:var(--ink);background:#fff}
.tl-vars a:hover{border-color:var(--navy)}
.tl-vars .on{border-color:var(--navy);background:var(--navy-soft);font-weight:600}
.tl-swatch{width:14px;height:14px;border-radius:50%;border:1px solid var(--line-2);display:inline-block}
.tl-keyfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;
  margin:0 0 18px;padding:0;list-style:none}
.tl-keyfacts li{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;background:var(--panel);min-height:66px}
.tl-keyfacts b{display:block;font:600 12px/1.2 var(--fs);letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:4px}
.tl-keyfacts span{font:500 15px/1.3 var(--ft)}


.tl-revs{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:0;padding:0;list-style:none}
.tl-revs>li{flex:0 1 356px;min-width:0;max-width:356px}
@media(max-width:520px){.tl-revs>li{flex-basis:100%;max-width:none}}
.tl-rev{height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}
.tl-rev h3{font:600 17px/1.25 var(--fs);margin:0 0 7px}
.tl-rev p{font-size:15.5px;margin:0 0 10px}
.tl-rev h3{margin-bottom:6px}
.tl-rev footer{font:400 13px/1.4 var(--ft);color:var(--ink-3)}
.tl-score{font:700 13px/1 var(--fm);color:var(--navy);margin:0 0 7px}


.tl-crumbs{font:400 13.5px/1.4 var(--ft);color:var(--ink-3);padding:12px 0 0}
.tl-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.tl-crumbs li::after{content:"/";margin-left:6px;color:var(--line-2)}
.tl-crumbs li:last-child::after{content:""}
.tl-crumbs a{color:var(--navy)}


.tl-foot{background:var(--ink);color:#b9bec6;font-size:15px;margin-top:10px}
.tl-foot a{color:#e6e8eb;text-decoration:none}
.tl-foot a:hover{text-decoration:underline}
.tl-foot h4{font:600 12.5px/1 var(--fs);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 12px}
.tl-footgrid{display:grid;gap:26px 30px;grid-template-columns:repeat(2,minmax(0,1fr));padding:38px 0 22px}
@media(min-width:900px){.tl-footgrid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr)}}
.tl-footgrid div a{display:block;padding:4px 0}
.tl-addr{font-style:normal;line-height:1.7}
.tl-addr b{color:inherit;font-weight:600}
.tl-foot .tl-addr b{color:#fff}
.tl-map{width:100%;height:200px;border:1px solid #333;border-radius:var(--r);margin-top:12px;display:block}
.tl-fine{border-top:1px solid #2a2d33;padding:16px 0 30px;font-size:13.5px;color:#9aa0a8}
.tl-fine p{margin:0 0 6px}


.tl-fig{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.tl-fig svg{display:block;width:100%;height:auto}
.tl-figrows{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}
.tl-figrows li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;
  border-bottom:1px solid var(--line);padding-bottom:8px;font-size:15px}
.tl-bars li{grid-template-columns:minmax(90px,1.1fr) minmax(0,2fr) auto;align-items:center}
.tl-bars .bar{display:block;height:14px;background:var(--navy-soft);border-radius:2px;min-width:0}
.tl-bars .bar i{display:block;height:100%;background:var(--navy);border-radius:2px}
@media(max-width:520px){.tl-bars li{grid-template-columns:minmax(0,1fr) auto}
  .tl-bars .bar{grid-column:1/-1;margin-top:4px}}
.tl-figrows li:last-child{border-bottom:0}
.tl-figrows b{font:500 15px/1.3 var(--ft)}
.tl-figrows span{font:500 14px/1 var(--fm);color:var(--ink-2);white-space:nowrap}


.tl-searchpage input{width:100%;max-width:520px;border:1px solid var(--ctl);border-radius:var(--r);
  padding:11px 13px;font:400 17px var(--ft);background:#fff;color:var(--ink)}
.tl-shint{font:400 14px/1.4 var(--ft);color:var(--ink-3);margin:10px 0 22px}


.tl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.tl-chips button,.tl-chips a{display:inline-block;border:1px solid var(--ctl);background:#fff;
  color:var(--ink);border-radius:999px;padding:8px 14px;font:500 14px/1 var(--ft);cursor:pointer;text-decoration:none}
.tl-chips button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.tl-chips button:hover,.tl-chips a:hover{border-color:var(--navy)}
.tl-count{font:400 14px/1.4 var(--ft);color:var(--ink-3);margin:0 0 18px}
