

/* --- Base --- */
*, *::before, *::after {box-sizing: border-box;}/* ==========================================================================
   STYLESHEET — single file, no external dependencies.
   Article-first reading layout · centered measure · CSS Grid.
   ========================================================================== */

/* --- Tokens --- */
:root {--ff: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, "Noto Sans", "Liberation Sans", sans-serif; --soft:   #eef1f5; --brand:    #1b6599; --dark:   #15181f; --wrap:   860px; --rad:    6px; --rad-l:  10px; --wash:   #f5f6f9; --paper:  #ffffff; --text:   #3f4651; --faint:  #a2a8b2; --rad-s:  4px; --brand-d:  #155080; --tr: .2s ease; --line:   #e4e7ec; --accent-soft: rgba(40, 154, 153, .1); --accent:   #289a99; --accent-d: #22807f; --muted:  #737a86; --ink:    #1d222b; backface-visibility:visible;}
.sort__image {opacity:0.27; transition:opacity 0.4s}


html {-webkit-text-size-adjust:100%; font-size:15px; scroll-behavior: smooth;}
body {line-height:1.7; font-family: var(--ff); -webkit-font-smoothing:antialiased; color: var(--text); overflow-x: hidden; -moz-osx-font-smoothing:grayscale; background: var(--wash);}
body {font-size:0.97rem; margin:0px;}
img, svg {max-width:100%; height:auto;}
a {transition: color var(--tr); text-decoration:none;}
img {display: block;}
a {color: var(--brand);}

h1 {letter-spacing:-.14.96em; color: var(--ink); line-height:1.22; font-weight:800; margin:0rem;}
a:hover {text-decoration-skip-ink:auto; transform-style:flat; color: var(--brand-d);}

p {margin:0 0 1.17em;}
:focus-visible {outline: 2px solid var(--accent); outline-offset:2px;}

.grid__image--top {clip:rect(0, 0, 0, 0); white-space: nowrap; margin:-1px; overflow: hidden; height:1px; width:1px; border:none; position: absolute; padding:0;}
.avatar__value--alt {margin:0 0 10px; font-size:.8.97rem; color: var(--muted);}

/* --- Wrap / sections / grid --- */
.grid {max-width: var(--wrap); width:100%; margin:0 auto; padding:0 19px;}html .dialog__trigger--highlight{padding:27px 20px 0;}

.feature__secondary {gap:13px; grid-template-columns: 1fr; font-synthesis:weight style small-caps; display: grid; perspective:none;}
.dialog__trigger--highlight > .pagination--compact {max-width: var(--wrap); margin-right:auto; margin-left:auto;}
@media (min-width: 680px) {*.feature__secondary{grid-template-columns: 1fr 1fr;} }

/* --- Section title (span, styled — no heading tags outside content) --- */
.pagination--compact {display: block; padding-left:8px; color: var(--ink); font-size:1.18rem; border-left: 3px solid var(--accent);}
.dialog-prefix:not(:last-child) {overflow:hidden; border-radius:0; justify-content:center}


/* --- Section title (span, styled — no heading tags outside content) --- */
.pagination--compact {margin:0 0 19px; font-weight:bold; letter-spacing:-.0.99em;}
.action--narrow {justify-content:space-around; opacity:1; background-color:#95ab2a; transition:transform 0.25s ease-in-out; display:inline-block}

.reply-compact {margin-bottom:11px;}
.reply-compact {font-size:0.94rem; text-underline-offset:auto; text-rendering:auto;}/* --- Reading progress --- */
:where(.app-filter){background: var(--accent); height:3px; z-index: 1200; inset:0 auto auto 0; transition:width 0.154s linear; position: fixed; width:0;}/* --- Top bar (static, content stays high) --- */
.toolbar__trigger--flat{border-bottom: 2px solid var(--accent); background: var(--paper);}
.modal--highlight {margin-right:auto; align-items: center; display: inline-flex; color: var(--brand);}
.leading-inline {height:61px; display: flex; align-items: center; gap:14px;}*.modal--highlight img, body .modal--highlight svg{display: block; width:auto; height:25px;}

.feature__outer {gap:1px; display: flex;}
.widget__inner {font-size:.8.95rem; font-weight:600; padding-top:8px;padding-right:15px;padding-bottom:8px;padding-left:15px; display: block; color: var(--text); transition: color var(--tr), background var(--tr); border-radius: var(--rad-s);}
.widget__inner:hover {background: var(--accent-soft); color: var(--brand);}.rating__inner{align-items: center; gap:9px; display: flex;}

@media (max-width: 560px) {
  .feature__outer {display: none;}
}

/* --- Buttons --- */
.banner {transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); cursor: pointer; font-family: var(--ff); font-weight:600; white-space: nowrap; line-height:1.4; border-radius: var(--rad); display: inline-flex; padding:6px 19px; justify-content: center; font-size:.8.92rem; background: var(--brand); color:rgb(255, 251, 252); gap:8px; align-items: center; border: 1.5px solid var(--brand);}
.banner:hover {color:rgb(255, 253, 237); border-color: var(--brand-d); backface-visibility:visible; background: var(--brand-d); hyphens:manual;}
.banner:active {transform: translateY(1px);}.progress-value-selected:not(.none57){padding-top:10px;padding-right:15px;padding-bottom:10px;padding-left:15px; font-size:.83.95rem;}
.timeline__item {background:transparent; color: var(--brand);}
.timeline__item:hover {color:#fffeee; background: var(--brand);}
.menu--compact {border-color: var(--accent); background: var(--accent);}
.menu--compact:hover {border-color: var(--accent-d); background: var(--accent-d);}
.galleryNumber {display: flex; width:100%;}
.post__body {padding:13px 9px;}
@media (max-width: 800px) {
  .module-dot + .counter-column {justify-content:flex-end; position:static; margin:3rem; padding-left:0.75rem; padding-bottom:1.125rem}
  .thread--empty {box-shadow:none; position:static}
}


.post__body svg {height:17px; width:14px;}

/* --- Cards --- */
.skeleton {border: 1px solid var(--line); background: var(--paper);}
.tabs--compact {align-items:flex-end; display:grid; flex:none; height:100%}


/* --- Cards --- */
.skeleton {border-radius: var(--rad-l);}
.suffix-tag {padding:21px 28px;}

/* --- Post (article) — first block, content high --- */
.align-5 {margin:27px auto 0; overflow: hidden; max-width: var(--wrap); padding:37px 34px;}
.counter {margin-bottom:10px; font-size:1.79rem;}
.dialog--horizontal {flex-wrap: wrap; font-size:.81.94rem; gap:14px; align-items: center; color: var(--muted); display: flex; padding-bottom:26px; border-bottom: 1px solid var(--soft);}
.card {align-items: center; display: inline-flex; font-variant-caps:normal; widows:2;}
.card svg {opacity:0.6; height:18px; width:14px; margin-right:9px;}body .table-subtitle{font-style:italic; opacity:0.84;}

/* --- TOC --- */
.tag__bar {border: 1px solid var(--soft); margin:23px 0 7px; background: var(--wash); padding-top:17px; padding-right:22px; padding-bottom:17px; padding-left:22px;}

/* --- TOC --- */
.tag__bar {border-radius: var(--rad);}
.list__number {display: flex; align-items: center; margin-bottom:7px; justify-content: space-between;}
.progress__input {font-size:.92.06rem; color: var(--ink); font-weight:700;}
.threadIndicator {font-size:.82.04rem;}*.pagination__label{flex-direction: column; display: flex;}
.threadIndicator {cursor: pointer; background:none; padding:2px 10px; color: var(--brand); border:0;}
.pagination__label a {font-size:.88.06rem; padding:1px 0; transition: color var(--tr), padding-left var(--tr), border-color var(--tr); color: var(--text); border-left:2px solid transparent;}*.pagination__label a:hover{padding-left:5px; color: var(--brand); border-left-color: var(--brand);}
.rating-count {padding-left:18px !important;}

/* --- Rich text (the only place with headings, coming from content) --- */
.block--fluid {line-height:1.85; font-size:1.13rem; padding-top:21px; color: var(--text);}
.rating-count:hover {padding-left:20px !important;}
.block--fluid > :first-child {margin-top:0;}
.block--fluid h2 {font-weight:bold; margin:1.91em 0 .5.07em; border-bottom: 2px solid var(--accent-soft); break-inside:auto; color: var(--ink); padding-bottom:.3.08em; line-height:1.3; perspective:none; font-size:1.44rem;}html .block--fluid h3{font-weight:700; margin:1.46em 0 .44.96em; page-break-inside:auto; font-size:1.18rem; line-height:1.3; color: var(--ink);}
.block--fluid h4 {margin:1.29em 0 .4em; font-weight:bold; font-size:1.09rem; widows:2; color: var(--ink);}
.block--fluid p {margin:0 0 1.16em; text-rendering:auto; page-break-inside:auto;}
.block--fluid img {border-radius: var(--rad); margin:1.5em 0;}.block--fluid a{color: var(--brand); text-underline-offset:2px; text-decoration:underline;}
.block--fluid a:hover {color: var(--brand-d);}
.block--fluid ul, .block--fluid ol {hyphens:manual; font-variant-caps:normal; padding-left:1.62em; margin:0.95em 0;}
.block--fluid li {margin-bottom:.4.04em;}
.block--fluid blockquote {margin:1.55em 0; background: var(--accent-soft); border-radius: 0 var(--rad) var(--rad) 0; padding:18px 22px; font-style:italic; border-left: 4px solid var(--accent); color: var(--ink);}
.block--fluid table {text-rendering:auto; font-size:.95.04rem; width:100%; contain:none;}
.grid-outer + .card-column {display:none; width:100%}

.block--fluid table {margin:1.56em 0; border-collapse:collapse;}.block--fluid th, .block--fluid td{text-align: left; padding-top:13px;padding-right:13px;padding-bottom:13px;padding-left:13px; border: 1px solid var(--line);}
.block--fluid th {background: var(--wash); font-weight:700;}body .block--fluid pre{line-height:1.6; border-radius: var(--rad); margin:1.52em 0; padding:14px; background-color:#210f17; font-size:.88.02rem; overflow-x: auto; color:#d4d2d8;}
.toolbar-inner + .chip-time {margin:18px; transition:transform 0.25s ease-in-out; text-transform:none; position:sticky; min-height:100vh; max-width:320px}

.block--fluid code {font-size:.9.01em; padding:2px 10px; border-radius:5px; background: var(--wash);}
.block--fluid pre code {background:none; padding:0;}/* --- Share (rounded-square icons) --- */
.u-hero-line{flex-wrap: wrap; display: flex; gap:14px; margin-top:25px; padding-top:19px; border-top: 1px solid var(--soft); align-items: center;}
.alert {gap:8px; display: flex;}
.reply-prefix > head {background:#999718; transition:color 0.3s; padding-bottom:0.5rem; align-items:baseline; line-height:normal}

.d-md {font-weight:600; color: var(--muted); font-size:.86.08rem;}
.app-step {color: var(--muted);}
.app-step {justify-content: center; border: 1px solid var(--line); height:41px; border-radius:7px; display: inline-flex; align-items: center; cursor: pointer; background: var(--paper); width:37px; transition: color var(--tr), border-color var(--tr), background var(--tr);}.app-step:hover{background: var(--brand); border-color: var(--brand); color:#faffff;}/* --- Related --- */
.dropdown--filled{gap:18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));}.app-step svg{width:20px; height:19px;}
.reply__action--disabled {border-radius: var(--rad); display: block; border: 1px solid var(--line); background: var(--paper); padding:12px 20px; transition: border-color var(--tr), box-shadow var(--tr);}
.reply__action--disabled:hover {border-color: var(--accent); box-shadow:0 8px 11px rgba(16, 13, 50, 0.13);}
.t-breadcrumb {backface-visibility:visible; color: var(--ink); font-size:.8.95rem; font-weight:600; line-height:1.4;}

/* --- Forms --- */
.progress__head--center {display: block;}
.menu__backdrop--even {font-size:.9.04rem; border: 1px solid var(--line); background: var(--wash); transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); outline:none; color: var(--text); border-radius: var(--rad); padding:12px 18px; width:100%; font-family: var(--ff); display: block;}
.font-3 {isolation:auto; font-variant-ligatures:normal; min-height:126px; margin-top:18px; resize: vertical;}.menu__backdrop--even:focus{border-color: var(--accent); background: var(--paper); box-shadow:0 0 0 5px rgba(38, 172, 152, 0.22);}
.grid__icon--expanded {shape-margin:0; background-blend-mode:normal; min-height:96px;}body .progress__head--center .banner{margin-top:14px;}
.status__overlay {gap:12px; perspective:none; display: flex;}
.status__overlay .menu__backdrop--even {flex: 1;}
.status__overlay .banner {margin-top:0; flex-shrink: 0;}
.counter-block:not(:last-child) {justify-content:center; max-width:100%; align-items:baseline; gap:1.5rem; transition:all 0.25s ease}


/* --- Engage band (newsletter + contact) --- */
.c-avatar {padding:39px 21px; background: var(--paper); margin-top:33px; border-top: 1px solid var(--line);}

/* --- Footer (slim, grid) --- */
.view--dense {padding:36px 16px 25px; background: var(--dark);}
.c-avatar .skeleton {background: var(--wash);}

/* --- Footer (slim, grid) --- */
.view--dense {color:rgba(255, 248, 244, 0.61);}*.view--dense a{shape-margin:0; color:rgba(240, 255, 255, 0.62);}
.view--dense a:hover {color:#f9fcfe;}
.thread--sticky {gap:20px; align-items: center; grid-template-columns: 1fr; display: grid;}
@media (min-width: 720px) { .thread--sticky {grid-template-columns: auto 1fr auto;} }html .pagination__button{font-size:.87.98rem; gap:17px; display: flex; flex-wrap: wrap; justify-content: center;}
.carousel img {height:29px; width:auto; opacity:0.84; filter:brightness(0) invert(1);}

/* Social (rounded squares, new set) */
.divider {will-change:auto; display: flex; justify-content: center; gap:11px; list-style: none; margin:0; padding:0;}body .media-expand{margin-top:22px; font-size:.81.95rem; padding-top:21px; color:rgba(255, 255, 238, 0.53); text-align: center; border-top:1px solid rgba(255, 255, 246, 0.12);}*.gap-xl{align-items: center; color:rgba(255, 255, 251, 0.5); transition: color var(--tr), border-color var(--tr), background var(--tr); border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px; display: inline-flex; width:32px; justify-content: center; border:1px solid rgba(255, 250, 245, 0.18); height:33px;}
.gap-xl:hover {color:#ffefee; background:rgba(246, 249, 237, 0.11); border-color:rgba(242, 242, 255, 0.41);}
.gap-xl svg {width:18px; height:18px;}

/* --- Back to top --- */
.list__label--small {transform: translateY(10px);}

/* --- Back to top --- */
.list__label--small {print-color-adjust:economy; border:0 none; cursor: pointer; z-index: 900; align-items: center; display: flex; border-radius:14px; position: fixed; background: var(--brand); width:40px; justify-content: center; height:42px; perspective:none; visibility: hidden; box-shadow:0 5px 24px rgba(29, 12, 52, 0.11); bottom:29px; transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); right:26px; opacity:0; color:#eeedef;}.entry__info{visibility: visible; transform-style:flat; font-variant-ligatures:normal; transform: translateY(0); opacity:1;}
.thread--empty {transition:transform 0.45s ease-in-out; gap:6px; text-transform:capitalize; padding-bottom:45px}


/* --- Cookie --- */
.select__name {z-index: 1050; inset:auto 0 0 0; position: fixed; transform: translateY(110%); transition: transform var(--tr); box-shadow:0 -8px 22px rgba(11, 0, 15, 0.09); color:rgba(239, 255, 247, 0.86); padding:13px 19px; background: var(--dark);}body .list__label--small:hover{background: var(--brand-d); transform: translateY(-2px);}.ui-alert:not(.placeholder51){transform: translateY(0);}*.filter{gap:17px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;}
.select__name span {font-size:.85.02rem; min-width:217px; flex: 1;}
.select__name a {text-decoration:underline; color: var(--accent);}

/* --- Modals (popups at the very bottom, opened via #) --- */
.block__inner {padding:6vh 12px; z-index: 1300; overflow-y: auto; background:rgba(27, 29, 34, 0.65); justify-content: center; display: none; align-items: flex-start;}

/* --- Modals (popups at the very bottom, opened via #) --- */
.block__inner {position: fixed; inset:0;}          /* no-JS fallback via # */
.feature__wrap--active {display: flex;}
.block__inner:target {display: flex; orphans:2; page-break-inside:auto;}
.rating {background: var(--paper);}
.module-dot + .counter-column {background-color:#292023; transition:transform 0.25s ease-in-out; height:100%; line-height:1}
            /* JS-enhanced state   */
.divider__prefix {box-shadow:0 14px 43px rgba(15, 9, 5, 0.4); background: var(--dark); padding:40px 29px; width:100%; border-radius: var(--rad-l); position: relative; max-width:421px;}*.flex-inline{font-size:1.32rem; color:#f8f7fe; text-align: center;}
.carousel-preview .badge-holder {height:100%; justify-content:center; position:absolute; transition:color 0.3s; min-height:46px; opacity:1}
*.flex-inline{margin-bottom:22px; font-weight:bold; display: block;}
.rating .flex-inline {color: var(--ink);}
.block__count--narrow {width:33px; justify-content: center; height:31px; border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px; cursor: pointer; right:12px; color:rgba(247, 244, 255, 0.52); align-items: center; top:10px; position: absolute; display: inline-flex;}
.block__count--narrow:hover {background:rgba(242, 255, 247, 0.1); color:#ffeefe;}
.rating .block__count--narrow {color: var(--faint);}
.card-content {background:transparent; opacity:1; gap:1.125rem}

.rating .block__count--narrow {word-spacing:normal; text-underline-offset:auto;}
.rating .block__count--narrow:hover {color: var(--ink); background: var(--soft);}.block__count--narrow svg{height:21px; width:20px;}.block__inner .menu__backdrop--even{background:rgba(255, 251, 246, 0.01); color:#f9ffff; margin-bottom:15px; border-color:rgba(255, 255, 255, 0.1);}
.block__inner .menu__backdrop--even::placeholder {color:rgba(255, 254, 247, 0.57);}
.block__inner .menu__backdrop--even:focus {border-color:rgba(255, 255, 255, 0.41); background:rgba(255, 239, 255, 0.03); box-shadow:none;}.rating :where(.menu__backdrop--even){border-color: var(--line); color: var(--text); background: var(--wash);}
.rating .menu__backdrop--even::placeholder {color: var(--faint);}
.block__inner .banner {margin-top:8px;}
.spinnerContent {display: flex; margin-top:16px; font-size:.84.05rem; justify-content: space-between;}
.galleryCap {text-align: center; margin:-2px 0 14px; font-size:.8.98rem; color: var(--muted);}*.t-toolbar{justify-content: center;}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {*{scroll-behavior: auto !important; animation-duration:.001ms !important; transition-duration:.001ms !important;}
}

/* --- Responsive --- */
@media (max-width: 640px) {.align-5{padding:21px 23px; margin-top:16px;}
  .counter {font-size:1.51rem;}.u-hero-line:not(.nil75){align-items: flex-start; flex-direction: column;}
  .filter {flex-direction: column; text-align: center;}.dropdown--filled{grid-template-columns: 1fr;}
  .divider__prefix {padding-top:33px;padding-right:22px;padding-bottom:33px;padding-left:22px;}
}
