
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-400-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-ext-400-normal.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/shrifty/golos-text-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/shrifty/golos-text-latin-ext-400-normal.woff2') format('woff2');
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-500-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-ext-500-normal.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/shrifty/golos-text-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/shrifty/golos-text-latin-ext-500-normal.woff2') format('woff2');
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:600; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-600-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:600; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-ext-600-normal.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:600; font-display:swap;
  src:url('/shrifty/golos-text-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:600; font-display:swap;
  src:url('/shrifty/golos-text-latin-ext-600-normal.woff2') format('woff2');
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-700-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-ext-700-normal.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/shrifty/golos-text-latin-700-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/shrifty/golos-text-latin-ext-700-normal.woff2') format('woff2');
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:800; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-800-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:800; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-ext-800-normal.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:800; font-display:swap;
  src:url('/shrifty/golos-text-latin-800-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:800; font-display:swap;
  src:url('/shrifty/golos-text-latin-ext-800-normal.woff2') format('woff2');
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:900; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-900-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:900; font-display:swap;
  src:url('/shrifty/golos-text-cyrillic-ext-900-normal.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:900; font-display:swap;
  src:url('/shrifty/golos-text-latin-900-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text'; font-style:normal; font-weight:900; font-display:swap;
  src:url('/shrifty/golos-text-latin-ext-900-normal.woff2') format('woff2');
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root {

  --tn-error: var(--tn-danger);

  --tn-dim:       var(--tn-text-subtle);
  --tn-liniya:    var(--tn-border);

  --tn-shadow-xs:    var(--tn-elev-1);
  --tn-shadow:       var(--tn-elev-1);
  --tn-shadow-xl:    var(--tn-elev-3);

  --tn-header-h: calc(var(--tn-verh-vysota) + var(--tn-verh-zazor));

}

body #tn-app *,
body #tn-app *::before,
body #tn-app *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body #tn-app button,
body #tn-app input,
body #tn-app select,
body #tn-app textarea { font: inherit; color: inherit; }
body #tn-app img,
body #tn-app svg { display: block; max-width: 100%; }
body #tn-app a { color: inherit; text-decoration: none !important; }
body #tn-app button {
  background: none; border: 0; padding: 0; cursor: pointer;
  font-family: inherit; color: inherit;
}

body #tn-app,
body #tn-app *,
body #tn-app *::before,
body #tn-app *::after {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  user-select: none !important;
  -webkit-tap-highlight-color: transparent;
}

body #tn-os,
body #tn-os * {
  -webkit-tap-highlight-color: transparent;
}
body #tn-app input,
body #tn-app textarea,
body #tn-app [contenteditable="true"] {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  user-select: text !important;
}

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; }

html { font-family: var(--tn-font) !important; }
body,
body #tn-app,
body #tn-os {
  font-family: var(--tn-font) !important;
  font-size: var(--tn-text-base);
  line-height: var(--tn-stroka-osnovnaya);
  color: var(--tn-text) !important;
}
body #tn-app {
  font-family: var(--tn-font) !important;
  font-size: var(--tn-text-base);
  line-height: var(--tn-stroka-osnovnaya);
  color: var(--tn-text) !important;
  
  background: var(--tn-bg) !important;
  background-attachment: fixed;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  position: relative;
  isolation: isolate;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body #tn-app .tn-skip-link {
  position: absolute;
  left: var(--tn-za-ekranom); top: var(--tn-gap-sm);
  z-index: 9999;
  padding: var(--tn-gap-sm) var(--tn-gap-md);
  background: var(--tn-primary) !important;
  color: var(--tn-text-inverse) !important;
  border-radius: var(--tn-radius);
  font-weight: var(--tn-ves-jirnyj);
  font-size: var(--tn-text-sm);
  box-shadow: var(--tn-shadow-md);
}
body #tn-app .tn-skip-link:focus { left: var(--tn-gap-md); }

body #tn-app :focus { outline: none; }
body #tn-app :focus-visible {
  outline: var(--tn-obvodka-akcent) solid var(--tn-primary-light) !important;
  outline-offset: var(--tn-gap-2xs);
}

body #tn-app .vt-head,
body #tn-app .tn-verh,
body #tn-os .tn-verh {
  
  gap: var(--tn-verh-zazor-vnutri);
  justify-content: flex-start;
  
  z-index: var(--tn-verh-sloj, 60);

  padding: calc(env(safe-area-inset-top) + var(--tn-verh-vozduh, 0px))
           calc(max(var(--tn-verh-pole), (100% - var(--os-scroll-w, 0px) - var(--tn-page)) / 2) + var(--os-scroll-w, 0px))
           var(--tn-verh-vozduh, 0px)
           max(var(--tn-verh-pole), calc((100% - var(--os-scroll-w, 0px) - var(--tn-page)) / 2)) !important;
  align-items: center;

  min-height: calc(env(safe-area-inset-top) + var(--tn-verh-vysota));
  box-sizing: border-box;
  
  display: flex;
  align-items: center;
}

body .tn-sp,
body #tn-os .os-sp { flex: 1 1 auto; align-self: stretch; }

body .tn-znak {
  display: inline-flex;
  align-items: center;
  
  gap: var(--tn-znak-zazor, 8px);

  padding: 0 var(--tn-verh-pole-znaka) 0 0 !important;
  
  min-height: var(--tn-znak-cel, 44px);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: inherit;
}

body .tn-znak,
body .tn-znak-mark { color: var(--tn-text); }

body .tn-znak-mark { flex: none; }

body .tn-znak-ikonka {
  width: var(--tn-verh-znak);
  height: var(--tn-verh-znak);
  
  transform: scale(var(--tn-znak-optika, 1));
  display: block;
  
  border-radius: var(--tn-znak-skruglenie, 6px);
  user-select: none;
}
body .tn-znak-mark svg { width: var(--tn-verh-znak); height: var(--tn-verh-znak); display: block; }

body .tn-znak-word {
  font-size: var(--tn-verh-imya);
  font-weight: var(--tn-imya-ves);

  line-height: 1;
  letter-spacing: var(--tn-imya-trekking, -.01em);
  color: var(--tn-text);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  align-self: center;
}

body #tn-os .tn-verh {
  gap: var(--tn-verh-zazor-vnutri);
}

html.tn-tel body #tn-os .tn-verh { gap: var(--tn-verh-zazor-tel); }

html.tn-tel body #tn-os .tn-verh,
html.tn-tel body #tn-app .vt-head,
html.tn-tel body #tn-app .tn-verh {

  min-height: calc(var(--tn-verh-vysota-tel) + env(safe-area-inset-top) + var(--tn-verh-vozduh));
}

@media (pointer: coarse), (hover: none) {
  body #tn-os .tn-verh,
  body #tn-app .vt-head,
  body #tn-app .tn-verh {
    min-height: calc(var(--tn-verh-vysota-tel) + env(safe-area-inset-top) + var(--tn-verh-vozduh));
  }
}

html:not(.tn-tel) body #tn-os .tn-verh,
html:not(.tn-tel) body #tn-app .vt-head,
html:not(.tn-tel) body #tn-app .tn-verh {
  
  min-height: calc(var(--tn-verh-vysota) + env(safe-area-inset-top));
}

@media (max-height: 520px) and (pointer: coarse), (max-height: 520px) and (hover: none){
  html.tn-tel body #tn-os .tn-verh,
  html.tn-tel body #tn-app .vt-head,
  html.tn-tel body #tn-app .tn-verh,
  body #tn-os .tn-verh,
  body #tn-app .vt-head,
  body #tn-app .tn-verh {
    min-height: calc(var(--tn-verh-vysota-nizko) + env(safe-area-inset-top) + var(--tn-verh-vozduh));
  }
}

body #tn-os .tn-verh,
body #tn-app .vt-head,
body #tn-app .tn-verh {
  background: var(--tn-kraya-poverhnost, var(--tn-surface)) !important;
  
  border-bottom: var(--tn-liniya-tolshchina, 1px) solid var(--tn-border) !important;
  transition: background var(--tn-transition);
  
  -webkit-backdrop-filter: var(--tn-verh-steklo, none);
  backdrop-filter: var(--tn-verh-steklo, none);
}
body #tn-app .vt-head,

body #tn-app .tn-verh,
body #tn-os .tn-verh {
  position: sticky;
  top: 0;
  z-index: var(--tn-verh-sloj, 60);
  width: 100%;
}

html.tn-tel body #tn-app .tn-verh,
html.tn-tel body #tn-os .tn-verh { z-index: var(--tn-verh-sloj-tel, 84); }

body #tn-app .tn-verh .tn-iconbtn,
body #tn-os .tn-verh .os-iconbtn,
body #tn-os .tn-verh .os-user { padding: 0 !important; }

body #tn-app .vt-head {
  width: 100%;
  margin: 0 auto;
  gap: var(--tn-znak-zazor, 8px);
  box-sizing: border-box;
}

body #tn-app .tn-header-actions {
  display: flex;
  align-items: center;
  gap: var(--tn-verh-zazor-vnutri);
}

body #tn-app .tn-theme-toggle,
body #tn-os .os-iconbtn {

  width: var(--tn-znak-cel); height: var(--tn-znak-cel);
  border-radius: var(--tn-radius) !important;
  border: var(--tn-liniya-tolshchina) solid transparent !important;
  background: transparent !important;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--tn-text-muted) !important;
  transition: background var(--tn-transition), color var(--tn-transition), border-color var(--tn-transition);

}

body #tn-app .tn-theme-toggle,
body #tn-os .tn-verh .os-prava > :last-child { margin-right: var(--tn-verh-sdvig-kraya); }
body #tn-app .tn-theme-toggle:hover,
body #tn-os .os-iconbtn:hover {
  background: var(--tn-surface-inset) !important;
  color: var(--tn-text) !important;
}
body #tn-app .tn-theme-toggle:focus-visible,
body #tn-os .os-iconbtn:focus-visible {
  background: var(--tn-surface-inset) !important;
  border-color: var(--tn-border-strong) !important;
}
body #tn-app .tn-theme-toggle svg,
body #tn-os .os-iconbtn svg { width: var(--tn-knopka-znak); height: var(--tn-knopka-znak); }

body #tn-os .os-appname-sep {
  color: var(--tn-text-subtle); font-size: var(--tn-text-base); font-weight: var(--tn-ves-obychnyj);
  margin: 0; user-select: none;
}
body #tn-os .os-appname {
  display: block !important; opacity: 1 !important;
  font-size: var(--tn-text-sm) !important; font-weight: var(--tn-ves-polujirnyj) !important;
  color: var(--tn-text-muted) !important; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; max-width: var(--tn-col-sm);
}
body #tn-os:not(.is-app) .os-appname,
body #tn-os:not(.is-app) .os-appname-sep { display: none !important; }

body #tn-os .os-user-name { display: none !important; }

body #tn-os .os-user {
  display: flex; align-items: center; justify-content: center; gap: 0;
  width: var(--tn-znak-cel); height: var(--tn-znak-cel); box-sizing: border-box;
  padding: 0;
  border-radius: var(--tn-radius) !important;
  border: var(--tn-liniya-tolshchina) solid transparent !important;
  background: transparent !important;
  max-width: var(--tn-verh-chelovek-shirina); flex-shrink: 0; cursor: pointer;
  transition: background var(--tn-transition), border-color var(--tn-transition);
}
body #tn-os .os-user:hover { background: var(--tn-surface-inset) !important; }
body #tn-os .os-user:focus-visible {
  background: var(--tn-surface-inset) !important;
  border-color: var(--tn-border-strong) !important;
}
body #tn-os .os-user-name {
  font-size: var(--tn-text-sm); font-weight: var(--tn-ves-polujirnyj); color: var(--tn-text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

body #tn-os .os-user-ava {
  width: var(--tn-verh-znak); height: var(--tn-verh-znak);
  border-radius: var(--tn-radius-sm) !important;
  background: transparent !important;
  color: var(--tn-text-muted) !important;
  border: var(--tn-liniya-tolshchina) solid var(--tn-border);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--tn-text-xs); font-weight: var(--tn-ves-jirnyj); letter-spacing: var(--tn-trek-melko);
  flex-shrink: 0;
  transition: color var(--tn-transition), border-color var(--tn-transition);
}
body #tn-os .os-user-ava:hover {
  color: var(--tn-primary) !important;
  border-color: var(--tn-primary);
}

#tn-os.os-live .os-user{display:inline-flex;align-items:center;cursor:pointer;
  border:var(--tn-liniya-tolshchina) solid var(--tn-border,#e2e8f0);
  border-radius:var(--tn-radius-sm,6px);padding:var(--tn-verh-chelovek-pole);gap: var(--tn-gap-sm);background:transparent;
  max-width:var(--tn-verh-chelovek-shirina-stol);min-width:0;
  font-family:inherit;transition:background var(--tn-dur-bystro),border-color var(--tn-dur-bystro)}
#tn-os.os-live .os-user .os-user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;display:block}
#tn-os.os-live .os-user:hover{background:var(--tn-surface-inset,#f0f4f9);border-color:var(--tn-primary,#055397)}
#tn-os.is-me-open .os-user{background:var(--tn-surface-inset,#f0f4f9);border-color:var(--tn-primary,#055397)}

