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

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

/* --- Base --- */
*, *::before, *::after {box-sizing: border-box;}

html {-webkit-text-size-adjust:100%; font-size:20px; scroll-behavior: smooth;}
body {background: var(--wash); -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; overflow-x: hidden; margin:0; color: var(--text); font-family: var(--ff); line-height:1.7; font-size:1.02rem;}
@media (min-width: 640px) {
  .block-zone > region {color:inherit; text-decoration:underline; gap:0.25rem; text-align:justify}
  .banner-trigger .sort-count {gap:7px; transition:transform 0.15s ease-in-out; justify-content:space-around; border-radius:50%; text-transform:lowercase}
}


img, svg {max-width:100%; height:auto;}
img {display: block;}
a {transition: color var(--tr); text-decoration:none; color: var(--brand);}
a:hover {color: var(--brand-d);}

h1 {font-weight:800; color: var(--ink); margin:0; letter-spacing:-.15.03em; line-height:1.22; background-blend-mode:normal;}
:focus-visible {outline: 2px solid var(--accent); outline-offset:2px;}p{page-break-inside:auto; margin:0 0 1.13em; break-inside:auto;}
.block-zone > region {display:grid; flex-wrap:nowrap; height:auto}

.search-dot.pagination-center {font-weight:700; justify-content:space-around; opacity:0.20; min-width:0}


.popoverTertiary {white-space: nowrap; height:1px; border:0; position: absolute; overflow: hidden; padding:0; width:1px; margin:-1px; clip:rect(0, 0, 0, 0);}

/* --- Wrap / sections / grid --- */
.carouselBar {margin:0 auto; max-width: var(--wrap); padding:0 16px; width:100%;}
.menuSlot {margin:0 0 12px; color: var(--muted); font-size:.9.02rem;}
.galleryOuter {padding:31px 17px 0;}*.tabsSummary{display: grid; grid-template-columns: 1fr; gap:16px;}
.galleryOuter > .postFoot {margin-right:auto; margin-left:auto; max-width: var(--wrap);}
@media (min-width: 680px) {.tabsSummary{grid-template-columns: 1fr 1fr;} }
.sortBar {font-size:0.97rem; margin-bottom:14px;}/* --- Section title (span, styled — no heading tags outside content) --- */
.postFoot:not(.placeholder81){padding-left:16px; font-weight:bold; font-size:1.23rem; letter-spacing:-.1em; display: block; color: var(--ink); border-left: 3px solid var(--accent); margin:0 0 12px;}

/* --- Reading progress --- */
.ratingSuffix {inset:0 auto auto 0; position: fixed; background: var(--accent); height:2px; z-index: 1200; transition:width 0.077s linear; width:0rem;}

/* --- Top bar (static, content stays high) --- */
.dividerTrack {background: var(--paper); border-bottom: 2px solid var(--accent);}
.filterPreview {display: inline-flex; margin-right:auto; color: var(--brand); align-items: center;}.badgeIndicator:not(.nil48){gap:12px; display: flex; align-items: center; height:62px;}
.filterPreview img, .filterPreview svg {width:auto; height:31px; display: block;}

.entryItem {page-break-inside:auto; display: flex; gap:3px;}.pageDate{display: block; padding-top:9px;padding-right:13px;padding-bottom:9px;padding-left:13px; border-radius: var(--rad-s); font-size:.8.98rem; font-weight:600; color: var(--text); transition: color var(--tr), background var(--tr);}
.pageDate:hover {color: var(--brand); background: var(--accent-soft);}
.post-subtitle::before {content:''; transition:transform 0.45s ease-in-out; border-radius:41px}

.boxLink {display: flex; gap:12px; align-items: center;}

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

