/* Wise Ruler — personal Wiki.js theme. Palette: brandbook_wise_ruler.pdf, p. 3. */
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('./manrope-cyrillic-wght-normal.woff2') format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url('./manrope-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+2000-206F,U+2191,U+2193;
}
:root {
  --wr-navy: #0d1b2a; --wr-graphite: #212529; --wr-bronze: #c5a059;
  --wr-paper: #f8f9fa; --wr-white: #fff; --wr-muted: #626c76;
  --wr-line: #dce1e5; --wr-soft: #f1ede5; --wr-link: #304e67;
  --wr-body: 'Roboto', Arial, sans-serif;
  --wr-heading: 'Manrope', 'Roboto', Arial, sans-serif;
}
html { scroll-padding-top: 90px; }
::selection { background: #e8dbc1; color: var(--wr-navy); }
.v-application { font-family: var(--wr-body); }
.v-application.theme--light { color: var(--wr-graphite); background: var(--wr-paper); }
.v-application a { text-underline-offset: .2em; }
#app.v-application .primary { background-color: var(--wr-navy) !important; border-color: var(--wr-navy) !important; }
#app.v-application .primary--text { color: var(--wr-link) !important; caret-color: var(--wr-link) !important; }
.v-application .v-btn { letter-spacing: .025em; border-radius: 4px; }
.v-application .v-btn.primary, .v-application .v-btn.blue { background: var(--wr-navy) !important; border-color: var(--wr-navy) !important; color: #f8f9fa !important; }
.v-application a:focus-visible, .v-application button:focus-visible, .v-application [tabindex]:focus-visible {
  outline: 2px solid var(--wr-bronze); outline-offset: 3px;
}

/* Persistent navigation: restrained contrast and clear active states. */
#app .nav-header, #app .nav-header-inner { background: var(--wr-navy) !important; }
#app > .v-application--wrap > .nav-header { border-bottom: 1px solid #c5a05966; }
.nav-header .v-toolbar__title { font: 600 16px/1.4 var(--wr-heading); letter-spacing: -.025em; }
.nav-header .v-input__slot { background: #ffffff0c !important; border: 1px solid #ffffff26; border-radius: 4px !important; box-shadow: none !important; }
.nav-header .v-text-field--rounded { border-radius: 4px; }
.nav-header .v-input--is-focused .v-input__slot { border-color: var(--wr-bronze); }
.nav-header .v-input input, .nav-header .v-input input::placeholder { color: #d3d9df; opacity: 1; }
.nav-header .v-icon { color: #d3d9df !important; }
.nav-header .v-btn:hover .v-icon { color: var(--wr-bronze) !important; }
.org-logo .v-image__image, .login-logo .v-image__image {
  background-image: url('./monogram.svg') !important; background-size: contain !important;
}
#app .v-navigation-drawer { background: var(--wr-navy) !important; border-right: 1px solid #c5a05933; }
#app .v-navigation-drawer .grey, #app .v-navigation-drawer .v-list { background: transparent !important; }
.v-navigation-drawer .v-list { padding-top: 18px; }
.v-navigation-drawer .v-list-item { margin: 2px 10px; padding: 0 10px; border-radius: 3px; min-height: 42px; }
.v-navigation-drawer .v-list-item__title { font: 500 13px/1.55 var(--wr-heading); color: #d8dfe5; }
.v-navigation-drawer .v-list-item__icon { margin-right: 14px !important; }
.v-navigation-drawer .v-list-item .v-icon { color: #b9a27b !important; font-size: 19px; }
.v-navigation-drawer .v-list-item--active { background: #c5a05918; box-shadow: inset 2px 0 var(--wr-bronze); }
.v-navigation-drawer .v-list-item--active .v-list-item__title { color: #fff; }
.v-navigation-drawer .v-list-item:hover { background-color: #ffffff0b; }
.v-navigation-drawer .__bar-is-vertical { background: #aeb9c366 !important; }

/* Article title, reading column and quiet secondary information. */
.v-main:has(.contents) { background: var(--wr-paper); }
#app .v-main:has(.contents) > .v-main__wrap > .container.grey { background: var(--wr-paper) !important; }
.v-main:has(.contents) .v-breadcrumbs { padding: 18px 44px 0; font-size: 12px; }
.v-main:has(.contents) .v-breadcrumbs a { color: var(--wr-muted); }
.page-header-section { height: auto !important; min-height: 160px; padding: 36px 44px 32px; }
.page-header-section .is-page-header { margin: 0 !important; padding: 0 !important; flex-basis: 100%; max-width: 100%; }
#app .page-header-headings .headline { font: 700 clamp(27px, 2.7vw, 40px)/1.25 var(--wr-heading) !important; letter-spacing: -.035em !important; color: var(--wr-navy) !important; }
#app .page-header-headings .caption { margin-top: 14px; max-width: 780px; color: var(--wr-muted) !important; font: 400 14px/1.7 var(--wr-body) !important; letter-spacing: 0 !important; }
.page-header-headings::before { content: ''; display: block; width: 44px; height: 3px; background: var(--wr-bronze); margin-bottom: 20px; }
.v-main:has(.contents) > .v-main__wrap > .v-divider { border-color: var(--wr-line); }
.v-main:has(.contents) > .v-main__wrap > .container.grid-list-xl { padding: 36px 44px 64px !important; }
.v-main:has(.contents) > .v-main__wrap > .container.grid-list-xl > .layout { margin: 0; gap: 44px; flex-wrap: nowrap; align-items: flex-start; }
.page-col-content:not(.is-page-header) { order: 1 !important; flex: 1 1 0 !important; min-width: 0; max-width: none !important; padding: 0 !important; }
.page-col-sd { order: 2 !important; flex: 0 0 224px !important; max-width: 224px !important; min-width: 0; padding: 0 !important; margin-top: 0 !important; }
.page-col-sd .v-card { box-shadow: none !important; border-radius: 0; background: transparent !important; }
.page-col-sd .v-card > .v-card__text { padding: 20px 0; }
#app .page-col-sd .page-toc-card { border-top: 2px solid var(--wr-bronze) !important; }
#app .page-col-sd .page-tags-card, #app .page-col-sd .page-author-card { border-top: 1px solid var(--wr-line) !important; }
#app .page-col-sd .overline { font: 650 10px/1.8 var(--wr-heading) !important; letter-spacing: .14em !important; color: var(--wr-muted) !important; }
.page-col-sd .v-list { background: transparent !important; }
.page-col-sd .v-list-item { padding: 0; min-height: 36px; }
.page-col-sd .v-list-item__title { font-size: 12px; line-height: 1.6; color: var(--wr-muted); white-space: normal; }
.page-col-sd .v-list-item--active .v-list-item__title { color: var(--wr-navy); font-weight: 600; }
.page-col-sd .v-list-item .v-icon { font-size: 15px; color: #8e7a56 !important; }
#app .page-col-sd .v-chip, #app .page-col-sd .v-btn.teal { background: var(--wr-soft) !important; color: #635131 !important; border-color: #e3d8c4 !important; }
#app .page-col-sd .v-chip .teal--text { color: #635131 !important; }
#app .page-col-sd .v-chip .v-icon { color: #786139 !important; }
.page-col-sd .page-author-card .body-2, .page-col-sd .page-author-card .caption { color: var(--wr-muted) !important; }
.page-shortcuts-card { border-top: 1px solid var(--wr-line); }
#app .contents { color: var(--wr-graphite); font: 400 16px/1.85 var(--wr-body); overflow-wrap: anywhere; }
.contents > :first-child { margin-top: 0 !important; }
.contents h1, .contents h2, .contents h3, .contents h4, .contents h5, .contents h6 {
  font-family: var(--wr-heading) !important; color: var(--wr-navy) !important;
  letter-spacing: -.025em; font-weight: 700; line-height: 1.4;
  scroll-margin-top: 88px; background: none !important;
}
.contents h1 { font-size: 29px !important; margin: 0 0 24px !important; padding: 0 0 18px !important; border-bottom: 1px solid var(--wr-line) !important; }
.contents h2 { font-size: 23px !important; margin: 40px 0 20px !important; padding: 0 0 12px !important; border-bottom: 1px solid var(--wr-line) !important; }
.contents h3 { font-size: 18px !important; margin: 28px 0 14px !important; padding-bottom: 0 !important; border: 0 !important; }
.contents h1::after, .contents h2::after, .contents h3::after { background: transparent !important; }
.contents p { margin-bottom: 20px; line-height: 1.85; }
.contents li { margin: 9px 0; line-height: 1.8; }
.contents li::marker { color: #8b744b; }
.contents a { color: var(--wr-link) !important; text-decoration-color: #bac7d0; text-decoration-thickness: 1px; }
.contents a:hover { color: var(--wr-navy) !important; text-decoration-color: var(--wr-bronze); }
.contents strong { font-weight: 650; }
.contents hr { margin: 36px 0; border-color: var(--wr-line); }
.contents blockquote { margin: 26px 0; padding: 20px 24px; border-left: 3px solid var(--wr-bronze); background: var(--wr-soft); border-radius: 0 4px 4px 0; color: var(--wr-graphite); }
.contents blockquote p:last-child { margin-bottom: 0; }
/* Keep native semantic colors on warning/error blocks and syntax token colors. */
.contents code { font-family: 'Roboto Mono', 'Liberation Mono', monospace; font-size: .86em; }
.contents :not(pre) > code { color: #425264 !important; background: #e9edf0 !important; border-radius: 3px; padding: 2px 5px; box-shadow: none; }
.contents pre { border: 1px solid #243749; border-radius: 5px !important; background: var(--wr-navy) !important; padding: 24px !important; margin: 24px 0 !important; max-width: 100%; overflow-x: auto; box-shadow: none !important; }
.contents pre code { color: #e4e9ee; background: transparent !important; line-height: 1.8; overflow-wrap: normal; word-break: normal; }
.contents .code-toolbar { max-width: 100%; min-width: 0; }
.contents .code-toolbar > .toolbar .toolbar-item > button { color: #e4d2ad !important; background: #253645 !important; border-radius: 3px; box-shadow: none; }
.contents table { border-collapse: collapse; width: 100%; margin: 24px 0; font-size: 14px; }
.contents table th { background: var(--wr-navy) !important; color: #f8f9fa !important; font-family: var(--wr-heading); font-weight: 600; text-align: left; }
.contents table th, .contents table td { padding: 13px 16px !important; border: 1px solid var(--wr-line) !important; line-height: 1.7; }
.contents table tr:nth-child(even) td { background: #eef1f3; }
.contents img { max-width: 100%; height: auto; border-radius: 4px; }
.contents details { margin: 20px 0; padding: 14px 20px; border: 1px solid var(--wr-line); border-radius: 4px; }
.contents summary { color: var(--wr-navy); cursor: pointer; font-weight: 600; }
.page-col-content .v-speed-dial .v-btn { border-radius: 50%; background: var(--wr-navy) !important; box-shadow: 0 4px 16px #0d1b2a26 !important; }
.page-col-content .v-speed-dial .v-btn .v-icon { color: var(--wr-bronze) !important; }
#app .v-footer { background: var(--wr-paper) !important; border-top: 1px solid var(--wr-line); padding: 22px; }
#app .v-footer a { color: var(--wr-link); }

/* Search and editing retain their native interactions. */
#app .editor-markdown-toolbar { background: var(--wr-navy) !important; border-top: 1px solid #c5a05944; }
#app .editor-markdown-toolbar .v-icon { color: #e0e6eb; }
#app .search-results { background: #0d1b2aeb; }
#app .search-results-items { border-radius: 4px !important; border-top: 2px solid var(--wr-bronze); }
#app .search-results-items .v-list-item { background: var(--wr-paper); border-color: var(--wr-line); }
#app .search-results-items .v-list-item.highlighted, #app .search-results-items .v-list-item:hover { background: var(--wr-soft) !important; box-shadow: inset 3px 0 var(--wr-bronze); }
#app .search-results-items .v-list-item__title { font-family: var(--wr-heading); color: var(--wr-graphite); }
#app .search-results-items .v-list-item__subtitle { color: var(--wr-muted) !important; line-height: 1.6; }
#app .search-results-items .caption.grey--text { color: var(--wr-muted) !important; }
#app .search-results button.v-btn { color: #e0c897 !important; border-color: #c5a05988 !important; }
#app .search-results button.v-btn .v-icon { color: inherit !important; }

/* The login page uses the same palette, without the stock photo. */
#app .login { position: relative; display: flex; align-items: center; min-height: 100vh; background: var(--wr-navy) !important; padding: 72px clamp(32px, 7vw, 120px); }
#app .login::before { content: 'ЛИЧНАЯ БАЗА ЗНАНИЙ'; position: absolute; left: 57%; top: calc(50% - 200px); width: 37%; color: var(--wr-bronze); font: 600 11px/1.8 var(--wr-heading); letter-spacing: .22em; background: none; height: auto; transform: none; opacity: 1; }
#app .login::after { content: 'Знания.\aПорядок.\aНезависимость.'; white-space: pre-line; position: absolute; left: 57%; top: calc(50% - 140px); width: 39%; height: auto; color: var(--wr-paper); font: 650 clamp(34px, 3.7vw, 64px)/1.3 var(--wr-heading); letter-spacing: -.045em; background: none; transform: none; opacity: 1; }
#app .login-sd { width: 440px; max-width: 43%; height: auto; min-height: 510px; margin: 0; padding: 44px 36px 32px; position: relative; left: auto; top: auto; background: var(--wr-paper) !important; backdrop-filter: none; border: 1px solid #ffffff2e; border-top: 3px solid var(--wr-bronze); box-shadow: 0 24px 70px #0002; border-radius: 3px; z-index: 1; }
#app .login-sd > .d-flex { align-items: center; gap: 16px; margin-bottom: 36px !important; }
#app .login-logo { background: var(--wr-navy); border-radius: 3px; padding: 9px; }
#app .login-logo .v-avatar { width: 36px !important; height: 36px !important; min-width: 36px !important; }
#app .login-title { padding: 0; margin: 0; }
#app .login-title .text-h6 { font: 650 18px/1.5 var(--wr-heading) !important; color: var(--wr-navy) !important; letter-spacing: -.04em !important; }
#app .login-subtitle { padding: 0 0 24px; text-align: left; border: 0; background: none; }
#app .login-subtitle .text-subtitle-1 { font: 400 15px/1.7 var(--wr-body) !important; color: var(--wr-muted); }
#app .login-form { padding: 0; }
#app .login-form .v-input__slot { border: 1px solid var(--wr-line); border-radius: 3px; min-height: 54px; box-shadow: none; }
#app .login-form .v-input--is-focused .v-input__slot { border-color: #8b744b; box-shadow: 0 0 0 2px #c5a05926; }
#app .login-form .v-input .v-icon { color: #79705d !important; font-size: 21px; }
#app .login-form input { color: var(--wr-graphite); font-size: 14px; }
#app .login-form input::placeholder { color: #69727a; opacity: 1; }
#app .login-form > .v-btn { min-height: 50px; margin-top: 20px !important; box-shadow: none; font: 600 14px/1.5 var(--wr-heading); }
#app .login-form > .text-center { margin-top: 18px !important; }
#app .login-form a.v-btn { font-size: 12px; color: var(--wr-muted) !important; }

/* Preserve user-selected dark appearance and readable code. */
#app.theme--dark { --wr-paper: #131f2c; --wr-white: #1a2938; --wr-graphite: #dde3e9; --wr-muted: #a6b2bd; --wr-line: #334150; --wr-soft: #28313b; --wr-link: #d2b77f; background: var(--wr-paper); }
.theme--dark .contents :is(h1,h2,h3,h4,h5,h6), #app.theme--dark .page-header-headings .headline { color: #eef1f4 !important; }
.theme--dark .contents a:hover, .theme--dark .contents summary { color: #e5cfab !important; }
.theme--dark .contents :not(pre) > code { background: #273746 !important; color: #e0d6c2 !important; }
.theme--dark .contents table tr:nth-child(even) td { background: #1a2938; }
#app.theme--dark .page-col-sd .v-chip, #app.theme--dark .page-col-sd .v-btn.teal, #app.theme--dark .page-col-sd .v-chip .teal--text { color: #e0c897 !important; }
.theme--dark .page-col-sd .v-list-item--active .v-list-item__title { color: #e8d0a1; }

@media (min-width: 1800px) {
  .v-main:has(.contents) > .v-main__wrap > .container { max-width: 1450px; margin-inline: auto; }
}
@media (max-width: 1263px) {
  .page-header-section { padding: 32px; }
  .v-main:has(.contents) .v-breadcrumbs { padding-inline: 32px; }
  .v-main:has(.contents) > .v-main__wrap > .container.grid-list-xl { padding: 32px !important; }
  .v-main:has(.contents) > .v-main__wrap > .container.grid-list-xl > .layout { gap: 0; }
  .page-col-sd { display: none; }
}
@media (max-width: 800px) {
  #app .login { justify-content: center; padding: 40px 24px; }
  #app .login::before, #app .login::after { display: none; }
  #app .login-sd { max-width: 100%; min-height: 0; padding: 36px 28px 24px; }
}
@media (max-width: 600px) {
  .page-header-section { padding: 28px 22px; min-height: 150px; }
  #app .page-header-headings .headline { font-size: 27px !important; overflow-wrap: anywhere; }
  #app .page-header-headings .caption { font-size: 13px !important; }
  .v-main:has(.contents) .v-breadcrumbs { padding: 16px 22px 0; }
  .v-main:has(.contents) > .v-main__wrap > .container.grid-list-xl { padding: 28px 22px 48px !important; }
  #app .contents { font-size: 15px; }
  .contents h1 { font-size: 24px !important; }
  .contents h2 { font-size: 21px !important; margin-top: 32px !important; }
  .contents pre { padding: 18px !important; }
  .contents table { display: block; max-width: 100%; overflow-x: auto; }
  .contents blockquote { padding: 16px 18px; }
  .nav-header .v-toolbar__title { font-size: 14px; }
  #app .login { padding: 24px 16px; }
  #app .login-sd { padding: 30px 22px 22px; }
  #app .login-title .text-h6 { font-size: 16px !important; }
}
@media print {
  .v-main:has(.contents) { background: #fff !important; }
  .page-col-sd, .nav-header, .v-navigation-drawer, .v-speed-dial { display: none !important; }
  .v-main:has(.contents) { padding: 0 !important; }
  #app .contents { color: #000; font-size: 11pt; }
  .contents pre, .contents pre code { background: #f5f5f5 !important; color: #111 !important; white-space: pre-wrap; }
  .contents .token { color: #222 !important; }
  .page-header-section, .v-main:has(.contents) > .v-main__wrap > .container.grid-list-xl { padding: 20px 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .v-application *, .v-application *::before, .v-application *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