body #tn-app .tn-nav-link {
  display: inline-flex;
  align-items: center;
  gap: var(--tn-gap-sm);
  padding: var(--tn-gap-sm) var(--tn-gap-md);
  border-radius: var(--tn-radius);
  font-size: var(--tn-text-base);
  font-weight: var(--tn-ves-polujirnyj);
  color: var(--tn-text) !important;
  background: transparent !important;
  border: var(--tn-obvodka-polya) solid transparent !important;
  transition: var(--tn-transition);
  cursor: pointer;
  line-height: 1;
  white-space: nowrap;
}
body #tn-app .tn-nav-link:hover {
  background: var(--tn-surface-hover) !important;
  border-color: var(--tn-border) !important;
}
body #tn-app .tn-nav-link-icon { font-size: var(--tn-text-base); line-height: 1; flex-shrink: 0; }

body #tn-app .tn-main {
  flex: 1 1 auto;
  width: 100%;
  max-width: calc(var(--tn-page) + var(--tn-page-pad) * 2);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
}
body #tn-app .tn-main-centered {
  justify-content: safe center;
  
  align-items: safe center;
  padding: var(--tn-rabochaya-vozduh) var(--tn-page-pad);
}
body #tn-app .tn-container {
  max-width: var(--tn-container-max);
  margin: 0 auto;
  padding: 0 var(--tn-gap-lg);
  width: 100%;
}
body #tn-app .tn-section { padding: var(--tn-sekciya-vozduh) 0; }

body #tn-app .tn-card {
  width: 100%;
  max-width: var(--tn-col);
  margin: 0 auto;
  background: var(--tn-surface) !important;
  border: var(--tn-liniya-tolshchina) solid var(--tn-border) !important;
  border-radius: var(--tn-radius-lg);
  
  box-shadow: none;
  
  padding: var(--tn-kartochka-pole);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  animation: tn-card-in var(--tn-dur-poyavlenie) var(--tn-ease-poyavlenie);
}
@keyframes tn-card-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

body #tn-app .tn-card-eyebrow {
  text-align: center;
  font-size: var(--tn-kartochka-metka);
  font-weight: var(--tn-ves-polujirnyj);
  letter-spacing: var(--tn-trek-nadpis-kartochki);
  text-transform: uppercase;
  color: var(--tn-text-muted) !important;
  margin-bottom: var(--tn-gap-sm);
}
body #tn-app .tn-card-title {
  text-align: center;
  
  font-size: var(--tn-zagolovok);
  font-weight: var(--tn-ves-jirnyj);
  letter-spacing: var(--tn-trek-titul);
  color: var(--tn-text) !important;
  margin-bottom: var(--tn-gap-sm);
  line-height: var(--tn-stroka-imya-sajta);
}
body #tn-app .tn-card-desc {
  text-align: center;
  font-size: var(--tn-text-sm);
  color: var(--tn-text-muted) !important;
  margin-bottom: var(--tn-gap-lg);
  line-height: var(--tn-stroka-osnovnaya);
  max-width: var(--tn-col-sm);
  margin-left: auto;
  margin-right: auto;
}

body #tn-app .tn-card-pill {
  display: block;
  text-align: center;
  margin: 0 auto var(--tn-gap-lg);
  padding: var(--tn-kartochka-pole-metki);
  width: fit-content;
  max-width: 100%;
  font-size: var(--tn-kartochka-metka);
  font-weight: var(--tn-ves-polujirnyj);
  letter-spacing: var(--tn-trek-melko);
  color: var(--tn-text) !important;
  background: var(--tn-surface-inset) !important;
  border: var(--tn-liniya-tolshchina) solid var(--tn-border-soft) !important;
  border-radius: var(--tn-radius-pill);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body #tn-app .tn-card-pill-mono {
  letter-spacing: var(--tn-trek-nadzagolovok);
  text-transform: uppercase;
  font-size: var(--tn-kartochka-metka);
  color: var(--tn-text-muted) !important;
}

body #tn-app .tn-card-links {
  
  font-size: var(--tn-text-sm);
  margin-top: var(--tn-gap-lg);
  padding-top: var(--tn-kartochka-verh);
  border-top: var(--tn-liniya-tolshchina) solid var(--tn-border-soft) !important;
  display: flex; align-items: center; justify-content: center;
  gap: var(--tn-kartochka-zazor);
  flex-wrap: wrap;
}
body #tn-app .tn-card-links--split { justify-content: space-between; }

body #tn-app .tn-state { display: none; }
body #tn-app .tn-state.show {
  display: block;
  animation: tn-card-in var(--tn-dur-poyavlenie) var(--tn-ease-poyavlenie);
}
body #tn-app .tn-state-text {
  text-align: center;
  font-size: var(--tn-text-sm);
  color: var(--tn-text-muted) !important;
  line-height: var(--tn-stroka-osnovnaya);
  margin-bottom: var(--tn-gap);
  max-width: var(--tn-col-sm);
  margin-left: auto; margin-right: auto;
}
body #tn-app .tn-state-text:last-of-type { margin-bottom: var(--tn-gap-md-plus); }
body #tn-app .tn-state-actions {
  display: flex; flex-direction: column; gap: var(--tn-gap-sm);
}

body #tn-app .tn-title {
  font-size: var(--tn-text-2xl);
  font-weight: var(--tn-ves-jirnyj);
  letter-spacing: var(--tn-trek-titul);
  line-height: var(--tn-stroka-imya-sajta);
  color: var(--tn-text) !important;
}
body #tn-app .tn-title-lg { font-size: var(--tn-text-3xl); }
body #tn-app .tn-subtitle {
  font-size: var(--tn-text-base);
  color: var(--tn-text-muted) !important;
  font-weight: var(--tn-ves-polujirnyj);
  line-height: var(--tn-stroka-osnovnaya);
}
body #tn-app .tn-eyebrow {
  font-size: var(--tn-text-xs);
  font-weight: var(--tn-ves-jirnyj);
  letter-spacing: var(--tn-trek-nadzagolovok);
  text-transform: uppercase;
  color: var(--tn-text-muted) !important;
}

body #tn-app .tn-field {
  display: flex;
  flex-direction: column;
  gap: var(--tn-pole-zazor);
  position: relative;
  margin-bottom: var(--tn-gap-md);
}
body #tn-app .tn-field:last-of-type { margin-bottom: 0; }

body #tn-app .tn-label,
body #tn-app .tn-field-label {
  font-weight: var(--tn-ves-polujirnyj);
  font-size: var(--tn-pole-podpis);
  color: var(--tn-text) !important;
  letter-spacing: var(--tn-trek-cifry);
}
body #tn-app .tn-required { color: var(--tn-danger) !important; margin-left: var(--tn-gap-2xs); }
body #tn-app .tn-field-hint {
  font-size: var(--tn-text-xs);
  color: var(--tn-text-light) !important;
  font-weight: var(--tn-ves-polujirnyj);
  line-height: var(--tn-stroka-pole);
}

body #tn-app .tn-input {
  width: 100%;
  padding: var(--tn-pole-pole);
  border: var(--tn-obvodka-polya) solid var(--tn-border) !important;
  border-radius: var(--tn-radius);
  font-size: var(--tn-text-md);
  background: var(--tn-bg) !important;
  color: var(--tn-text) !important;
  transition: var(--tn-transition);
  line-height: var(--tn-stroka-pole);
  font-family: inherit !important;
  outline: none !important;
  appearance: none;
  -webkit-appearance: none;
}
body #tn-app .tn-input::placeholder { color: var(--tn-text-light) !important; opacity: var(--tn-prozr-navedenie); }
body #tn-app .tn-input:hover { border-color: var(--tn-border-strong) !important; }
body #tn-app .tn-input:focus {
  border-color: var(--tn-primary) !important;
  box-shadow: var(--tn-ring) !important;
  background: var(--tn-surface) !important;
}
body #tn-app .tn-input:disabled { opacity: var(--tn-prozr-projdeno); cursor: not-allowed; background: var(--tn-bg-soft) !important; }
body #tn-app .tn-input.error,
body #tn-app .tn-input--error { border-color: var(--tn-danger) !important; }
body #tn-app .tn-input.error:focus { box-shadow: var(--tn-ring-danger) !important; }
body #tn-app .tn-input.success,
body #tn-app .tn-input--success { border-color: var(--tn-success) !important; }
body #tn-app .tn-input.success:focus { box-shadow: var(--tn-ring-ok) !important; }
body #tn-app .tn-input.with-toggle { padding-right: var(--tn-pole-mesto-znaka); }

body #tn-app .tn-input-group {
  display: flex;
  gap: var(--tn-pole-zazor-krupno);
  align-items: stretch;
}
body #tn-app .tn-input-group .tn-input { flex: 1; min-width: 0; }
body #tn-app .tn-input-addon {
  background: var(--tn-surface-hover) !important;
  border: var(--tn-obvodka-polya) solid var(--tn-border) !important;
  border-radius: var(--tn-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--tn-text-muted) !important;
  width: var(--tn-pole-vysota);
  flex-shrink: 0;
  cursor: pointer;
  transition: var(--tn-transition);
}
body #tn-app .tn-input-addon:hover {
  background: var(--tn-primary-soft) !important;
  border-color: var(--tn-primary) !important;
  color: var(--tn-primary) !important;
}
body #tn-app .tn-input-addon svg { width: var(--tn-pole-znak-krupno); height: var(--tn-pole-znak-krupno); }
body #tn-app .tn-input-addon .icon-off { display: none; }
body #tn-app .tn-input-addon.is-visible .icon-on { display: none; }
body #tn-app .tn-input-addon.is-visible .icon-off { display: block; }

body #tn-app .tn-input-wrap { position: relative; }
body #tn-app .tn-input-toggle {
  position: absolute;
  right: var(--tn-gap-sm);
  top: 50%;
  transform: translateY(var(--tn-k-seredine));
  width: var(--tn-pole-knopka); height: var(--tn-pole-melkoe);
  border-radius: var(--tn-radius-xs);
  background: transparent !important;
  border: none !important;
  color: var(--tn-text-muted) !important;
  display: flex; align-items: center; justify-content: center;
  transition: color var(--tn-transition), background var(--tn-transition);
}
body #tn-app .tn-input-toggle:hover {
  color: var(--tn-primary) !important;
  background: var(--tn-surface-inset) !important;
}
body #tn-app .tn-input-toggle svg { width: var(--tn-pole-znak); height: var(--tn-pole-znak); }

body #tn-app .tn-helper {
  font-size: var(--tn-text-xs);
  color: var(--tn-text-subtle) !important;
  min-height: var(--tn-podskazka-min);
  line-height: var(--tn-stroka-pole);
  transition: color var(--tn-dur-navedenie) ease;
}
body #tn-app .tn-helper.error { color: var(--tn-danger) !important; }
body #tn-app .tn-helper.success { color: var(--tn-success) !important; }

body #tn-app .tn-pwd-strength {
  display: flex;
  gap: var(--tn-gap-xs);
  margin-top: var(--tn-gap-xs);
}
body #tn-app .tn-pwd-strength-bar {
  flex: 1;
  height: var(--tn-polosa-tonkaya);
  background: var(--tn-border) !important;
  border-radius: var(--tn-radius-xs);
  transition: background var(--tn-dur-navedenie) ease;
}
body #tn-app .tn-pwd-strength-bar.filled-weak { background: var(--tn-danger) !important; }
body #tn-app .tn-pwd-strength-bar.filled-medium { background: var(--tn-warning) !important; }
body #tn-app .tn-pwd-strength-bar.filled-strong { background: var(--tn-success) !important; }

body #tn-app .tn-pwd-rules {
  margin-top: var(--tn-gap-sm);
  padding: var(--tn-gap-sm) var(--tn-gap);
  background: var(--tn-surface-inset) !important;
  border: var(--tn-liniya-tolshchina) solid var(--tn-border-soft) !important;
  border-radius: var(--tn-radius-xs);
  font-size: var(--tn-text-xs);
  color: var(--tn-text-muted) !important;
  line-height: var(--tn-stroka-osnovnaya);
}
body #tn-app .tn-pwd-rules ul { list-style: none; padding: 0; margin: 0; }
body #tn-app .tn-pwd-rules li {
  display: flex; align-items: center; gap: var(--tn-gap-xs);
  padding: var(--tn-sdvig-1) 0;
}
body #tn-app .tn-pwd-rules li::before {
  content: '○';
  font-family: var(--tn-font-mono);
  color: var(--tn-text-subtle);
  width: var(--tn-tochka);
  display: inline-block;
}
body #tn-app .tn-pwd-rules li.ok::before { content: '✓'; color: var(--tn-success); }
body #tn-app .tn-pwd-rules li.ok { color: var(--tn-text) !important; }

@keyframes tn-krutitsya { to { transform: rotate(360deg); } }
@keyframes tn-poyavlenie { from { opacity: 0; transform: translateY(14px); }
                           to   { opacity: 1; transform: none; } }

@keyframes tnspin   { to { transform: rotate(360deg); } }
@keyframes tn-spin  { to { transform: rotate(360deg); } }
@keyframes osspin   { to { transform: rotate(360deg); } }
@keyframes osSpin   { to { transform: rotate(360deg); } }
@keyframes tnav-rot { to { transform: rotate(360deg); } }
@keyframes hozkrut  { to { transform: rotate(360deg); } }
@keyframes cngSpin  { to { transform: rotate(360deg); } }