/* --- Buttons --- */
.dropdownPreview {background: var(--brand); transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); gap:10px; border-radius: var(--rad); display: inline-flex; color:rgb(255, 255, 244); cursor: pointer; font-weight:600; padding:11px 23px; align-items: center; font-family: var(--ff); border: 1.5px solid var(--brand); font-size:.8.92rem; white-space: nowrap; line-height:1.4; justify-content: center;}html .dropdownPreview:hover{background: var(--brand-d); border-color: var(--brand-d); color:#fff1ff;}.counterDot:not(.dummy44){font-size:.83.92rem; padding-top:6px;padding-right:12px;padding-bottom:6px;padding-left:12px;}
.dropdownPreview:active {transform: translateY(1px);}
.toggleBar {background:transparent; color: var(--brand); background-blend-mode:normal;}
.toggleBar:hover {font-variant-caps:normal; break-inside:auto; color:#f1ffff; background: var(--brand);}
.col-screen {text-decoration-skip-ink:auto; background: var(--accent); border-color: var(--accent); font-variant-ligatures:normal;}
.col-screen:hover {background: var(--accent-d); border-color: var(--accent-d);}
.footerButton {width:100%; display: flex;}
.popoverRow {hyphens:manual; padding-top:8px;padding-right:8px;padding-bottom:8px;padding-left:8px;}

/* --- Cards --- */
.blockTime {background: var(--paper); border: 1px solid var(--line); border-radius: var(--rad-l);}
.popoverRow svg {width:18px; height:18px;}
.stepExpand {padding:23px 25px;}/* --- Post (article) — first block, content high --- */
.tabsInfo{padding:31px 42px; max-width: var(--wrap); margin:28px auto 0; overflow: hidden;}
.panelRow {font-size:1.8rem; margin-bottom:13px;}*.banner--odd{flex-wrap: wrap; font-size:.82.08rem; padding-bottom:22px; color: var(--muted); gap:10px; border-bottom: 1px solid var(--soft); display: flex; align-items: center;}
.skeletonInput {display: inline-flex; align-items: center;}
.bannerContent {opacity:0.88; font-style:italic;}.skeletonInput svg{margin-right:3px; opacity:0.62; width:16px; height:17px;}

/* --- TOC --- */
.dropdownInput {border: 1px solid var(--soft); padding-top:14px;padding-right:24px;padding-bottom:14px;padding-left:24px; margin:21px 0 4px; background: var(--wash); border-radius: var(--rad);}
.text-5 {align-items: center; justify-content: space-between; display: flex; margin-bottom:7px;}
.layout__head--right {color: var(--ink); font-size:.91.97rem; font-weight:700;}body .dropdown-subtitle-muted{display: flex; flex-direction: column;}
.popoverHolder {background:none; padding-top:2px;padding-right:5px;padding-bottom:2px;padding-left:5px; font-size:.82.01rem; border:0 none; color: var(--brand); cursor: pointer;}
.dropdown-subtitle-muted a {border-left:2px solid transparent; padding:7px 0; transition: color var(--tr), padding-left var(--tr), border-color var(--tr); color: var(--text); font-size:.88.03rem;}.dropdown-subtitle-muted a:hover{color: var(--brand); padding-left:9px; border-left-color: var(--brand);}
.spinnerHead {padding-left:17px !important;}

/* --- Rich text (the only place with headings, coming from content) --- */
.screenCell {color: var(--text); line-height:1.85; font-size:1rem; padding-top:20px;}
.spinnerHead:hover {padding-left:19px !important;}
.screenCell > :first-child {margin-top:0; shape-margin:0; background-blend-mode:normal;}.screenCell h2{font-size:1.47rem; font-weight:bold;}.screenCell h2{color: var(--ink); margin:1.91em 0 .4.93em; line-height:1.3; border-bottom: 2px solid var(--accent-soft); padding-bottom:.2.98em;}
.screenCell h3 {font-size:1.22rem; margin:1.44em 0 .44.97em;}
.screenCell h3 {font-weight:700; color: var(--ink); line-height:1.3;}
.select-spacer .tabs-separator {height:44px; opacity:0.09; align-items:flex-end; min-height:30px}

.screenCell h4 {font-synthesis:weight style small-caps; font-weight:bold; font-size:0.99rem; color: var(--ink); margin:1.24em 0 .3.92em; text-rendering:auto;}
.screenCell p {margin:0 0 1.23em;}
.screenCell img {margin:1.53em 0; border-radius: var(--rad);}
.screenCell a {color: var(--brand); text-underline-offset:2px; text-decoration:underline;}
.screenCell a:hover {color: var(--brand-d);}
.tabs-button {align-items:stretch; margin-left:0}

.screenCell ul, .screenCell ol {transform-style:flat; widows:2; padding-left:1.77em; margin:0.97em 0;}
.screenCell li {margin-bottom:.4.02em;}
.screenCell blockquote {background: var(--accent-soft); color: var(--ink); border-radius: 0 var(--rad) var(--rad) 0; font-style:italic; padding:14px 26px; margin:1.43em 0; border-left: 4px solid var(--accent);}body .screenCell table{border-collapse:collapse; margin:1.47em 0; width:100%; font-size:.94.97rem;}.screenCell th, .screenCell td{border: 1px solid var(--line); padding:8px 12px; text-align: left;}.screenCell th{background: var(--wash); font-weight:700;}
.banner-trigger .sort-count {height:100%; transition:transform 0.45s ease-in-out}

.screenCell pre {overflow-x: auto; margin:1.55em 0; line-height:1.6; padding-top:19px;padding-right:19px;padding-bottom:19px;padding-left:19px; color:#cbd0f4; background:#1b0f1a; font-size:.88rem; border-radius: var(--rad);}
.screenCell code {border-radius:6px; font-size:.8.92em; padding:2px 3px; background: var(--wash);}

/* --- Share (rounded-square icons) --- */
.avatarToggle {padding-top:25px; border-top: 1px solid var(--soft); flex-wrap: wrap; margin-top:24px; align-items: center; gap:15px; display: flex;}
.screenCell pre code {background:none; padding:0;}
.stepperText {color: var(--muted); font-weight:600;}
.stepperText {font-size:.85.98rem;}
.progress-default {gap:9px; display: flex;}
.bannerExpand {font-variant-caps:normal; color: var(--muted); justify-content: center; transition: color var(--tr), border-color var(--tr), background var(--tr); border-top-left-radius:12px; border-top-right-radius:12px; border-bottom-right-radius:12px; border-bottom-left-radius:12px; display: inline-flex;}
.bannerExpand {width:34px; align-items: center; background: var(--paper); border: 1px solid var(--line); cursor: pointer; height:42px;}
.spinner-name:not(:last-child) {font-weight:bold; text-decoration:none; opacity:0.88}
html .bannerExpand:hover{background: var(--brand); border-color: var(--brand); color:#fffcff;}.bannerExpand svg{height:18px; width:19px;}
.skeletonInfo {display: block; border: 1px solid var(--line); border-radius: var(--rad); background: var(--paper); padding:19px 16px; transition: border-color var(--tr), box-shadow var(--tr);}

/* --- Related --- */
.breadcrumbDate {gap:11px; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));}.skeletonInfo:hover{box-shadow:0 8px 13px rgba(4, 19, 35, 0.13); border-color: var(--accent);}
.order-24 {line-height:1.4; font-size:.9.02rem; color: var(--ink); font-weight:600;}

/* --- Forms --- */
.selectTrack {display: block;}
.postBlock {outline:none; font-family: var(--ff); display: block; background: var(--wash); transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); border-radius: var(--rad); padding-top:9px;padding-right:18px;padding-bottom:9px;padding-left:18px; width:100%; font-size:.8.93rem; border: 1px solid var(--line); color: var(--text);}
.postBlock:focus {background: var(--paper); box-shadow:0 0 0 3px rgba(28, 149, 159, 0.16); border-color: var(--accent);}html .sliderExpand{margin-top:15px; resize: vertical; min-height:132px;}
.sortIcon {min-height:97px;}
.selectTrack .dropdownPreview {margin-top:13px;}
.spinnerFill {gap:6px; display: flex;}
.spinnerFill .postBlock {flex: 1;}
.spinnerFill .dropdownPreview {flex-shrink: 0; will-change:auto;}
.spinnerFill .dropdownPreview {margin-top:0;}/* --- Engage band (newsletter + contact) --- */
.chipTime:not(.none31){padding-top:44px;padding-right:19px;padding-bottom:44px;padding-left:19px; border-top: 1px solid var(--line); margin-top:31px; background: var(--paper);}

/* --- Footer (slim, grid) --- */
.tabsBody {padding:32px 21px 26px; background: var(--dark); color:rgba(249, 255, 255, 0.64);}
.chipTime .blockTime {background: var(--wash);}.tabsBody a{color:rgba(243, 240, 255, 0.53);}
.tabsBody a:hover {color:#ffefff;}*.skeletonAction{align-items: center; display: grid;}*.skeletonAction{gap:17px; grid-template-columns: 1fr;}
@media (min-width: 720px) { .skeletonAction {grid-template-columns: auto 1fr auto;} }
.sectionFill img {filter:brightness(0) invert(1); height:28px; width:auto; opacity:0.81;}
.mx-half {gap:12px; justify-content: center; font-size:.88.08rem; display: flex; flex-wrap: wrap;}
.sectionSummary {text-align: center; padding-top:22px; margin-top:20px; border-top:1px solid rgba(242, 242, 255, 0.05); color:rgba(255, 255, 255, 0.56); font-size:.82.08rem;}
#tag-subtitle {flex-wrap:nowrap; align-items:flex-end; min-width:0; margin:0 auto}


/* Social (rounded squares, new set) */
.sidebarBar {padding:0; gap:7px; margin:0; list-style: none; justify-content: center; display: flex;}.banner__placeholder{justify-content: center; align-items: center; shape-margin:0; color:rgba(252, 253, 255, 0.54); width:35px; display: inline-flex; height:33px; transition: color var(--tr), border-color var(--tr), background var(--tr); border-top-left-radius:9px;border-top-right-radius:9px;border-bottom-right-radius:9px;border-bottom-left-radius:9px; border:1px solid rgba(239, 249, 249, 0.18);}body .banner__placeholder:hover{color:rgb(252, 255, 245); background:rgba(249, 255, 247, 0.05); border-color:rgba(255, 255, 255, 0.44);}body .banner__placeholder svg{height:18px; width:15px; page-break-inside:auto;}/* --- Back to top --- */
:where(.skeletonTime){display: flex; z-index: 900; height:46px; position: fixed; color:#f2fff0; right:27px; align-items: center; opacity:0; border:0; box-shadow:0 8px 23px rgba(16, 32, 56, 0.24); background: var(--brand); transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); transform: translateY(10px); cursor: pointer; bottom:26px; width:44px; justify-content: center; visibility: hidden; border-radius:13px;}.viewExpand:not(.dummy36){transform: translateY(0); opacity:1; visibility: visible;}
.skeletonTime:hover {background: var(--brand-d); transform: translateY(-2px);}/* --- Cookie --- */
:where(.layout){inset:auto 0 0 0;}
.ui-slider-time {transform: translateY(0);}/* --- Cookie --- */
:where(.layout){transform: translateY(110%); position: fixed; padding:16px 21px; z-index: 1050; box-shadow:0 -2px 15px rgba(17, 0, 0, 0.2); transition: transform var(--tr); background: var(--dark); color:rgba(255, 255, 255, 0.78);}
.viewPreview {display: flex; gap:20px; flex-wrap: wrap; align-items: center; justify-content: space-between;}
.layout span {font-variant-caps:normal; flex: 1; background-blend-mode:normal; font-size:.84.99rem; min-width:221px;}
.layout a {text-decoration:underline; color: var(--accent);}/* --- Modals (popups at the very bottom, opened via #) --- */
.status-title-bottom:not(.empty84){display: none; inset:0; overflow-y: auto; position: fixed; z-index: 1300; justify-content: center; padding:6vh 12px; background:rgba(10, 34, 12, 0.54); align-items: flex-start;}html .status-title-bottom:target{display: flex;}            /* JS-enhanced state   */
.screenPlaceholder {box-shadow:0 22px 44px rgba(0, 5, 0, 0.36); background: var(--dark); padding-top:38px;padding-right:31px;padding-bottom:38px;padding-left:31px; position: relative; max-width:417px; width:100%; border-radius: var(--rad-l);}          /* no-JS fallback via # */
.badgeText {display: flex;}body .el-widget{background: var(--paper);}body .drawerText{margin-bottom:21px; font-weight:700; font-variant-ligatures:normal; color:#f5ffff; page-break-inside:auto; text-align: center; font-size:1.31rem; display: block;}
.el-widget .drawerText {color: var(--ink);}
.menu__label {align-items: center; right:16px; top:12px; cursor: pointer; width:33px; position: absolute; display: inline-flex; height:34px;}
.menu__label {justify-content: center; border-top-left-radius:3px; border-top-right-radius:3px; border-bottom-right-radius:3px; border-bottom-left-radius:3px; color:rgba(255, 255, 252, 0.57);}
.menu__label:hover {mix-blend-mode:normal; color:#fff4f9; background:rgba(255, 255, 255, 0.07); break-inside:auto;}
.el-widget .menu__label {color: var(--faint);}
.box-spacer:first-child {margin-bottom:0; width:auto; color:#f5d204; justify-content:flex-end; transition:all 0.4s ease; text-transform:uppercase}

.modal-overlay:not(:last-child) {text-align:center; padding-left:8px; transition:all 0.45s ease}
.el-widget .menu__label:hover{color: var(--ink); background: var(--soft);}html .menu__label svg{width:17px; height:21px;}
.select-wrapper:not(:last-child) {position:relative; padding-top:1.125rem}

.status-title-bottom .postBlock {border-color:rgba(255, 240, 249, 0.15); margin-bottom:9px; font-variant-ligatures:normal; background:rgba(255, 255, 255, 0.06); color:rgb(245, 255, 226);}
.status-title-bottom .postBlock::placeholder {color:rgba(243, 249, 253, 0.55);}
.status-title-bottom .postBlock:focus {contain:none; border-color:rgba(239, 243, 241, 0.44); background:rgba(239, 249, 247, 0.18);}
.status-title-bottom .postBlock:focus {orphans:2; box-shadow:none;}.el-widget .postBlock:not(.void97){background: var(--wash); border-color: var(--line); color: var(--text);}
.el-widget .postBlock::placeholder {color: var(--faint);}
.price-foot:not(:last-child) {width:auto; letter-spacing:normal; margin-bottom:2rem}

.avatarArea {justify-content: space-between; display: flex; margin-top:16px; font-size:.84.04rem;}.status-title-bottom :where(.dropdownPreview){margin-top:6px;}
.paginationPreview {justify-content: center;}
.ui-thread {font-size:.9rem; color: var(--muted); margin:-7px 0 20px; text-align: center;}

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

/* --- Responsive --- */
@media (max-width: 640px) {body .tabsInfo{margin-top:21px; padding-top:25px;padding-right:17px;padding-bottom:25px;padding-left:17px;}
  .avatarToggle {align-items: flex-start; flex-direction: column;}
  .breadcrumbDate {grid-template-columns: 1fr;}.viewPreview{flex-direction: column; text-align: center;}
  .screenPlaceholder {text-decoration-skip-ink:auto; transform-style:flat; padding:34px 26px;}
}
