/* ==========================================================================
   STYLESHEET — single file, no external dependencies.
   Article-first reading layout · centered measure · CSS Grid.
   ========================================================================== */

/* --- Tokens --- */
:root {--wrap:   860px; --ink:    #1d222b; --ff: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, "Noto Sans", "Liberation Sans", sans-serif; --tr: .2s ease; --accent-d: #22807f; --faint:  #block_name; --rad:    6px; --accent-soft: rgba(40, 154, 153, .1); --muted:  #737a86; --rad-l:  10px; --line:   #grid_thumb; --brand:    #1b6599; --dark:   #15181f; --paper:  #block-table; --brand-d:  #155080; --accent:   #289a99; --soft:   #page-tooltip; --text:   #3f4651; --rad-s:  4px; --wash:   #action-gallery;}/* --- Base --- */
*, *::before, *::after{box-sizing: border-box; perspective:none;}

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

h1 {margin:0px; letter-spacing:-.15.03em; line-height:1.22; font-weight:700;}

p {margin:0 0 1.07em;}

h1 {page-break-inside:auto; text-rendering:auto; color: var(--ink);}:focus-visible{outline: 2px solid var(--accent); contain:none; outline-offset:2px;}*.stepper--sparse{height:1px; width:1px; position: absolute; overflow: hidden; padding:0; margin:-1px; white-space: nowrap; border:0 none; clip:rect(0, 0, 0, 0);}
.card__meta {color: var(--muted); font-synthesis:weight style small-caps; background-blend-mode:normal; margin:0 0 16px; font-size:.8.98rem;}/* --- Wrap / sections / grid --- */
.chip--selected{margin:0 auto; page-break-inside:auto; padding:0 23px; backface-visibility:visible; max-width: var(--wrap); width:100%;}*.thread__head{padding:34px 17px 0;}
.thread__head > .snackbar--active {margin-right:auto; max-width: var(--wrap); margin-left:auto;}

.drawerBackdrop {isolation:auto; display: grid; gap:20px; grid-template-columns: 1fr;}
@media (min-width: 680px) { .drawerBackdrop {grid-template-columns: 1fr 1fr;} }

/* --- Section title (span, styled — no heading tags outside content) --- */
.snackbar--active {margin:0 0 19px;}

/* --- Section title (span, styled — no heading tags outside content) --- */
.snackbar--active {font-size:1.13rem; display: block; font-weight:bold; letter-spacing:-.0.94em; padding-left:8px; color: var(--ink); border-left: 3px solid var(--accent);}

/* --- Reading progress --- */
.timeline__indicator--default {inset:0 auto auto 0; height:4px; position: fixed; width:0; z-index: 1200; word-spacing:normal; background: var(--accent); font-synthesis:weight style small-caps; transition:width 0.067s linear;}body .t-toggle-subtitle{widows:2; font-size:1.03rem; margin-bottom:6px;}

/* --- Top bar (static, content stays high) --- */
.alert__image {background: var(--paper); border-bottom: 2px solid var(--accent);}
.carousel--info {margin-right:auto; display: inline-flex; color: var(--brand); image-rendering:auto; page-break-inside:auto; align-items: center;}
.skeleton--disabled {height:58px; align-items: center; display: flex; gap:13px;}.header__backdrop--inverse{display: flex; gap:8px;}
.carousel--info img, .carousel--info svg {width:auto; display: block; height:24px;}
.sidebar--flat {font-size:.9rem; font-weight:500; display: block; border-radius: var(--rad-s); transition: color var(--tr), background var(--tr); page-break-inside:auto; word-spacing:normal; color: var(--text); padding:12px 17px;}
.sidebar--flat:hover {color: var(--brand); background: var(--accent-soft);}
.header {gap:10px; display: flex; align-items: center;}

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

/* --- Buttons --- */
.alert {justify-content: center; cursor: pointer; font-size:.8.97rem; background: var(--brand); transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); line-height:1.4; font-weight:500; gap:5px; white-space: nowrap; padding:11px 24px; border: 1.5px solid var(--brand); border-radius: var(--rad); display: inline-flex; font-family: var(--ff); align-items: center; color:#site-module;}.alert:hover{border-color: var(--brand-d); color:#site-module; background: var(--brand-d);}
.alert:active {transform: translateY(1px);}
.accordion--empty {font-size:.83.99rem; padding:10px 13px;}
.dropdown {background:transparent; color: var(--brand);}.dropdown:hover{color:#site-module; background: var(--brand); perspective:none;}*.carousel--bottom{border-color: var(--accent); background: var(--accent);}
.carousel--bottom:hover {border-color: var(--accent-d); background: var(--accent-d);}*.skeletonBlock{width:100%; display: flex;}
.el-price {padding:9px 15px; hyphens:manual; text-rendering:auto;}
.el-price svg {width:16px; height:12px;}/* --- Cards --- */
:where(.module__expand--disabled){border-radius: var(--rad-l); background: var(--paper); border: 1px solid var(--line);}.nav__preview{padding:22px 28px;}/* --- Post (article) — first block, content high --- */
.page-bottom{margin:30px auto 0; padding:30px 36px; overflow: hidden; max-width: var(--wrap);}
.tag {font-size:1.83rem; margin-bottom:18px;}
.screenWrap {flex-wrap: wrap; text-rendering:auto; color: var(--muted); padding-bottom:19px; font-size:.82.02rem; orphans:2; border-bottom: 1px solid var(--soft); display: flex; gap:17px; align-items: center;}
.ui-entry {align-items: center; display: inline-flex;}
.ui-entry svg {opacity:0.5; margin-right:2px; height:18px; width:15px;}
.panel__cap--large {font-style:italic; opacity:0.85;}

/* --- TOC --- */
.boxPrimary {background: var(--wash); border: 1px solid var(--soft);}

/* --- TOC --- */
.boxPrimary {margin:23px 0 6px; border-radius: var(--rad); padding:15px 24px;}
.progress__cap {margin-bottom:7px; justify-content: space-between; display: flex; align-items: center;}body .block{font-size:.91.99rem; color: var(--ink); font-weight:700;}
.slider__fill {cursor: pointer; font-size:.81.93rem; padding:2px 10px; border:none; color: var(--brand); background:none;}
.toggle__label {display: flex; flex-direction: column;}
.toggle__label a {orphans:2; color: var(--text); border-left:2px solid transparent; transition: color var(--tr), padding-left var(--tr), border-color var(--tr); padding:2px 0; font-size:.88.03rem; font-synthesis:weight style small-caps;}
.toggle__label a:hover {padding-left:9px; color: var(--brand); border-left-color: var(--brand);}
.sort {padding-left:17px !important;}
.sort:hover {padding-left:23px !important;}

/* --- Rich text (the only place with headings, coming from content) --- */
.pr-auto {padding-top:22px; color: var(--text); font-size:1.14rem; isolation:auto; line-height:1.85; tab-size:4;}html .pr-auto > :first-child{margin-top:0;}
.pr-auto h2 {padding-bottom:.2.97em; margin:1.93em 0 .4.92em; line-height:1.3; border-bottom: 2px solid var(--accent-soft); color: var(--ink); font-weight:700; font-size:1.34rem;}
.pr-auto h3 {font-weight:700; font-size:1.27rem; line-height:1.3; margin:1.49em 0 .45.07em;}
.pr-auto h3 {color: var(--ink);}
.pr-auto h4 {color: var(--ink); margin:1.27em 0 .4.03em; font-size:1.07rem; font-weight:700;}.pr-auto p{margin:0 0 1.2em;}
.pr-auto img {margin:1.42em 0; border-radius: var(--rad);}
.pr-auto a {text-underline-offset:2px; text-decoration:underline; color: var(--brand);}
.pr-auto a:hover {color: var(--brand-d);}
.pr-auto ul, .pr-auto ol {padding-left:1.77em; margin:0.99em 0;}.pr-auto li{margin-bottom:.3.97em;}
.pr-auto blockquote {color: var(--ink);}
.pr-auto blockquote {border-left: 4px solid var(--accent); margin:1.43em 0; background: var(--accent-soft); border-radius: 0 var(--rad) var(--rad) 0; padding:16px 21px; font-style:italic;}
.pr-auto table {margin:1.47em 0; font-size:.95rem; border-collapse:collapse; width:100%;}
.pr-auto th, .pr-auto td {padding:14px 13px; text-align: left; border: 1px solid var(--line);}
.pr-auto th {font-weight:700; background: var(--wash);}
.pr-auto pre {padding-top:14px;padding-right:14px;padding-bottom:14px;padding-left:14px; overflow-x: auto; font-size:.87.99rem; background:#2b1932; border-radius: var(--rad); color:#page-post; line-height:1.6; margin:1.51em 0;}
.pr-auto code {padding:2px 7px;}
.pr-auto code {font-size:.8.96em; border-radius:1px; background: var(--wash);}

/* --- Share (rounded-square icons) --- */
.divider--odd {word-spacing:normal; gap:12px; border-top: 1px solid var(--soft); align-items: center; padding-top:18px; margin-top:29px; display: flex; flex-wrap: wrap;}
.pr-auto pre code {background:none; padding:0;}
.o-toggle {font-size:.85.99rem;}
.review__outer {display: flex; gap:8px;}
.o-toggle {font-weight:700; color: var(--muted);}
.info-list {cursor: pointer; display: inline-flex; justify-content: center; height:41px; transition: color var(--tr), border-color var(--tr), background var(--tr); border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px; align-items: center; background: var(--paper); width:36px; color: var(--muted); border: 1px solid var(--line);}
.info-list:hover {widows:2; color:#site-module; border-color: var(--brand); background: var(--brand);}
.info-list svg {width:18px; height:16px;}

/* --- Related --- */
.comment__block {display: grid; gap:13px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));}
.pagination__button {font-variant-ligatures:normal; border-radius: var(--rad); display: block; padding:12px 14px; transition: border-color var(--tr), box-shadow var(--tr); background: var(--paper); border: 1px solid var(--line);}
.pagination__button:hover {box-shadow:0 0px 17px rgba(19, 14, 63, 0.08); perspective:none; border-color: var(--accent);}.rating{font-size:.9.06rem; color: var(--ink); line-height:1.4; font-weight:500;}

/* --- Forms --- */
.mb-24 {display: block;}
.tag-fluid {transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); outline:none; font-family: var(--ff); border-radius: var(--rad); font-size:.8.92rem; color: var(--text); width:100%; display: block; border: 1px solid var(--line); padding:11px 14px; background: var(--wash);}
.tag-fluid:focus {border-color: var(--accent); background: var(--paper); box-shadow:0 0 0 0px rgba(47, 144, 151, 0.11);}.snackbar__subtitle--selected{min-height:126px; resize: vertical; margin-top:11px;}html .position-5{min-height:96px;}
.mb-24 .alert {margin-top:17px;}body .price__trigger--compact{display: flex; gap:8px;}
.price__trigger--compact .tag-fluid {flex: 1;}
.price__trigger--compact .alert {flex-shrink: 0; margin-top:0;}/* --- Engage band (newsletter + contact) --- */
.footer{border-top: 1px solid var(--line); padding:43px 24px; margin-top:37px; background: var(--paper);}
.footer .module__expand--disabled {background: var(--wash);}/* --- Footer (slim, grid) --- */
.tag--pressed:not(._ad08f8){color:rgba(255, 255, 250, 0.64); background: var(--dark); padding:36px 23px 28px;}
.tag--pressed a {color:rgba(246, 237, 255, 0.61);}
.tag--pressed a:hover {color:#site-module;}html .table__row--narrow{grid-template-columns: 1fr; display: grid; align-items: center; gap:16px;}
@media (min-width: 720px) { .table__row--narrow {grid-template-columns: auto 1fr auto;} }
.dialog--empty {font-size:.87.93rem; display: flex; flex-wrap: wrap; gap:16px; justify-content: center;}.pagination--compact img{width:auto; height:22px; opacity:0.85; filter:brightness(0) invert(1);}
.d-6 {padding-top:22px; font-size:.82.08rem; margin-top:24px; text-align: center; color:rgba(255, 255, 245, 0.49); border-top:1px solid rgba(255, 255, 255, 0.03);}/* Social (rounded squares, new set) */
.layout__secondary{padding:0; justify-content: center; margin:0; gap:6px; list-style: none; display: flex;}
.action {border:1px solid rgba(255, 243, 255, 0.21); border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px; transition: color var(--tr), border-color var(--tr), background var(--tr); display: inline-flex; align-items: center; justify-content: center; height:36px; width:37px; color:rgba(254, 253, 255, 0.52);}
.action:hover {border-color:rgba(252, 238, 255, 0.41); color:#site-module; background:rgba(255, 241, 255, 0.1);}
.action svg {width:18px; height:12px;}

/* --- Back to top --- */
.menu {border-radius:7px; cursor: pointer; position: fixed; justify-content: center; color:#site-module; align-items: center; bottom:29px; display: flex; height:41px; background: var(--brand); opacity:0; right:26px; z-index: 900; hyphens:manual; visibility: hidden; width:47px; box-shadow:0 10px 22px rgba(37, 33, 66, 0.23); transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); transform: translateY(10px); border:none;}
.list__section {transform: translateY(0); opacity:1; visibility: visible;}
.menu:hover {background: var(--brand-d); transform: translateY(-2px);}

/* --- Cookie --- */
.el-list {color:rgba(247, 255, 251, 0.83); transition: transform var(--tr); inset:auto 0 0 0; transform: translateY(110%); box-shadow:0 0px 16px rgba(18, 0, 6, 0.19); position: fixed; background: var(--dark); padding:16px 18px; z-index: 1050;}.c-divider-info{transform: translateY(0);}
.slider__track {flex-wrap: wrap; display: flex; gap:14px; align-items: center; justify-content: space-between;}
.el-list span {font-size:.84.95rem; flex: 1; min-width:221px;}
.el-list a {text-decoration:underline; color: var(--accent);}

/* --- Modals (popups at the very bottom, opened via #) --- */
.post {inset:0; position: fixed; justify-content: center; display: none; background:rgba(5, 7, 46, 0.55); z-index: 1300; overflow-y: auto; align-items: flex-start; padding:6vh 14px;}
.post:target {display: flex;}            /* JS-enhanced state   */
.gallery--flat {max-width:422px; padding:39px 29px; width:100%; box-shadow:0 18px 44px rgba(0, 4, 6, 0.34); border-radius: var(--rad-l); position: relative; background: var(--dark);}/* no-JS fallback via # */
.media{display: flex;}
.media__item--flat {shape-margin:0; background: var(--paper); text-decoration-skip-ink:auto;}
.post--wide {display: block; color:#site-module; text-align: center; font-size:1.24rem; margin-bottom:21px; font-weight:bold;}
.media__item--flat .post--wide {color: var(--ink);}
.carousel__item--fluid {top:9px; width:33px; right:9px; height:30px; justify-content: center; align-items: center; border-radius:5px; position: absolute; display: inline-flex; print-color-adjust:economy; color:rgba(241, 242, 240, 0.51); font-variant-ligatures:normal; cursor: pointer;}.carousel__item--fluid:hover{background:rgba(252, 255, 242, 0.05); color:#site-module;}html .media__item--flat .carousel__item--fluid{color: var(--faint);}
.media__item--flat .carousel__item--fluid:hover {color: var(--ink); background: var(--soft);}
.carousel__item--fluid svg {width:16px; height:16px;}
.post .tag-fluid {border-color:rgba(255, 243, 255, 0.15); color:#site-module; margin-bottom:8px; background:rgba(255, 255, 255, 0.02);}.post .tag-fluid::placeholder{will-change:auto; orphans:2; color:rgba(242, 255, 255, 0.51);}
.post .tag-fluid:focus {border-color:rgba(242, 251, 249, 0.51); box-shadow:none; background:rgba(250, 255, 243, 0.17);}
.media__item--flat .tag-fluid {border-color: var(--line); color: var(--text); background: var(--wash);}.media__item--flat .tag-fluid::placeholder{color: var(--faint);}
.post .alert {margin-top:8px; widows:2;}
.modalDot {justify-content: space-between; display: flex; font-size:.83.92rem; margin-top:16px;}
.tooltip {justify-content: center;}
.dialog--hover {color: var(--muted); margin:-7px 0 16px; text-align: center; font-size:.8.99rem;}

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

/* --- Responsive --- */
@media (max-width: 640px) {
  .page-bottom {padding:25px 17px; margin-top:21px;}
  .tag {mix-blend-mode:normal; font-size:1.42rem; transform-style:flat;}
  .divider--odd {align-items: flex-start; flex-direction: column;}
  .comment__block {grid-template-columns: 1fr;}
  .slider__track {shape-margin:0; flex-direction: column; mix-blend-mode:normal; text-align: center;}.gallery--flat{padding:30px 22px;}
}