@keyframes cngFade{from{opacity:.4}to{opacity:1}}
@keyframes cngIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes osFadeUp{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@keyframes osui-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes osuispin{to{transform:rotate(360deg)}}
@keyframes rasspin{to{transform:rotate(360deg)}}
@keyframes signPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.13); } }
@keyframes signRun{ 0%{ offset-distance:0%; opacity:0; } 12%{ opacity:1; } 84%{ opacity:1; } 100%{ offset-distance:100%; opacity:0; } }
@keyframes spDraw{ to{ stroke-dashoffset:0; } }
@keyframes spPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.1); } }
@keyframes spRun{ 0%{ offset-distance:0%; opacity:0; } 12%{ opacity:1; } 80%{ opacity:1; } 100%{ offset-distance:100%; opacity:0; } }
@keyframes vt-dyshit{ 0%,100%{ opacity:1; box-shadow:0 0 0 0 var(--tn-warning) }
                      50%{ opacity:.55; box-shadow:0 0 0 4px transparent } }
@keyframes vt-liniya{ to{ stroke-dashoffset:0 } }
@keyframes vt-uzel{ from{ opacity:0; transform:scale(.4); transform-origin:center }
                    to{ opacity:1; transform:none } }
@keyframes vt-vsplyt{ from{ opacity:0; transform:translateY(14px) } to{ opacity:1; transform:none } }

body #tn-app .tn-btn,
body #tn-app .tn-btn-primary,
body #tn-app .tn-btn-secondary,
body #tn-app .tn-btn-outline,
body #tn-app .tn-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--tn-knopka-zazor);
  padding: var(--tn-knopka-pole);
  min-height: var(--tn-knopka-min-krupno);
  border-radius: var(--tn-radius);
  font-size: var(--tn-text-md);
  font-weight: var(--tn-ves-jirnyj);
  font-family: inherit !important;
  letter-spacing: var(--tn-trek-cifry);
  line-height: var(--tn-stroka-pole);
  border: var(--tn-obvodka-polya) solid transparent !important;
  cursor: pointer;
  transition: var(--tn-transition);
  position: relative;
  isolation: isolate;
  white-space: nowrap;
}
body #tn-app .tn-btn:disabled,
body #tn-app .tn-btn-primary:disabled,
body #tn-app .tn-btn-secondary:disabled,
body #tn-app .tn-btn-outline:disabled,
body #tn-app .tn-btn-ghost:disabled {
  cursor: not-allowed;
  opacity: var(--tn-prozr-nedostupno);
  transform: none !important;
  filter: none !important;
}

body #tn-app .tn-btn-primary {
  background: var(--tn-primary) !important;
  color: var(--tn-text-inverse) !important;
  box-shadow: none !important;
  overflow: hidden;
}
body #tn-app .tn-btn-primary > * { position: relative; z-index: 1; }

body #tn-app .tn-btn-primary:hover:not(:disabled) {
  transform: translateY(calc(-1 * var(--tn-sdvig-1)));
  box-shadow: none !important;
  filter: var(--tn-yarche);
}
body #tn-app .tn-btn-primary:active:not(:disabled) { transform: translateY(0); }

body #tn-app .tn-btn-secondary {
  background: var(--tn-surface) !important;
  color: var(--tn-text) !important;
  border-color: var(--tn-border) !important;
}
body #tn-app .tn-btn-secondary:hover:not(:disabled) {
  background: var(--tn-surface-hover) !important;
  border-color: var(--tn-border-strong) !important;
}

body #tn-app .tn-btn-outline {
  background: transparent !important;
  color: var(--tn-primary) !important;
  border-color: var(--tn-primary) !important;
}

body #tn-app .tn-btn-primary.tn-btn-melko,
body #tn-app .tn-btn-secondary.tn-btn-melko,
body #tn-app .tn-btn-outline.tn-btn-melko,
body #tn-app .tn-btn-ghost.tn-btn-melko {
  min-height: var(--tn-knopka-min);
  font-size: var(--tn-text-sm);
}
body #tn-app .tn-btn-outline:hover:not(:disabled) {
  background: var(--tn-primary-soft) !important;
  transform: translateY(calc(-1 * var(--tn-sdvig-1)));
}

body #tn-app .tn-btn-ghost {
  background: transparent !important;
  color: var(--tn-text) !important;
}
body #tn-app .tn-btn-ghost:hover:not(:disabled) {
  background: var(--tn-surface-hover) !important;
}

body #tn-app .tn-btn-block { width: 100%; }

body #tn-app .tn-link,
body #tn-app a.tn-link,
body #tn-app a.tn-link:link,
body #tn-app a.tn-link:visited,
body #tn-app button.tn-link {
  color: var(--tn-primary) !important;
  font-weight: var(--tn-ves-polujirnyj);
  font-size: var(--tn-text-sm);
  cursor: pointer;
  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  padding: var(--tn-gap-xs) 0;
  border-bottom: var(--tn-liniya-tolshchina) dashed transparent !important;
  transition: var(--tn-transition);
}
body #tn-app .tn-link:hover {
  border-bottom-color: var(--tn-primary) !important;
  opacity: var(--tn-prozr-zapis);
}

body #tn-app .tn-link-disabled {
  display: inline-flex;
  align-items: center;
  gap: var(--tn-gap-xs);
  color: var(--tn-text-light) !important;
  font-weight: var(--tn-ves-polujirnyj);
  font-size: var(--tn-text-sm);
  cursor: not-allowed;
  opacity: var(--tn-prozr-otklyucheno);
  padding-bottom: var(--tn-sdvig-1);
}

body #tn-app .tn-error-text {
  color: var(--tn-danger) !important;
  font-size: var(--tn-text-sm);
  font-weight: var(--tn-ves-polujirnyj);
  line-height: var(--tn-stroka-pole);
  min-height: var(--tn-pole-podskazka-vysota);
  text-align: center;
  margin-top: var(--tn-gap);
}
body #tn-app .tn-error-message {
  padding: var(--tn-gap-sm) var(--tn-gap);
  background: var(--tn-danger-soft) !important;
  border: var(--tn-liniya-tolshchina) solid var(--tn-danger-obvodka) !important;
  border-left: var(--tn-obvodka-akcent) solid var(--tn-danger) !important;
  border-radius: var(--tn-radius-xs);
  font-size: var(--tn-text-sm);
  color: var(--tn-danger-tekst) !important;
  line-height: var(--tn-stroka-osnovnaya);
}
html.tn-dark body #tn-app .tn-error-message {
  background: var(--tn-error-bg) !important;
  border-color: var(--tn-danger-obvodka) !important;
  color: var(--tn-danger-tekst) !important;
}

body #tn-app .tn-spinner {
  display: inline-block;
  width: var(--tn-krutilka-knopka); height: var(--tn-krutilka-knopka);
  border: var(--tn-obvodka-vydelenie) solid var(--tn-krutilka-na-knopke);
  border-radius: 50%;
  border-top-color: var(--tn-white);
  animation: tn-spin var(--tn-dur-krutitsya) linear infinite;
  flex-shrink: 0;
}
body #tn-app .tn-spinner-lg {
  width: var(--tn-krutilka); height: var(--tn-krutilka);
  border-width: var(--tn-obvodka-akcent);
  border-color: var(--tn-border-soft);
  border-top-color: var(--tn-primary);
  margin: 0 auto var(--tn-gap-md);
  display: block;
}
@keyframes tn-spin { to { transform: rotate(360deg); } }

body :is(#tn-app, #tn-os) .tn-footer {
  margin-top: auto;

  padding: var(--tn-gap-lg) var(--tn-page-pad) max(var(--tn-footer-pad), env(safe-area-inset-bottom, 0px));
  
  border-top: 0 !important;
  background: transparent !important;
  text-align: center;
  position: relative;
}
body :is(#tn-app, #tn-os) .tn-footer-inner {
  max-width: var(--tn-container-max);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  
  gap: var(--tn-zapis-shag, 8px);
  
  max-width: var(--tn-container-max);
  margin-left: auto;
  margin-right: auto;
}

body :is(#tn-app, #tn-os) .tn-footer-brand {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--tn-gap-sm);
  font-size: var(--tn-zapis-kegl-brend, 13px);
  font-weight: var(--tn-ves-polujirnyj);
  color: var(--tn-text) !important;
  line-height: 1;
}
body :is(#tn-app, #tn-os) .tn-footer-brand > * { line-height: 1; }

body :is(#tn-app, #tn-os) .tn-footer-copyright {
  display: inline-flex;
  align-items: center;
  gap: var(--tn-gap-xs);
  font-size: var(--tn-zapis-kegl, 11px);
  font-weight: var(--tn-ves-polujirnyj);
  letter-spacing: var(--tn-zapis-trekking, 0.02em);
  color: var(--tn-text-muted) !important;
  white-space: nowrap;
  line-height: 1;
}
body #tn-app .tn-copyright-mark {
  opacity: var(--tn-prozr-tihaya);
  font-size: var(--tn-text-sm);
  line-height: 1;
  position: relative;
  top: var(--tn-sdvig-znaka-kopirajt);
}
body #tn-app .tn-copyright-year {
  font-weight: var(--tn-ves-jirnyj);
  color: var(--tn-text) !important;
  letter-spacing: var(--tn-trek-cifry);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
body :is(#tn-app, #tn-os) .tn-footer-org {
  font-size: var(--tn-zapis-kegl, 11px);
  font-weight: var(--tn-ves-polujirnyj);
  color: var(--tn-text-muted) !important;
  letter-spacing: var(--tn-zapis-trekking, 0.02em);
  opacity: var(--tn-prozr-zapis);
  white-space: nowrap;
  line-height: 1;
}
body :is(#tn-app, #tn-os) .tn-footer-sep {
  color: var(--tn-text-subtle) !important;
  opacity: var(--tn-prozr-tihaya);
  font-weight: var(--tn-ves-obychnyj);
  line-height: 1;
}

body :is(#tn-app, #tn-os) .tn-footer-niit-full {
  font-size: var(--tn-zapis-kegl, 11px);
  font-weight: var(--tn-ves-polujirnyj);
  color: var(--tn-text-muted) !important;
  line-height: var(--tn-stroka-osnovnaya);
  letter-spacing: var(--tn-zapis-trekking, 0.02em);
  opacity: var(--tn-prozr-zapis);
}

body :is(#tn-app, #tn-os) .tn-footer-operator {
  font-size: var(--tn-zapis-kegl, 11px);
  color: var(--tn-text-muted) !important;
  line-height: var(--tn-stroka-osnovnaya);
  max-width: var(--tn-read);
}

body :is(#tn-app, #tn-os) .tn-footer-developer {
  font-size: var(--tn-zapis-kegl, 11px);
  font-weight: var(--tn-ves-polujirnyj);
  letter-spacing: var(--tn-zapis-trekking, 0.02em);
  color: var(--tn-text-subtle) !important;
  opacity: var(--tn-prozr-zapis);
  line-height: var(--tn-stroka-osnovnaya);
}

body :is(#tn-app, #tn-os) .tn-footer-developer a {
  color: inherit !important;
  text-decoration: none;
  transition: opacity var(--tn-dur-navedenie) ease;
}
body :is(#tn-app, #tn-os) .tn-footer-developer a:hover { opacity: var(--tn-prozr-navedenie); }

@media (hover: hover) and (pointer: fine) {
  body :is(#tn-app, #tn-os) .tn-footer-inner {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: var(--tn-zapis-razdelitel, 10px);
    row-gap: var(--tn-zapis-zazor, 4px);
  }
  body :is(#tn-app, #tn-os) .tn-footer-inner > * + *::before {
    content: '·';
    margin-right: var(--tn-zapis-razdelitel, 10px);
    color: var(--tn-text-subtle);
  }
  
  body :is(#tn-app, #tn-os) .tn-footer-brand,
  body :is(#tn-app, #tn-os) .tn-footer-niit-full,
  body :is(#tn-app, #tn-os) .tn-footer-operator,
  body :is(#tn-app, #tn-os) .tn-footer-developer {
    font-size: var(--tn-zapis-kegl, 11px);
    font-weight: var(--tn-zapis-ves, 400);
    line-height: var(--tn-stroka-kartochka);
  }
  
  body :is(#tn-app, #tn-os) .tn-footer-brand      { order: 1; }
  body :is(#tn-app, #tn-os) .tn-footer-niit-full  { order: 2; }
  body :is(#tn-app, #tn-os) .tn-footer-inner::after {
    content: ''; flex-basis: 100%; height: 0; order: 3; margin: 0;
  }
  body :is(#tn-app, #tn-os) .tn-footer-operator   { order: 4; }
  body :is(#tn-app, #tn-os) .tn-footer-developer  { order: 5; }
  
  body :is(#tn-app, #tn-os) .tn-footer-operator::before { content: none; }
}

body #tn-app .tn-niit,
body #tn-app .tn-niit-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--tn-gap-xs);
  padding: 0;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  vertical-align: middle;
  line-height: 1;
  flex-shrink: 0;
}

body #tn-app .tn-niit::before,
body #tn-app .tn-niit-badge::before,
body #tn-app .tn-niit::after,
body #tn-app .tn-niit-badge::after {
  content: none !important;
  display: none !important;
}
body #tn-app .tn-niit-text,
body #tn-app .tn-niit-badge-text {
  color: var(--tn-text-muted) !important;
  font-weight: var(--tn-ves-jirnyj);
  font-size: var(--tn-text-xs);
  letter-spacing: var(--tn-trek-niit);
}

@media (max-width: 768px) {
  :root {
    
  }
  
  body #tn-app .tn-container { padding: 0 var(--tn-gap); }

  body #tn-app .tn-nav-link { padding: var(--tn-gap-sm) var(--tn-gap); font-size: var(--tn-text-sm); }
  body #tn-app .tn-nav-link-label-long { display: none; }

  body #tn-app .tn-card { padding: var(--tn-kartochka-pole-uzko); border-radius: var(--tn-radius); }
  body #tn-app .tn-card-title { font-size: var(--tn-zagolovok-tel); }
  body #tn-app .tn-card-desc { font-size: var(--tn-kartochka-podpis); }

  body #tn-app .tn-title { font-size: var(--tn-text-xl); }
  body #tn-app .tn-title-lg { font-size: var(--tn-text-2xl); }

  body :is(#tn-app, #tn-os) .tn-footer { padding: var(--tn-gap-lg) var(--tn-page-pad) var(--tn-gap-lg); }
  body :is(#tn-app, #tn-os) .tn-footer-brand { font-size: var(--tn-zapis-kegl-brend, 13px); gap: var(--tn-gap-xs); }
  body :is(#tn-app, #tn-os) .tn-footer-copyright { font-size: var(--tn-zapis-kegl, 11px); }
  body :is(#tn-app, #tn-os) .tn-footer-niit-full { font-size: var(--tn-zapis-kegl, 11px); }
  body #tn-app .tn-card-links { gap: var(--tn-kartochka-zazor-melko); }

  .tn-toast { right: var(--tn-gap); bottom: var(--tn-gap); padding: var(--tn-gap) var(--tn-gap-md); }
}

@media (max-width: 420px) {
  
  body #tn-app .tn-card {
    padding: calc(var(--tn-kartochka-pole) - var(--tn-gap-sm)) calc(var(--tn-kartochka-pole) - var(--tn-gap));
  }
  body #tn-app .tn-card-links { gap: var(--tn-kartochka-zazor-tesno); }
  body #tn-app .tn-card-links .tn-link { font-size: var(--tn-text-sm); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

[hidden] { display: none !important; }
body #tn-app .tn-hidden { display: none !important; }
body #tn-app .tn-sr-only {
  position: absolute;
  width: var(--tn-liniya-tolshchina); height: var(--tn-liniya-tolshchina);
  padding: 0; margin: calc(-1 * var(--tn-liniya-tolshchina));
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

body #tn-app .tn-mt-4,  body #tn-os .tn-mt-4  { margin-top: var(--tn-gap-xs); }
body #tn-app .tn-mt-8,  body #tn-os .tn-mt-8  { margin-top: var(--tn-gap-sm); }
body #tn-app .tn-mt-12, body #tn-os .tn-mt-12 { margin-top: var(--tn-gap); }
body #tn-app .tn-mt-16, body #tn-os .tn-mt-16 { margin-top: var(--tn-gap-md); }
body #tn-app .tn-mt-24, body #tn-os .tn-mt-24 { margin-top: var(--tn-gap-lg); }
body #tn-app .tn-mb-4,  body #tn-os .tn-mb-4  { margin-bottom: var(--tn-gap-xs); }
body #tn-app .tn-mb-8,  body #tn-os .tn-mb-8  { margin-bottom: var(--tn-gap-sm); }
body #tn-app .tn-mb-12, body #tn-os .tn-mb-12 { margin-bottom: var(--tn-gap); }
body #tn-app .tn-mb-16, body #tn-os .tn-mb-16 { margin-bottom: var(--tn-gap-md); }
body #tn-app .tn-pad-16, body #tn-os .tn-pad-16 { padding: var(--tn-gap-md); }
body #tn-app .tn-pad-24, body #tn-os .tn-pad-24 { padding: var(--tn-gap-lg); }
body #tn-app .tn-grow,  body #tn-os .tn-grow  { flex: 1; min-width: 0; }
body #tn-app .tn-push,  body #tn-os .tn-push  { margin-left: auto; }
body #tn-app .tn-ryad,  body #tn-os .tn-ryad  { display: flex; gap: var(--tn-gap-sm); flex-wrap: wrap; }
body #tn-app .tn-tiho,  body #tn-os .tn-tiho  { color: var(--tn-text-muted) !important; }
body #tn-app .tn-mt-6,  body #tn-os .tn-mt-6  { margin-top: var(--tn-gap-xs); }
body #tn-app .tn-ryad-mt, body #tn-os .tn-ryad-mt { display: flex; gap: var(--tn-gap-sm); flex-wrap: wrap; margin-top: var(--tn-gap-sm); }
body #tn-app .tn-ryad-sred, body #tn-os .tn-ryad-sred { display: flex; gap: var(--tn-gap-sm); align-items: center; flex-wrap: wrap; }
body #tn-app .tn-golo,  body #tn-os .tn-golo  { margin: 0; }
body #tn-app .tn-uzko,  body #tn-os .tn-uzko  { max-width: var(--tn-podskazki-vysota); }
body #tn-app .tn-ne-zhmyot, body #tn-os .tn-ne-zhmyot { flex: 0 0 auto; }
body #tn-app .tn-nazhmi, body #tn-os .tn-nazhmi { cursor: pointer; }
body #tn-app .tn-golaya-knopka, body #tn-os .tn-golaya-knopka { border: none; background: none; cursor: pointer; }
body #tn-app .tn-shirokiy, body #tn-os .tn-shirokiy { flex: 1; min-width: var(--tn-podskazki-vysota); }

.tn-signaly{
  position: fixed; z-index: 99998;
  top: calc(var(--tn-header-h,64px) + var(--tn-gap-sm) + env(safe-area-inset-top));
  right: var(--tn-gap); left: auto;
  display: flex; flex-direction: column; gap: var(--tn-gap-sm);
  width: min(var(--tn-col-sm), calc(100vw - var(--tn-gap-lg-plus)));
  pointer-events: none;
}
.tn-signal{
  pointer-events: auto;
  
  font-family: 'Golos Text', system-ui, -apple-system, 'Segoe UI', sans-serif;
  display: flex; align-items: flex-start; gap: var(--tn-gap-sm);
  padding: var(--tn-gap) var(--tn-gap) var(--tn-gap) var(--tn-gap);
  border: var(--tn-liniya-tolshchina) solid var(--tn-border); border-left-width: var(--tn-obvodka-akcent);
  border-radius: var(--tn-radius);
  background: var(--tn-surface); color: var(--tn-text);
  box-shadow: var(--tn-elev-3);
  font-size: var(--tn-text-sm); line-height: var(--tn-stroka-osnovnaya);
  opacity: 0; transform: translateY(calc(-1 * var(--tn-gap-sm)));
  transition: opacity var(--tn-dur-verh) ease, transform var(--tn-dur-verh) var(--tn-ease-verh);
}
.tn-signal.is-show{ opacity:1; transform:translateY(0); }
.tn-signal.is-snova{ animation: tn-signal-snova var(--tn-dur-signal) ease; }
@keyframes tn-signal-snova{ 0%{transform:translateX(0)} 30%{transform:translateX(-3px)} 60%{transform:translateX(3px)} 100%{transform:translateX(0)} }
.tn-signal .sg-znak{ flex: none; width: var(--tn-pole-znak-krupno); height: var(--tn-pole-znak-krupno); margin-top: var(--tn-sdvig-1); }
.tn-signal .sg-znak svg{ width: var(--tn-pole-znak-krupno); height: var(--tn-pole-znak-krupno); display: block; }
.tn-signal .sg-txt{ flex:1; min-width:0; overflow-wrap:anywhere; }
.tn-signal .sg-do{
  flex: none; align-self: center; border: var(--tn-liniya-tolshchina) solid var(--tn-primary); border-radius: var(--tn-radius-sm);
  background: transparent; color: var(--tn-primary); font-family: inherit; font-size: var(--tn-text-sm); font-weight: var(--tn-ves-polujirnyj);
  padding: var(--tn-gap-xs) var(--tn-gap); cursor: pointer; transition: background var(--tn-dur-bystro), color var(--tn-dur-bystro);
}
.tn-signal .sg-do:hover{ background:var(--tn-primary); color:var(--tn-text-inverse); }
.tn-signal .sg-x{
  flex: none; width: var(--tn-krutilka); height: var(--tn-krutilka); border: 0; border-radius: var(--tn-radius-xs);
  background: transparent; color: var(--tn-text-subtle); cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: color var(--tn-dur-bystro), background var(--tn-dur-bystro);
}
.tn-signal .sg-x svg{ width: var(--tn-pole-znak); height: var(--tn-pole-znak); }
.tn-signal .sg-x:hover{ color:var(--tn-text); background:var(--tn-surface-inset); }

.tn-signal.is-успех{ border-left-color:var(--tn-success); }
.tn-signal.is-успех .sg-znak{ color:var(--tn-success); }
.tn-signal.is-беда{ border-left-color:var(--tn-danger); }
.tn-signal.is-беда .sg-znak{ color:var(--tn-danger); }
.tn-signal.is-внимание{ border-left-color:var(--tn-warning); }
.tn-signal.is-внимание .sg-znak{ color:var(--tn-warning); }
.tn-signal.is-весть{ border-left-color:var(--tn-primary); }
.tn-signal.is-весть .sg-znak{ color:var(--tn-primary); }
@media (max-width:640px){
  .tn-signaly{ right: var(--tn-gap-sm); left: var(--tn-gap-sm); width: auto;
    top: calc(var(--tn-header-h,56px) + var(--tn-gap-sm) + env(safe-area-inset-top)); }
}
@media (prefers-reduced-motion: reduce){
  .tn-signal{ transition:opacity .01ms; transform:none; }
  .tn-signal.is-snova{ animation:none; }
}

body .os-splash-mark,
body #tnSplash .m{
  width: var(--tn-zastavka-znak); height: var(--tn-zastavka-znak);
  display: flex; align-items: center; justify-content: center;
  margin: 0 0 var(--tn-gap);
  color: var(--tn-primary);
  --icon-bg:var(--tn-bg);
}
body .os-splash-mark svg,
body #tnSplash .m svg{
  width: var(--tn-zastavka-znak); height: var(--tn-zastavka-znak); display: block;
  filter: var(--tn-zastavka-ten);
}
body .os-splash-word,
body #tnSplash .w{
  font-family: var(--tn-font);
  font-size: var(--tn-text-xl); font-weight: var(--tn-imya-ves); letter-spacing: var(--tn-trek-szhato);
  
  line-height: var(--tn-stroka-imya-sajta);
  color: var(--tn-text);
}

body .os-splash-url{ display:none; }

body .tn-splash-mark{
  width: var(--tn-zastavka-znak); height: var(--tn-zastavka-znak);
  display: flex; align-items: center; justify-content: center;
  margin: 0 0 var(--tn-gap);
  color: var(--tn-primary);
  --icon-bg:var(--tn-bg);
}

body .tn-splash-mark img,
body .tn-splash-mark svg{
  width: var(--tn-zastavka-znak); height: var(--tn-zastavka-znak); display: block;
  border-radius: var(--tn-zastavka-skruglenie);          
  filter: var(--tn-zastavka-ten);
}
body .tn-splash-word{
  font-family: var(--tn-font);
  font-size: var(--tn-text-xl); font-weight: var(--tn-imya-ves); letter-spacing: var(--tn-trek-szhato);
  line-height: var(--tn-stroka-imya-sajta);
  color: var(--tn-text);
}

html.tn-traur img{ filter: grayscale(1); }

html.tn-traur body::before{
  content: ''; position: fixed; left: 0; right: 0; top: 0;
  height: var(--tn-polosa-tonkaya); background: var(--tn-traur-polosa);
  z-index: 2147483000; pointer-events: none;
}

#tn-os .os-polosa{
  flex: none;
  background: var(--tn-surface);
  border-top: var(--tn-liniya-tolshchina) solid var(--tn-border);
  font-family: var(--tn-font);
}
#tn-os .os-polosa-vnutri{
  display: flex; align-items: center; gap: var(--tn-gap-sm);
  height: var(--tn-polosa-vysota);
  padding: 0 max(var(--tn-gap), calc((100% - var(--tn-page)) / 2));
  max-width: 100%;
}
#tn-os .os-polosa-sajt{
  display: inline-flex; align-items: center; gap: var(--tn-gap-sm);
  flex: none; text-decoration: none; border-radius: var(--tn-radius-sm);
  padding: var(--tn-gap-2xs) var(--tn-gap-xs) var(--tn-gap-2xs) var(--tn-gap-2xs); margin-left: calc(-1 * var(--tn-sdvig-3));
}
#tn-os .os-polosa-sajt:hover{ background: var(--tn-surface-hover); }

#tn-os .os-polosa-znak{
  width: var(--tn-pole-znak-krupno); height: var(--tn-pole-znak-krupno); display: block; flex: none;
  border-radius: var(--tn-radius-sm);
  box-shadow: var(--tn-shadow-obvodka-karty);
}
html.tn-dark #tn-os .os-polosa-znak{
  box-shadow: var(--tn-shadow-obvodka-karty-noch);
}

:is(#tn-app, #tn-os) .os-logo-noch{ display: none; }
html.tn-dark :is(#tn-app, #tn-os) .os-logo-noch{ display: block; }
html.tn-dark :is(#tn-app, #tn-os) .os-logo-den{ display: none; }

.tn-imya-sajta{
  
  font-family: var(--tn-font);
  font-weight: var(--tn-ves-chernyj); letter-spacing: var(--tn-imya-trekking, -.01em); line-height: var(--tn-stroka-imya-sajta);
  white-space: nowrap; color: var(--tn-text);
}

.tn-imya-sajta i,
.tn-imya-sajta b,
.tn-imya-sajta u{ font-style: normal; text-decoration: none; font-weight: var(--tn-imya-ves, 700); }
.tn-imya-sajta b,
.tn-imya-sajta u{ color: var(--tn-primary); }

.tn-imya-sajta u{ font-weight: var(--tn-ves-jirnyj); }

#tn-os .os-polosa-imya{ font-size: var(--tn-text-sm); line-height: 1; }
#tn-os .os-polosa-cherta{
  width: var(--tn-liniya-tolshchina); height: var(--tn-pole-znak); background: var(--tn-border); flex: none;
}

#tn-os .os-polosa-kn{
  flex: 1 1 auto; min-width: 0;
  display: flex; align-items: center; gap: var(--tn-gap);
  height: var(--tn-pole-knopka); padding: 0 var(--tn-gap-sm);
  background: transparent; border: var(--tn-liniya-tolshchina) solid transparent;
  border-radius: var(--tn-radius-sm);
  cursor: pointer; color: inherit; text-align: left;
  font-family: inherit;
}
#tn-os .os-polosa-kn:hover{ background: var(--tn-surface-hover); }
#tn-os .os-polosa-kn:focus-visible{ outline: none; box-shadow: var(--tn-ring); }
#tn-os .os-polosa-hod{
  display: inline-flex; align-items: baseline; gap: var(--tn-gap-xs); flex: none;
  font-family: var(--tn-font-mono); font-size: var(--tn-text-xs); font-weight: var(--tn-ves-jirnyj);
  color: var(--tn-text);
}
#tn-os .os-polosa-hod i{
  font-style: normal; font-size: var(--tn-text-xs); font-weight: var(--tn-ves-polujirnyj);
  color: var(--tn-text-subtle);
}
#tn-os .os-polosa-hod s{
  text-decoration: none; color: var(--tn-text-subtle); font-weight: var(--tn-ves-polujirnyj);
}
#tn-os .os-polosa-schet{
  font-size: var(--tn-text-xs); color: var(--tn-text-muted); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
#tn-os .os-polosa-strelka{
  margin-left: auto; flex: none; width: var(--tn-pole-znak); height: var(--tn-pole-znak);
  color: var(--tn-text-subtle);
  transition: transform var(--tn-dur-navedenie) ease;
}
#tn-os .os-polosa-strelka svg{ width: var(--tn-pole-znak); height: var(--tn-pole-znak); display: block; }
#tn-os .os-polosa.raskryto .os-polosa-strelka{ transform: rotate(180deg); }

#tn-os .os-polosa-telo{
  border-bottom: var(--tn-liniya-tolshchina) solid var(--tn-border);
  padding: var(--tn-gap) max(var(--tn-gap), calc((100% - var(--tn-page)) / 2)) var(--tn-gap);
  background: var(--tn-bg-soft);
}
#tn-os .os-polosa-golova{
  display: flex; align-items: baseline; gap: var(--tn-gap-sm); flex-wrap: wrap;
  margin-bottom: var(--tn-gap-sm);
}
#tn-os .os-polosa-golova b{ font-size: var(--tn-text-sm); font-weight: var(--tn-ves-jirnyj); letter-spacing: var(--tn-imya-trekking, -.01em); }
#tn-os .os-polosa-golova span{ font-size: var(--tn-text-xs); color: var(--tn-text-muted); }
#tn-os .os-goroda{
  
  display: grid; grid-template-columns: repeat(var(--tn-goroda-kolonok-5), minmax(0, 1fr));
  column-gap: var(--tn-col-gap);
  gap: var(--tn-gap-sm) var(--tn-gap-md);
}

#tn-os .os-gorod{
  display: flex; align-items: baseline; gap: var(--tn-gap-sm); min-width: 0;
  position: relative; padding-left: var(--tn-gap);
}

@media (max-width: 1340px){
  #tn-os .os-goroda{ grid-template-columns: repeat(var(--tn-goroda-kolonok-4), minmax(0, 1fr)); }
}
@media (max-width: 1040px){
  #tn-os .os-goroda{ grid-template-columns: repeat(var(--tn-goroda-kolonok-3), minmax(0, 1fr)); }
}

html.tn-tel #tn-os .os-polosa{ display: none !important; }

#tn-os .os-chasy-shapka{ display: none; }

html.tn-tel #tn-os .os-chasy-shapka{
  display: inline-flex; align-items: baseline; gap: var(--tn-gap-xs);
  margin-left: var(--tn-gap); padding: var(--tn-gap-2xs) 0;
  border: 0; border-radius: 0;
  background: transparent; cursor: pointer;
  font-family: var(--tn-font-mono);
}
#tn-os .os-chasy-shapka .ch-vremya{
  font-size: var(--tn-text-sm); font-weight: var(--tn-ves-jirnyj); letter-spacing: var(--tn-trek-cifry); color: var(--tn-text-muted);
}
#tn-os .os-chasy-shapka .ch-mskva{
  font-size: var(--tn-text-xs); font-weight: var(--tn-ves-jirnyj); letter-spacing: var(--tn-trek-metka); color: var(--tn-text-subtle);
}

#tn-os .os-dom-sajt{ display: none; }
html.tn-tel #tn-os .os-dom-sajt{
  display: flex; align-items: center; justify-content: center; gap: var(--tn-gap-sm);
  margin: var(--tn-gap-xs) 0 calc(var(--os-dock-h, 72px) + var(--tn-gap-sm));
  padding: var(--tn-gap) var(--tn-gap); text-decoration: none;
  border-top: var(--tn-liniya-tolshchina) solid var(--tn-border-soft);
}

#tn-os .os-dom-sajt-znak{ width: var(--tn-pole-znak); height: var(--tn-pole-znak); border-radius: var(--tn-radius-sm); }

#tn-os .os-zapis{
  text-align: center; font-size: var(--tn-text-xs); line-height: var(--tn-stroka-osnovnaya); letter-spacing: var(--tn-trek-cifry);
  color: var(--tn-zapis-cvet);
  padding: var(--tn-gap) var(--tn-gap) 0; margin: 0 0 var(--tn-gap-lg-plus);
}
html.tn-tel #tn-os .os-zapis{ margin-bottom: calc(var(--os-dock-h, 72px) + var(--tn-gap-sm)); }

html.tn-tel #tn-os .os-dom-sajt{ margin-bottom: 0; }

#tn-os:not(.os-live) .os-polosa{ display: none !important; }

#tn-os .os-clock-net{
  padding: var(--tn-gap) var(--tn-gap-md); font-size: var(--tn-text-sm); line-height: var(--tn-stroka-osnovnaya);
  color: var(--tn-text-muted);
}

#tn-os .os-search-granica{
  margin: var(--tn-gap-sm) var(--tn-gap-2xs) var(--tn-gap);
  max-width: var(--tn-read);
  font-size: var(--tn-text-xs); line-height: var(--tn-stroka-osnovnaya);
  color: var(--tn-text-subtle);
}
#tn-os .os-empty-granica{
  display: block; margin-top: var(--tn-gap-xs);
  font-size: var(--tn-text-xs); line-height: var(--tn-stroka-osnovnaya);
  color: var(--tn-text-subtle);
}

#tn-os .os-vyshel{ animation: osVyshel var(--tn-dur-verh) var(--tn-ease, ease) both; }
@keyframes osVyshel{ from{ opacity:0; transform: translateY(3px) } to{ opacity:1; transform:none } }
@media (prefers-reduced-motion: reduce){
  #tn-os .os-vyshel{ animation: none; }
}

.vt-ustanovka,
.tn-ust-shagi{ margin-top: var(--tn-gap); padding-top: var(--tn-gap);
  border-top: var(--tn-liniya-tolshchina) solid var(--tn-border-soft) !important; text-align: left; }
.vt-ustanovka[hidden],
.tn-ust-shagi[hidden]{ display:none !important; }
.tn-ust-shag{ display: flex; gap: var(--tn-gap-sm); align-items: baseline;
  padding: var(--tn-gap-xs) 0; font-size: var(--tn-text-sm); line-height: var(--tn-stroka-osnovnaya); }
.tn-ust-shag b{ flex: none; min-width: var(--tn-ust-metka); font-weight: var(--tn-ves-polujirnyj); }
.tn-ust-shag span{ color:var(--tn-text-muted) !important; }

.tn-ust-shag span b{ min-width:0; color:var(--tn-text) !important; font-weight: var(--tn-ves-polujirnyj); }

.tn-ust-shag span i{ font-style:normal; color:var(--tn-text-soft,var(--tn-text-muted)) !important; }
.tn-ust-prochie{ margin-top: var(--tn-gap-xs); }
.tn-ust-prochie>summary{ cursor: pointer; list-style: none; display: inline-block;
  font-size: var(--tn-text-xs); font-weight: var(--tn-ves-polujirnyj); color: var(--tn-primary) !important; padding: var(--tn-gap-xs) 0; }
.tn-ust-prochie>summary::-webkit-details-marker{ display:none; }
.tn-ust-prochie>summary::before{ content:'+ '; }
.tn-ust-prochie[open]>summary::before{ content:'− '; }
.tn-ust-chestno,
.tn-ustan-chestno{ margin: var(--tn-gap-sm) 0 0; padding-top: var(--tn-gap-sm);
  border-top: var(--tn-liniya-tolshchina) solid var(--tn-border-soft) !important;
  font-size: var(--tn-text-xs); line-height: var(--tn-stroka-osnovnaya); color: var(--tn-text-soft,var(--tn-text-muted)) !important; }
.tn-ust-shag{ flex-direction:column; gap: var(--tn-gap-2xs); }
.tn-ust-shag b{ min-width:0; }

.tn-ustan{ display: flex; align-items: flex-start; gap: var(--tn-gap); margin-top: var(--tn-gap-md-plus);
  padding: var(--tn-gap-md); box-sizing: border-box; text-align: left;
  border: var(--tn-liniya-tolshchina) solid var(--tn-border) !important; border-radius: var(--tn-radius);
  background: var(--tn-surface-inset,var(--tn-surface)) !important; }
.tn-ustan[hidden]{ display:none !important; }
.tn-ustan-znachok{ flex: none; width: var(--tn-znak-geroj); height: var(--tn-znak-geroj); border-radius: var(--tn-radius); display: block; }
.tn-ustan-tekst{ flex:1; min-width:0; }
.tn-ustan-tekst>b{ display: block; font-size: var(--tn-text-base); font-weight: var(--tn-ves-polujirnyj); line-height: var(--tn-stroka-pole); }
.tn-ustan-tekst>span{ display: block; margin-top: var(--tn-gap-xs); font-size: var(--tn-text-sm); line-height: var(--tn-stroka-osnovnaya);
  color: var(--tn-text-muted) !important; }
.tn-ustan-knopki{ display: flex; flex-wrap: wrap; gap: var(--tn-gap-sm); margin-top: var(--tn-gap); }
.tn-ustan-knopki>button{ min-height: var(--tn-knopka-vysota-vtoraya); padding: var(--tn-gap-sm) var(--tn-gap-md); font-size: var(--tn-text-sm); }
.tn-ustan-kak{ margin-top: var(--tn-gap); padding-top: var(--tn-gap);
  border-top: var(--tn-liniya-tolshchina) solid var(--tn-border-soft) !important; }
.tn-ustan-kak[hidden]{ display:none !important; }
.tn-ustan-kak p{ margin: 0 0 var(--tn-gap-sm); font-size: var(--tn-text-sm); line-height: var(--tn-stroka-osnovnaya);
  color: var(--tn-text-muted) !important; }
.tn-ustan-kak p:last-child{ margin-bottom:0; }
.tn-ustan-chestno{ color:var(--tn-text-soft,var(--tn-text-muted)) !important; }
.tn-ustan{ flex-direction:column; align-items:center; text-align:center; }
.tn-ustan-knopki{ justify-content:center; }

.tn-ustan .tn-btn-primary,
.tn-ustan .tn-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--tn-knopka-zazor);
  padding: var(--tn-knopka-pole-melko); min-height: var(--tn-knopka-min-melko); border-radius: var(--tn-radius, 10px);
  font: var(--tn-ves-jirnyj) var(--tn-text-sm)/var(--tn-stroka-pole) var(--tn-font);
  letter-spacing: var(--tn-trek-cifry); cursor: pointer; border: var(--tn-obvodka-polya) solid transparent;
  transition: background var(--tn-dur-navedenie), color var(--tn-dur-navedenie), border-color var(--tn-dur-navedenie);
}
.tn-ustan .tn-btn-primary {
  background:var(--tn-primary, #055397); color:var(--tn-text-inverse, #fff);
}
.tn-ustan .tn-btn-primary:hover { background:var(--tn-primary-hover, #04406f); }
.tn-ustan .tn-btn-primary:disabled { opacity: var(--tn-prozr-navedenie); cursor: default; }
.tn-ustan .tn-btn-ghost {
  background:transparent; color:var(--tn-primary, #055397);
  border-color:var(--tn-border, #e2e8f0);
}
.tn-ustan .tn-btn-ghost:hover { border-color:var(--tn-primary, #055397); }
.tn-ustan .tn-btn-ghost:disabled { opacity: var(--tn-prozr-navedenie); cursor: default; }

.tk-vybor { display: flex; align-items: center; gap: var(--tn-gap-sm); padding: var(--tn-gap-xs) 0;
  font: var(--tn-ves-srednij) var(--tn-text-sm)/var(--tn-stroka-osnovnaya) var(--tn-font); color: var(--tn-text, #16232f);
  cursor: pointer; }
.tk-vybor input { width: var(--tn-pole-znak); height: var(--tn-pole-znak); accent-color: var(--tn-primary, #055397); cursor: pointer; }

@media (pointer: coarse), (hover: none), (max-width: 820px) {
  input:not([type="checkbox"]):not([type="radio"]),
  textarea,
  select {
    font-size: var(--tn-pole-kegl-tel) !important;
  }
}

.tn-nazhatie-otmeneno,
.tn-nazhatie-otmeneno:active{
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
}

.tn-palec{
  transform: scale(var(--tn-press, .98));
  transition: transform var(--tn-dur-palec) ease;
}

.tn-palec.os-iconbtn{
  background: var(--tn-primary-soft);
}

.tn-nazhatie-otmeneno.tn-palec{ transform: none; }

:root {
  --tn-accent: var(--tn-primary);
  --tn-bad: var(--tn-danger);
  --tn-bg: #F7FAFC;
  --tn-bg-grad-end: #EEF3F8;
  --tn-bg-grad-start: #FAFCFE;
  --tn-bg-soft: #F1F5F9;
  --tn-border: #E2E8F0;
  --tn-border-soft: #EDF2F7;
  --tn-border-strong: #CBD5E1;
  --tn-chislo-min: 150px;
  --tn-col: 460px;
  --tn-col-gap: 20px;
  --tn-col-sm: 380px;
  --tn-container-max: 1200px;
  --tn-container-wide: var(--tn-container-max);
  --tn-danger: #DC2626;
  --tn-danger-obvodka: #FECACA;
  --tn-danger-soft: #FEF2F2;
  --tn-danger-tekst: var(--tn-danger);
  --tn-data-chast: 2.2em;
  --tn-data-god: 3.6em;
  --tn-diag-shirina: 240px;
  --tn-diag-znachenie: 56%;
  --tn-doc-nomer-shirina: 52px;
  --tn-dur-bystro: 0.14s;
  --tn-dur-dyhanie: 2.8s;
  --tn-dur-krutitsya: 0.8s;
  --tn-dur-navedenie: .18s;
  --tn-dur-otklik: 0.12s;
  --tn-dur-palec: .06s;
  --tn-dur-poyavlenie: 0.35s;
  --tn-dur-signal: .42s;
  --tn-dur-verh: 0.24s;
  --tn-dur-zastavka: 1.8s;
  --tn-dur-zastavka-liniya: .85s;
  --tn-ease-otklik: cubic-bezier(.34,1.4,.64,1);
  --tn-ease-poezd: cubic-bezier(.45,.05,.35,1);
  --tn-ease-poyavlenie: cubic-bezier(0.22, 0.61, 0.36, 1);
  --tn-ease-verh: cubic-bezier(.32,.72,0,1);
  --tn-elev-1: 0 1px 2px rgba(6, 32, 72, .05), 0 3px 10px rgba(6, 32, 72, .05);
  --tn-elev-2: 0 4px 12px rgba(6, 32, 72, .08), 0 10px 26px rgba(6, 32, 72, .07);
  --tn-elev-3: 0 12px 32px rgba(6, 32, 72, .12), 0 22px 48px rgba(6, 32, 72, .09);
  --tn-elev-card: 0 0 0 1px rgba(6, 32, 72, .08), 0 10px 22px -14px rgba(6, 32, 72, .22);
  --tn-emblema-ten: drop-shadow(0 8px 22px rgba(0,20,60,.45));
  --tn-error-bg: var(--tn-danger-soft);
  --tn-flag-min: 22px;
  --tn-flag-obvodka: inset 0 0 0 1px rgba(15, 23, 42, .14);
  --tn-flag-podlozhka: rgba(15,23,42,.06);
  --tn-flag-shirina: 24px;
  --tn-flag-shirina-melko: 20px;
  --tn-flag-vysota: 16px;
  --tn-font: 'Golos Text', 'Inter', 'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --tn-font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Consolas, monospace;
  --tn-footer-pad: 24px;
  --tn-fs: var(--tn-text-base);
  --tn-fs-lg: var(--tn-text-lg);
  --tn-fs-md: var(--tn-text-base);
  --tn-fs-sm: var(--tn-text-sm);
  --tn-fs-xl: var(--tn-text-xl);
  --tn-fs-xs: var(--tn-text-xs);
  --tn-gap: 12px;
  --tn-gap-2xl: 56px;
  --tn-gap-2xs: 2px;
  --tn-gap-lg: 24px;
  --tn-gap-lg-plus: 28px;
  --tn-gap-md: 16px;
  --tn-gap-md-plus: 20px;
  --tn-gap-shire: 32px;
  --tn-gap-sm: 8px;
  --tn-gap-xl: 36px;
  --tn-gap-xs: 4px;
  --tn-glazami-otstup: 10px;
  --tn-god-shirina: 4.2ch;
  --tn-goroda-kolonok-3: 3;
  --tn-goroda-kolonok-4: 4;
  --tn-goroda-kolonok-5: 5;
  --tn-imya-geroj: 34px;
  --tn-imya-geroj-dolya: 11.2;
  --tn-imya-sajta-melko: 11px;
  --tn-imya-sajta-sredne: 13px;
  --tn-imya-trekking: -.01em;
  --tn-imya-ves: 700;
  --tn-info: #0284C7;
  --tn-info-soft: #F0F9FF;
  --tn-k-seredine: -50%;
  --tn-kartochka-metka: 11px;
  --tn-kartochka-podpis: 13px;
  --tn-kartochka-pole: 32px;
  --tn-kartochka-pole-melko: 12px 12px;
  --tn-kartochka-pole-metki: 8px 12px;
  --tn-kartochka-pole-shiroko: 24px 28px;
  --tn-kartochka-pole-szhato: 20px;
  --tn-kartochka-pole-uzko: 28px 24px;
  --tn-kartochka-verh: calc(var(--tn-kartochka-pole) - 12px);
  --tn-kartochka-verh-melko: calc(var(--tn-kartochka-pole) - 16px);
  --tn-kartochka-zazor: calc(var(--tn-kartochka-pole) - 12px);
  --tn-kartochka-zazor-melko: calc(var(--tn-kartochka-pole) - 20px);
  --tn-kartochka-zazor-tesno: calc(var(--tn-kartochka-pole) - 24px);
  --tn-klyuch-shirina: 20px;
  --tn-klyuch-vysota: 11px;
  --tn-knopka-min: var(--tn-knopka-vysota);
  --tn-knopka-min-krupno: var(--tn-knopka-vysota);
  --tn-knopka-min-melko: calc(var(--tn-knopka-vysota) - 10px);
  --tn-knopka-min-shirina: 240px;
  --tn-knopka-pole: 12px 20px;
  --tn-knopka-pole-melko: 8px 16px;
  --tn-knopka-vysota: 48px;
  --tn-knopka-vysota-stol: calc(var(--tn-knopka-vysota) - 12px);
  --tn-knopka-vysota-vtoraya: calc(var(--tn-knopka-vysota) - 8px);
  --tn-knopka-zazor: 8px;
  --tn-knopka-znak: 16px;
  --tn-knopka-znak-krupno: 20px;
  --tn-kolonka: 460px;
  --tn-kolonka-zazor: 20px;
  --tn-kraya-poverhnost: var(--tn-surface);
  --tn-kraya-steklo: none;
  --tn-krutilka: 24px;
  --tn-krutilka-knopka: 12px;
  --tn-krutilka-melko: 20px;
  --tn-krutilka-na-knopke: rgba(255,255,255,.3);
  --tn-krutilka-tolshchina: 2.5px;
  --tn-line: var(--tn-border);
  --tn-liniya-tolshchina: 1px;
  --tn-metka-pole: 5px;
  --tn-mintrans-deep: #001E47;
  --tn-mintrans-light: #1A5A8A;
  --tn-mintrans-mid: #003366;
  --tn-muted: var(--tn-text-muted);
  --tn-navy: var(--tn-text);
  --tn-niz-steklo: none;
  --tn-niz-vysota: 56px;
  --tn-obvodka-akcent: 3px;
  --tn-obvodka-polya: 1.5px;
  --tn-obvodka-polya-cvet: color-mix(in srgb, var(--tn-text) 26%, transparent);
  --tn-obvodka-vydelenie: 2px;
  --tn-ok: var(--tn-success);
  --tn-on-primary: var(--tn-text-inverse);
  --tn-os-oblast: 32px;
  --tn-os-podpis: 11px;
  --tn-os-podpis-stroka: 12px;
  --tn-os-podpis-ves: 500;
  --tn-os-podpis-ves-on: 700;
  --tn-os-podyom: 1px;
  --tn-os-pole: 12px;
  --tn-os-skruglenie: 10px;
  --tn-os-stanciya: 44px;
  --tn-os-svechenie: 3px;
  --tn-os-vozduh: 4px;
  --tn-os-vysota: 52px;
  --tn-os-zazor: 4px;
  --tn-os-znak: 24px;
  --tn-otchet-vysota: 90px;
  --tn-overlay: rgba(0, 10, 25, .5);
  --tn-page-pad: 24px;
  --tn-plitka-min: 240px;
  --tn-podlozhka-zapas: 200px;
  --tn-podpis-shirina: 44ch;
  --tn-podskazka-min: 14px;
  --tn-podskazki-vysota: 200px;
  --tn-pole-kegl-tel: 16px;
  --tn-pole-knopka: 28px;
  --tn-pole-krupno: 22px;
  --tn-pole-melkoe: calc(var(--tn-pole-vysota) - 20px);
  --tn-pole-mesto-znaka: calc(var(--tn-pole-vysota) - 8px);
  --tn-pole-mnogostrochnoe: calc(var(--tn-pole-vysota) * 2);
  --tn-pole-podpis: 13px;
  --tn-pole-podskazka-vysota: 18px;
  --tn-pole-pole: 12px 12px;
  --tn-pole-pole-krupno: 16px 12px;
  --tn-pole-pole-ploskoe: 0 12px;
  --tn-pole-vysota: 48px;
  --tn-pole-zazor: 4px;
  --tn-pole-zazor-krupno: 8px;
  --tn-pole-znak: 16px;
  --tn-pole-znak-krupno: 20px;
  --tn-polosa-tolshchina: 7px;
  --tn-polosa-tonkaya: 2px;
  --tn-polosa-vysota: 36px;
  --tn-press: .98;
  --tn-primary: #055397;
  --tn-primary-dark: #033258;
  --tn-primary-hover: var(--tn-primary-dark);
  --tn-primary-light: #5BA3D0;
  --tn-primary-soft: #E8F0F7;
  --tn-produkt-galka: 16px;
  --tn-produkty-shirina: 320px;
  --tn-prozr-kod: .72;
  --tn-prozr-navedenie: .6;
  --tn-prozr-nedostupno: .55;
  --tn-prozr-otklyucheno: .65;
  --tn-prozr-pometka: .75;
  --tn-prozr-projdeno: .5;
  --tn-prozr-tihaya: .7;
  --tn-prozr-zapis: .85;
  --tn-rabochaya-vozduh: clamp(28px, 5vh, 56px);
  --tn-radius: 8px;
  --tn-radius-flag: 2px;
  --tn-radius-flag-melko: 1px;
  --tn-radius-krug: 50%;
  --tn-radius-lg: 10px;
  --tn-radius-pill: 999px;
  --tn-radius-sm: 6px;
  --tn-radius-xl: 14px;
  --tn-radius-xs: 3px;
  --tn-read: 680px;
  --tn-ring: 0 0 0 4px var(--tn-primary-soft);
  --tn-ring-danger: 0 0 0 4px rgba(220, 38, 38, 0.12);
  --tn-ring-ok: 0 0 0 4px rgba(4, 120, 87, 0.12);
  --tn-ring-warn: 0 0 0 4px rgba(245, 158, 11, 0.18);
  --tn-sdvig-1: 1px;
  --tn-sdvig-2: 2px;
  --tn-sdvig-3: 3px;
  --tn-sdvig-znaka-kopirajt: -.5px;
  --tn-sekciya-vozduh: clamp(40px, 7vw, 80px);
  --tn-shadow-badge: 0 14px 38px rgba(0, 20, 60, 0.22), 0 4px 12px rgba(0, 20, 60, 0.14);
  --tn-shadow-btn: 0 8px 20px rgba(5, 83, 151, 0.28);
  --tn-shadow-btn-hover: 0 14px 28px rgba(5, 83, 151, 0.38);
  --tn-shadow-card: var(--tn-elev-card);
  --tn-shadow-lg: var(--tn-elev-3);
  --tn-shadow-md: var(--tn-elev-2);
  --tn-shadow-obvodka: 0 0 0 1px rgba(0, 0, 0, .08);
  --tn-shadow-obvodka-karty: 0 0 0 1px var(--tn-border), 0 1px 2px rgba(6, 32, 72, .10);
  --tn-shadow-obvodka-karty-noch: 0 0 0 1px var(--tn-border-strong), 0 1px 2px rgba(0, 0, 0, .35);
  --tn-shadow-obvodka-nazhato: 0 0 0 3px var(--tn-primary-soft, rgba(5, 83, 151, .16));
  --tn-shadow-obvodka-tonkaya: 0 0 0 .5px rgba(15, 23, 42, .22);
  --tn-shadow-plitka: 0 10px 26px color-mix(in srgb, var(--tn-mintrans-deep, #001E47) 18%, transparent);
  --tn-shadow-plitka-krupno: 0 12px 30px color-mix(in srgb, var(--tn-mintrans-deep, #001E47) 22%, transparent);
  --tn-shadow-sm: var(--tn-elev-1);
  --tn-shadow-svet-stancii: 0 0 10px color-mix(in srgb, var(--tn-primary-light, #9AD0F0) 70%, transparent);
  --tn-shag-tochka: 28px;
  --tn-shag-tochka-vysota: 4px;
  --tn-sheet: 560px;
  --tn-shirina-dve-kolonki: 900px;
  --tn-shirina-polosy-nizko: 420px;
  --tn-spisok-vysota: 280px;
  --tn-spisok-vysota-potok: 36vh;
  --tn-spisok-vysota-potok-krupno: 44vh;
  --tn-splash-bg: var(--tn-bg);
  --tn-splash-mark: var(--tn-primary);
  --tn-splash-ring: var(--tn-border);
  --tn-splash-word: var(--tn-text);
  --tn-stroka-imya: 1.05;
  --tn-stroka-imya-sajta: 1.1;
  --tn-stroka-kartochka: 1.45;
  --tn-stroka-melko: 1.6;
  --tn-stroka-metka-polya: 1.35;
  --tn-stroka-osnovnaya: 1.5;
  --tn-stroka-podpis: 1.55;
  --tn-stroka-pole: 1.3;
  --tn-stroka-srednyaya: 1.4;
  --tn-stroka-szhato: 1.2;
  --tn-stroka-tekst: 1.65;
  --tn-success: #047857;
  --tn-success-bg: var(--tn-success-soft);
  --tn-success-soft: #ECFDF5;
  --tn-surface: #FFFFFF;
  --tn-surface-2: var(--tn-surface-inset);
  --tn-surface-hover: #F1F5F9;
  --tn-surface-inset: #F1F5F9;
  --tn-tekst-na-akcente-tiho: rgba(255,255,255,.85);
  --tn-tekst-shirina: 62ch;
  --tn-telefon-kod: 64px;
  --tn-text: #0F172A;
  --tn-text-2xl: 28px;
  --tn-text-3xl: 34px;
  --tn-text-base: 15px;
  --tn-text-inverse: #FFFFFF;
  --tn-text-lg: 17px;
  --tn-text-light: #57616F;
  --tn-text-md: var(--tn-text-base);
  --tn-text-metka: 10.5px;
  --tn-text-muted: #4B5563;
  --tn-text-sm: 13px;
  --tn-text-soft: var(--tn-text-subtle);
  --tn-text-subtle: #5A6878;
  --tn-text-xl: 22px;
  --tn-text-xs: 11px;
  --tn-tochka: 8px;
  --tn-transition: 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  --tn-transition-slow: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --tn-traur-polosa: #14181d;
  --tn-trek-cifry: .01em;
  --tn-trek-geroj: -.035em;
  --tn-trek-kapitel: .2em;
  --tn-trek-knopka: .04em;
  --tn-trek-kod: .4em;
  --tn-trek-melko: .02em;
  --tn-trek-metka: .08em;
  --tn-trek-nadpis-kartochki: .22em;
  --tn-trek-nadzagolovok: .16em;
  --tn-trek-niit: .06em;
  --tn-trek-plotnee: -.015em;
  --tn-trek-razdel: .1em;
  --tn-trek-szhato: -.01em;
  --tn-trek-titul: -.025em;
  --tn-trek-yarlyk: .12em;
  --tn-tumbler-fon-noch: rgba(255,255,255,.22);
  --tn-tumbler-krug: 16px;
  --tn-tumbler-shirina: 38px;
  --tn-tumbler-vysota: 22px;
  --tn-tumbler-zazor: 3px;
  --tn-ust-metka: 104px;
  --tn-verh-ava-krupno: 32px;
  --tn-verh-chelovek-pole: 4px 10px 4px 4px;
  --tn-verh-chelovek-shirina: 240px;
  --tn-verh-chelovek-shirina-stol: min(280px, 32vw);
  --tn-verh-imya: 17px;
  --tn-verh-metka: 8px;
  --tn-verh-metka-obvodka: 2px;
  --tn-verh-pole: 24px;
  --tn-verh-pole-znaka: 4px;
  --tn-verh-pripiska: 11px;
  --tn-verh-pripiska-otstup: 2px;
  --tn-verh-sdvig-kraya: -6px;
  --tn-verh-sloj: 60;
  --tn-verh-sloj-tel: 84;
  --tn-verh-steklo: var(--tn-kraya-steklo);
  --tn-verh-vozduh: 6px;
  --tn-verh-vysota: 52px;
  --tn-verh-vysota-nizko: 40px;
  --tn-verh-vysota-tel: 48px;
  --tn-verh-zazor: 12px;
  --tn-verh-zazor-tel: 4px;
  --tn-verh-zazor-vnutri: 12px;
  --tn-verh-znak: 28px;
  --tn-ves-chernyj: 800;
  --tn-ves-jirnyj: 700;
  --tn-ves-obychnyj: 400;
  --tn-ves-polujirnyj: 600;
  --tn-ves-srednij: 500;
  --tn-vhod-znachok: 40px;
  --tn-vid-zazor: 9px;
  --tn-warn: var(--tn-warning);
  --tn-warning: #B45309;
  --tn-warning-bg: var(--tn-warning-soft);
  --tn-warning-border: color-mix(in srgb, var(--tn-warning) 45%, transparent);
  --tn-warning-podlozhka: color-mix(in srgb, var(--tn-warning) 8%, transparent);
  --tn-warning-podlozhka-tiho: color-mix(in srgb, var(--tn-warning) 5%, transparent);
  --tn-warning-soft: #FFFBEB;
  --tn-white: #FFFFFF;
  --tn-yarche: brightness(1.06);
  --tn-za-ekranom: -9999px;
  --tn-zaderzhka-1: .1s;
  --tn-zaderzhka-2: .16s;
  --tn-zagolovok: 28px;
  --tn-zagolovok-tel: 22px;
  --tn-zapis-cvet: color-mix(in srgb, var(--tn-text-subtle) 78%, transparent);
  --tn-zapis-kegl: 11px;
  --tn-zapis-kegl-brend: 13px;
  --tn-zapis-razdelitel: 10px;
  --tn-zapis-shag: 8px;
  --tn-zapis-trekking: 0.02em;
  --tn-zapis-ves: 400;
  --tn-zapis-zazor: 4px;
  --tn-zastavka-skruglenie: 18px;
  --tn-zastavka-ten: drop-shadow(0 10px 26px rgba(0,10,40,.28));
  --tn-zastavka-znak: 80px;
  --tn-znachok-org: 32px;
  --tn-znak-cel: 44px;
  --tn-znak-geroj: 56px;
  --tn-znak-skruglenie: 6px;
  --tn-znak-strelki: 12px;
  --tn-znak-ten: drop-shadow(0 0 .6px rgba(6,32,72,.32)) drop-shadow(0 1px 2px rgba(6,32,72,.12));
  --tn-znak-ten-noch: drop-shadow(0 0 .6px rgba(255,255,255,.22)) drop-shadow(0 1px 3px rgba(0,0,0,.45));
  --tn-znak-zazor: 8px;
  --tn-zona-knopki: 40px;
  --tn-zona-znaka: 42px;
}
html.tn-dark {
  --tn-bg: #0B1120;
  --tn-bg-grad-end: #0F1A33;
  --tn-bg-grad-start: #0B1120;
  --tn-bg-soft: #151D2E;
  --tn-border: #1E293B;
  --tn-border-soft: #2C3A52;
  --tn-border-strong: #334155;
  --tn-danger: #F87171;
  --tn-danger-obvodka: #5A1A1A;
  --tn-danger-soft: rgba(248, 113, 113, 0.10);
  --tn-danger-tekst: #FCA5A5;
  --tn-elev-1: 0 1px 3px rgba(0, 6, 18, .30);
  --tn-elev-2: 0 6px 18px rgba(0, 6, 18, .36);
  --tn-elev-3: 0 14px 36px rgba(0, 4, 14, .46), 0 0 0 1px rgba(150, 190, 225, .07);
  --tn-elev-card: 0 0 0 1px rgba(150, 190, 225, .13), 0 10px 22px -14px rgba(0, 4, 14, .6);
  --tn-error-bg: #2A1010;
  --tn-info: #38BDF8;
  --tn-info-soft: rgba(56, 189, 248, 0.10);
  --tn-overlay: rgba(0, 0, 0, 0.7);
  --tn-primary: #5BA3D0;
  --tn-primary-dark: #055397;
  --tn-primary-hover: var(--tn-primary-light);
  --tn-primary-light: #7BBDE3;
  --tn-primary-soft: rgba(91, 163, 208, 0.12);
  --tn-shadow-badge: var(--tn-elev-3);
  --tn-shadow-btn: 0 8px 20px rgba(91, 163, 208, 0.32);
  --tn-shadow-btn-hover: 0 14px 28px rgba(91, 163, 208, 0.42);
  --tn-success: #34D399;
  --tn-success-bg: #0F2418;
  --tn-success-soft: rgba(52, 211, 153, 0.10);
  --tn-surface: #151D2E;
  --tn-surface-hover: #1E293B;
  --tn-surface-inset: #1E283D;
  --tn-text: #F8FAFC;
  --tn-text-inverse: #0F172A;
  --tn-text-light: #AAB8C9;
  --tn-text-muted: #CBD5E1;
  --tn-text-subtle: #94A3B8;
  --tn-warning: #FBBF24;
  --tn-warning-bg: #2A1F08;
  --tn-warning-soft: rgba(251, 191, 36, 0.10);
}
@media (prefers-color-scheme: dark) { html:not(.tn-light) {
  --tn-bg: #0B1120;
  --tn-bg-grad-end: #0F1A33;
  --tn-bg-grad-start: #0B1120;
  --tn-bg-soft: #151D2E;
  --tn-border: #1E293B;
  --tn-border-soft: #2C3A52;
  --tn-border-strong: #334155;
  --tn-danger: #F87171;
  --tn-danger-obvodka: #5A1A1A;
  --tn-danger-soft: rgba(248, 113, 113, 0.10);
  --tn-danger-tekst: #FCA5A5;
  --tn-elev-1: 0 1px 3px rgba(0, 6, 18, .30);
  --tn-elev-2: 0 6px 18px rgba(0, 6, 18, .36);
  --tn-elev-3: 0 14px 36px rgba(0, 4, 14, .46), 0 0 0 1px rgba(150, 190, 225, .07);
  --tn-elev-card: 0 0 0 1px rgba(150, 190, 225, .13), 0 10px 22px -14px rgba(0, 4, 14, .6);
  --tn-error-bg: #2A1010;
  --tn-info: #38BDF8;
  --tn-info-soft: rgba(56, 189, 248, 0.10);
  --tn-overlay: rgba(0, 0, 0, 0.7);
  --tn-primary: #5BA3D0;
  --tn-primary-dark: #055397;
  --tn-primary-hover: var(--tn-primary-light);
  --tn-primary-light: #7BBDE3;
  --tn-primary-soft: rgba(91, 163, 208, 0.12);
  --tn-shadow-badge: var(--tn-elev-3);
  --tn-shadow-btn: 0 8px 20px rgba(91, 163, 208, 0.32);
  --tn-shadow-btn-hover: 0 14px 28px rgba(91, 163, 208, 0.42);
  --tn-success: #34D399;
  --tn-success-bg: #0F2418;
  --tn-success-soft: rgba(52, 211, 153, 0.10);
  --tn-surface: #151D2E;
  --tn-surface-hover: #1E293B;
  --tn-surface-inset: #1E283D;
  --tn-text: #F8FAFC;
  --tn-text-inverse: #0F172A;
  --tn-text-light: #AAB8C9;
  --tn-text-muted: #CBD5E1;
  --tn-text-subtle: #94A3B8;
  --tn-warning: #FBBF24;
  --tn-warning-bg: #2A1F08;
  --tn-warning-soft: rgba(251, 191, 36, 0.10);
} }
html.tn-traur {
  --tn-mintrans-deep: #22282F;
  --tn-mintrans-light: #5A6878;
  --tn-mintrans-mid: #39424C;
  --tn-primary: #5A6878;
  --tn-primary-dark: #3E4A58;
  --tn-primary-light: #8A97A6;
  --tn-primary-soft: #EEF0F2;
  --tn-ring: 0 0 0 4px rgba(90, 104, 120, .14);
  --tn-splash-mark: #5A6878;
}
html.tn-traur.tn-dark {
  --tn-mintrans-deep: #0E1319;
  --tn-mintrans-light: #3C4652;
  --tn-mintrans-mid: #1B222B;
  --tn-primary: #A8B4C2;
  --tn-primary-dark: #7C8896;
  --tn-primary-light: #C3CCD6;
  --tn-primary-soft: rgba(168, 180, 194, .12);
  --tn-ring: 0 0 0 4px rgba(168, 180, 194, .16);
  --tn-splash-mark: #A8B4C2;
}
@media (prefers-color-scheme: dark) { html.tn-traur:not(.tn-light) {
  --tn-mintrans-deep: #0E1319;
  --tn-mintrans-light: #3C4652;
  --tn-mintrans-mid: #1B222B;
  --tn-primary: #A8B4C2;
  --tn-primary-dark: #7C8896;
  --tn-primary-light: #C3CCD6;
  --tn-primary-soft: rgba(168, 180, 194, .12);
  --tn-ring: 0 0 0 4px rgba(168, 180, 194, .16);
  --tn-splash-mark: #A8B4C2;
} }

:root {
  --tn-kolonok: 2;
  --tn-page: calc(var(--tn-kolonka, 460px) * var(--tn-kolonok) + var(--tn-kolonka-zazor, 20px) * (var(--tn-kolonok) - 1));
}
@media (min-width: 1200px) { :root { --tn-kolonok: 3; } }
@media (min-width: 2000px) { :root { --tn-kolonok: 4; } }

body :is(#tn-app, #tn-os) .tn-verh .tn-znak-word {
  min-width: 0;
  white-space: normal;
  flex-wrap: wrap;
  column-gap: 0;
  text-align: start;
}
@media (max-width: 359.98px) {
  body :is(#tn-app, #tn-os) .tn-verh .tn-znak-word { display: none; }
}

body :is(#tn-app, #tn-os) .tn-verh button,
body :is(#tn-app, #tn-os) .tn-verh a[href],
body :is(#tn-app, #tn-os) .tn-verh [role="button"] {
  min-width: var(--tn-znak-cel, 44px);
  min-height: var(--tn-znak-cel, 44px);
}

body :is(#tn-app, #tn-os) .tn-verh .tn-znak { min-width: 0; }

html.tn-dark body .tn-znak-ikonka[data-ten="да"],
html.tn-dark body .tn-produkt-ikonka[data-ten="да"],
html.tn-dark body .vt-znak img {
  filter: var(--tn-znak-ten-noch);
}

body :is(#tn-app, #tn-os) .tn-verh .tn-produkty {
  position: absolute;
  top: calc(100% + var(--tn-gap-xs));
  left: var(--tn-produkty-x, var(--tn-verh-pole));
  width: min(var(--tn-produkty-shirina), calc(100% - var(--tn-verh-pole) * 2));
  display: flex;
  flex-direction: column;
  gap: var(--tn-gap-2xs);
  padding: var(--tn-gap-xs);
  background: var(--tn-surface);
  border: var(--tn-liniya-tolshchina, 1px) solid var(--tn-border);
  border-radius: var(--tn-radius-lg);
  box-shadow: var(--tn-elev-3);
}
body :is(#tn-app, #tn-os) .tn-verh .tn-produkt {
  display: flex;
  align-items: center;
  gap: var(--tn-gap-sm);
  padding: var(--tn-gap-sm);
  border-radius: var(--tn-radius);
  color: var(--tn-text);
  text-decoration: none;
  justify-content: flex-start;
  width: 100%;
}

@media (hover: hover) {
  body :is(#tn-app, #tn-os) .tn-verh :is(.tn-produkt, .tn-sluzhba-stroka):hover { background: var(--tn-surface-hover); }
}
body :is(#tn-app, #tn-os) .tn-verh :is(.tn-produkt, .tn-sluzhba-stroka):focus-visible,
body :is(#tn-app, #tn-os) .tn-verh :is(.tn-produkt, .tn-sluzhba-stroka):active,
body :is(#tn-app, #tn-os) .tn-verh :is(.tn-produkt, .tn-sluzhba-stroka).tn-palec { background: var(--tn-surface-hover); }

body :is(#tn-app, #tn-os) .tn-verh .tn-produkty-sluzhba {
  display: flex;
  flex-direction: column;
  gap: var(--tn-gap-2xs);
  margin-top: var(--tn-gap-2xs);
  padding-top: var(--tn-gap-xs);
  border-top: var(--tn-liniya-tolshchina) solid var(--tn-border);
  order: 9999;   
}
body :is(#tn-app, #tn-os) .tn-verh .tn-sluzhba-stroka {
  display: flex;
  align-items: center;
  gap: var(--tn-gap-sm);
  width: 100%;
  min-height: var(--tn-znak-cel);
  padding: var(--tn-gap-sm);
  
  padding-left: calc(var(--tn-gap-sm) * 2 + var(--tn-verh-znak));
  border: 0;
  border-radius: var(--tn-radius);
  background: none;
  color: var(--tn-text);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
body :is(#tn-app, #tn-os) .tn-verh .tn-sluzhba-tekst { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
body :is(#tn-app, #tn-os) .tn-verh .tn-sluzhba-imya {
  font-size: var(--tn-text-base);
  font-weight: var(--tn-ves-polujirnyj);
  line-height: var(--tn-stroka-szhato);
}
body :is(#tn-app, #tn-os) .tn-verh .tn-sluzhba-podpis {
  font-size: var(--tn-text-xs);
  color: var(--tn-text-subtle);
  line-height: var(--tn-stroka-szhato);
}

body :is(#tn-app, #tn-os) .tn-verh .tn-produkt[aria-current="true"]::after {
  content: "";
  flex: none;
  width: var(--tn-produkt-galka);
  height: var(--tn-produkt-galka);
  margin-left: var(--tn-gap-sm);
  background: var(--tn-primary);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
body :is(#tn-app, #tn-os) .tn-verh .tn-produkt-znak { display: flex; flex: none; }

body :is(#tn-app, #tn-os) [data-otklik] { position: relative; }
body #tn-app .tn-otklik-sw {
  position: absolute; inset: 0; margin: 0; padding: 0; border: 0; width: 100%; height: 100%;
  opacity: 0; appearance: none; -webkit-appearance: none; background: none; z-index: 2;
}
body :is(#tn-app, #tn-os) .tn-verh .tn-produkt-ikonka {
  width: var(--tn-verh-znak);
  height: var(--tn-verh-znak);
  border-radius: var(--tn-radius-sm);
  transform: scale(var(--tn-znak-optika, 1));
}
body :is(#tn-app, #tn-os) .tn-verh .tn-produkt-tekst { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }

body :is(#tn-app, #tn-os) .tn-verh .tn-produkt-imya { white-space: normal; }
body :is(#tn-app, #tn-os) .tn-verh .tn-produkt-imya {
  font-size: var(--tn-text-base);
}

body :is(#tn-app, #tn-os) .tn-verh .tn-produkt-imya:not(.tn-imya-sajta) {
  font-weight: var(--tn-ves-polujirnyj);
  line-height: var(--tn-stroka-szhato);
}
body :is(#tn-app, #tn-os) .tn-verh .tn-produkt-podpis {
  font-size: var(--tn-text-xs);
  color: var(--tn-text-subtle);
  line-height: var(--tn-stroka-szhato);
}

body #tn-os .os-appname {
  font-weight: var(--tn-ves-jirnyj);
  color: var(--tn-navy, #12243b);
}

body #tn-app .tn-znak:active,
body #tn-os .tn-znak:active {
  background: var(--tn-surface-inset) !important;
  border-radius: var(--tn-radius) !important;
  transform: scale(var(--tn-press));
}

@keyframes osShag{ 0%{ offset-distance:0%; } 55%,100%{ offset-distance:100%; } }

@keyframes osDogonyaet{ 0%,75%{ transform:translate(0,0); } 100%{ transform:translate(-32.5px,20px); } }

@keyframes osVolna{ 0%,55%{ opacity:0; transform:scale(1); } 62%{ opacity:.5; } 100%{ opacity:0; transform:scale(1.9); } }

@keyframes osListVverh{ from{ transform:translateY(100%) } to{ transform:none } }

@keyframes tnRamkaEst{ from{ opacity:0 } to{ opacity:1 } }

@keyframes tn-skelet-shine { 100% { transform:translateX(100%); } }

html.tn-karkas, html.tn-karkas body {
  height: 100%; overflow: hidden;
}

html.tn-karkas, html.tn-karkas body { background: var(--tn-bg) !important; }

html.tn-karkas body #tn-app,
html.tn-karkas body #tn-os {
  
  background: var(--tn-bg);
  
  height: 100vh;      
  height: 100dvh;     
  
  height: 100%;
  
  height: var(--tn-ekran, 100%);
  display: flex; flex-direction: column; overflow: hidden;
}

html.tn-karkas body #tn-app {
  position: fixed; inset: 0; height: auto;
}

html.tn-karkas body #tn-app .tn-verh,
html.tn-karkas body #tn-os .tn-verh,
html.tn-karkas body #tn-app .vt-head { flex: 0 0 auto; position: relative; z-index: var(--tn-verh-sloj, 60); }

html.tn-karkas body #tn-app .tn-main > *,
html.tn-karkas body #tn-app .vt-main > * { flex: 0 0 auto; }

html.tn-karkas body #tn-app .tn-main,
html.tn-karkas body #tn-app .vt-main {
  padding-block: 0;
  
  display: flex; flex-direction: column; align-items: stretch;
}
html.tn-karkas body #tn-app .tn-main > .tn-main-body,
html.tn-karkas body #tn-app .vt-main > .tn-main-body {
  padding-block: var(--tn-rabochaya-vozduh);
  flex: 1 0 auto;
  display: flex; flex-direction: column;
  align-items: center; justify-content: safe center;
  width: 100%;
}
html.tn-karkas body #tn-app .tn-main > .tn-main-body > *,
html.tn-karkas body #tn-app .vt-main > .tn-main-body > * { flex: 0 0 auto; }

html.tn-karkas body #tn-app .vt-main { background: var(--tn-bg); }
html.tn-karkas body #tn-app .vt-main > .tn-main-body { background: var(--tn-bg); }

html.tn-karkas body #tn-app :is(.tn-main, .vt-main) { padding-inline: 0; }
html.tn-karkas body #tn-app :is(.tn-main, .vt-main) > .tn-main-body {
  padding-inline: var(--tn-page-pad);
}

html.tn-karkas body #tn-app .tn-main,
html.tn-karkas body #tn-app .vt-main { justify-content: flex-start; }

html.tn-karkas body #tn-app .tn-main,
html.tn-karkas body #tn-app .vt-main {
  flex: 1 1 auto; min-height: 0;

  overflow-y: auto; -webkit-overflow-scrolling: touch;
}
html.tn-tel.tn-karkas body #tn-app .tn-main,
html.tn-karkas body #tn-app .tn-main,
html.tn-karkas body #tn-app .vt-main { scrollbar-width: none; }
html.tn-karkas body #tn-app .tn-main::-webkit-scrollbar,
html.tn-karkas body #tn-app .vt-main::-webkit-scrollbar { width: 0; height: 0; }

html.tn-karkas body #tn-os .os-body > .tn-footer,
html.tn-karkas body :is(#tn-app, #tn-os) .tn-main > .tn-footer,
html.tn-karkas body :is(#tn-app, #tn-os) .vt-main > .tn-footer { margin-top: auto; }

html.tn-karkas body #tn-os .os-body > *:not(.tn-footer) { width: 100%; }

html.tn-karkas body :is(#tn-app, #tn-os) .tn-footer {
  position: relative; z-index: 3;
  flex: 0 0 auto;
  margin-top: 0;
  
}

html.tn-karkas body :is(#tn-app, #tn-os) .tn-main > .tn-footer,
html.tn-karkas body :is(#tn-app, #tn-os) .vt-main > .tn-footer {
  margin-inline: 0;
  width: 100%;
  padding-inline: var(--tn-page-pad);
}

@media (pointer: coarse), (hover: none) {
  
  html.tn-karkas, html.tn-karkas body { background: var(--tn-bg) !important; }
  
  html.tn-karkas body #tn-app,
  html.tn-karkas body #tn-os {
    overflow: hidden;
  }
  html.tn-karkas body #tn-app .tn-main,
  html.tn-karkas body #tn-app .vt-main,
  html.tn-karkas body #tn-os .os-body {
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
  }
  html.tn-karkas body #tn-app .tn-main::-webkit-scrollbar,
  html.tn-karkas body #tn-app .vt-main::-webkit-scrollbar,
  html.tn-karkas body #tn-os .os-body::-webkit-scrollbar { width: 0; height: 0; }
  
  html.tn-karkas body #tn-app .tn-verh,
  html.tn-karkas body #tn-os .tn-verh,
  html.tn-karkas body #tn-app .vt-head { position: sticky; top: 0; }

  html.tn-karkas body #tn-app .tn-main,
  html.tn-karkas body #tn-app .vt-main {
    flex: 1 1 auto;
    min-height: 0;
  }
  
  html.tn-karkas body #tn-app .tn-main > .tn-main-body,
  html.tn-karkas body #tn-app .vt-main > .tn-main-body {
    min-height: calc(var(--tn-ekran, 100dvh)
                     - var(--tn-verh-vysota-tel)
                     - var(--tn-verh-vozduh)
                     - env(safe-area-inset-top, 0px));
  }
}
body #tn-app .tn-podval-ruchka { display: none; }

@media print {
  
  html.tn-karkas, html.tn-karkas body,
  html.tn-karkas body :is(#tn-app, #tn-os) {
    height: auto !important;
    overflow: visible !important;
    display: block !important;
    background: #fff !important;
  }
  html.tn-karkas body :is(#tn-app, #tn-os) :is(.tn-main, .vt-main, .os-body) {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  body :is(#tn-app, #tn-os) :is(.tn-verh, .vt-head, .os-dock, .os-anchors,
    .tn-footer, .os-polosa, .tn-signal, .os-sheet, .os-overlay, .tn-modal) {
    display: none !important;
  }
  
  body :is(#tn-app, #tn-os) button { display: none !important; }

  body :is(#tn-app, #tn-os),
  body :is(#tn-app, #tn-os) * {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    color: #000 !important;
  }
  
  body :is(#tn-app, #tn-os) :is(.tn-card, .os-app, .vt-doc) {
    border: 1px solid #999 !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  
  body :is(#tn-app, #tn-os) :is(h1, h2, h3) {
    break-after: avoid;
    page-break-after: avoid;
  }
  @page { margin: 16mm 14mm; }
}

html.tn-karkas body #tn-app .tn-main,
html.tn-karkas body #tn-app .vt-main,
html.tn-karkas body #tn-os .os-body { overflow-x: hidden; overscroll-behavior-x: none; }
html.tn-karkas, html.tn-karkas body { overflow-x: hidden; overscroll-behavior-x: none; }

@view-transition { navigation: auto; }
html.tn-karkas .tn-verh { view-transition-name: tn-verh; }
@media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } }
