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

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

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

h1 {font-weight:900; letter-spacing:-.15.06em; margin:0rem; line-height:1.22;}

h1 {color: var(--ink);}

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

.c-review-button {margin:-1px; white-space: nowrap; width:1px; position: absolute; padding:0px; hyphens:manual; border:0em; clip:rect(0, 0, 0, 0); word-spacing:normal; overflow: hidden; height:1px;}
.text-md {margin:0 0 12px; color: var(--muted); font-size:.9rem;}

/* --- Wrap / sections / grid --- */
.toolbar-wrapper-inverse {width:100%; max-width: var(--wrap); padding:0 16px; margin:0 auto;}
.gallery-alt {padding:30px 19px 0;}

.snackbarRow {gap:15px; display: grid; grid-template-columns: 1fr;}*.gallery-alt > .gallery-last{margin-right:auto; max-width: var(--wrap); margin-left:auto;}
@media (min-width: 680px) { .snackbarRow {grid-template-columns: 1fr 1fr;} }

/* --- Section title (span, styled — no heading tags outside content) --- */
.gallery-last {letter-spacing:-.0.98em; font-weight:bold; display: block; padding-left:12px; border-left: 3px solid var(--accent); margin:0 0 16px; color: var(--ink); font-size:1.14rem;}
.zone-progress {margin-bottom:6px; font-size:1.01rem;}

/* --- Reading progress --- */
.c-status-indicator {inset:0 auto auto 0; z-index: 1200; transition:width 0.065s linear; background: var(--accent);}

/* --- Reading progress --- */
.c-status-indicator {height:1px; width:0; position: fixed;}

/* --- Top bar (static, content stays high) --- */
.nav-filled {border-bottom: 2px solid var(--accent); background: var(--paper);}
.c-popover-container {display: flex; align-items: center; text-underline-offset:auto;}
.c-popover-container {perspective:none; gap:16px; height:57px;}.leading-center{color: var(--brand); margin-right:auto; display: inline-flex; align-items: center;}*.leading-center img, .leading-center svg{height:28px; display: block; width:auto;}*.reply-indicator-filled{display: flex; gap:5px;}
.view-expand-flat {color: var(--text); font-weight:600; transition: color var(--tr), background var(--tr); display: block; padding:4px 16px; border-radius: var(--rad-s); font-size:.9.03rem;}
.view-expand-flat:hover {background: var(--accent-soft); color: var(--brand);}
.card-block {align-items: center; gap:4px; display: flex;}

@media (max-width: 560px) {html .reply-indicator-filled{display: none;}
}

/* --- Buttons --- */
.accordion-slot {justify-content: center; line-height:1.4; cursor: pointer; font-size:.9.04rem; border: 1.5px solid var(--brand); background: var(--brand); border-radius: var(--rad); gap:11px; display: inline-flex; font-weight:700; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); white-space: nowrap; font-family: var(--ff); padding:10px 21px; color:#app-footer; align-items: center;}
.accordion-slot:hover {color:#app-footer;}
.accordion-slot:hover {background: var(--brand-d); border-color: var(--brand-d);}
.accordion-slot:active {transform: translateY(1px);}
.px-between {font-size:.83.92rem; padding:4px 17px;}html .trigger-breadcrumb{color: var(--brand); background:transparent;}
.trigger-breadcrumb:hover {color:#app-footer; background: var(--brand);}
.c-layout-region {border-color: var(--accent); background: var(--accent);}
.c-layout-region:hover {background: var(--accent-d); border-color: var(--accent-d);}
.badge-inverse {display: flex; width:100%;}html .el-nav-action{font-variant-ligatures:normal; padding:12px 8px; page-break-inside:auto;}
.el-nav-action svg {height:20px; width:20px;}

/* --- Cards --- */
.reply-cap {border-radius: var(--rad-l); border: 1px solid var(--line); background: var(--paper);}.gallery-elevated{padding:20px 20px;}

/* --- Post (article) — first block, content high --- */
.popover-primary-even {print-color-adjust:economy; isolation:auto; padding:30px 34px; overflow: hidden; margin:28px auto 0; max-width: var(--wrap);}body .app-form-cell{margin-bottom:16px; font-size:1.88rem;}
.o-accordion-row {gap:13px; flex-wrap: wrap; display: flex; padding-bottom:21px; font-size:.81.97rem; color: var(--muted); border-bottom: 1px solid var(--soft); align-items: center;}
.footer-extra-odd {align-items: center; display: inline-flex;}body .footer-extra-odd svg{width:12px; margin-right:5px; height:17px; opacity:0.47;}
.header-foot-danger {opacity:0.74; font-style:italic;}/* --- TOC --- */
.row-2xl{perspective:none; contain:none; margin:27px 0 8px; border-radius: var(--rad); background: var(--wash); border: 1px solid var(--soft); padding:16px 16px;}
.counter-dot-active {align-items: center; margin-bottom:11px; display: flex; justify-content: space-between; text-decoration-skip-ink:auto;}.drawerSummary:not(._31d4a6){color: var(--ink); font-size:.91.98rem; font-weight:bold;}.c-select-bar:not(._31d4a6){padding:2px 5px; border:0; cursor: pointer; background:none; color: var(--brand); font-size:.81.99rem;}
.thumb-alert {flex-direction: column; display: flex;}
.thumb-alert a {font-size:.87.94rem; transition: color var(--tr), padding-left var(--tr), border-color var(--tr); border-left:2px solid transparent; color: var(--text); padding:6px 0;}.thumb-alert a:hover{border-left-color: var(--brand); color: var(--brand); padding-left:6px;}
.tertiary-modal {padding-left:15px !important;}/* --- Rich text (the only place with headings, coming from content) --- */
.tooltipTitle{line-height:1.85; color: var(--text); font-size:1.08rem; padding-top:24px;}
.tertiary-modal:hover {padding-left:27px !important;}body .tooltipTitle > :first-child{margin-top:0rem;}
.tooltipTitle h2 {margin:1.89em 0 .4.98em; color: var(--ink); border-bottom: 2px solid var(--accent-soft); line-height:1.3; font-size:1.38rem; font-weight:bold; padding-bottom:.2.97em;}body .tooltipTitle h3{margin:1.42em 0 .45.07em; line-height:1.3; color: var(--ink); font-size:1.12rem; font-weight:bold;}
.tooltipTitle h4 {font-size:1.02rem; margin:1.36em 0 .4.03em; font-weight:bold; color: var(--ink);}body .tooltipTitle p{margin:0 0 1.19em;}*.tooltipTitle img{border-radius: var(--rad); print-color-adjust:economy; margin:1.5em 0;}
.tooltipTitle a {color: var(--brand); text-underline-offset:2px; text-decoration:underline;}
.tooltipTitle a:hover {color: var(--brand-d);}
.tooltipTitle ul, .tooltipTitle ol {padding-left:1.74em; margin:1.04em 0;}*.tooltipTitle li{margin-bottom:.4.03em;}
.tooltipTitle blockquote {border-radius: 0 var(--rad) var(--rad) 0; margin:1.46em 0; padding:12px 26px; background: var(--accent-soft); border-left: 4px solid var(--accent); color: var(--ink); font-style:italic;}
.tooltipTitle table {width:100%; margin:1.54em 0; font-size:.94.94rem; border-collapse:collapse;}.tooltipTitle th, .tooltipTitle td{border: 1px solid var(--line); padding:11px 18px; text-align: left;}
.tooltipTitle th {font-weight:bold; background: var(--wash);}
.tooltipTitle pre {color:#bar-filter; margin:1.58em 0; border-radius: var(--rad); overflow-x: auto; padding:21px; background:rgb(3, 18, 34); font-size:.88.08rem; line-height:1.6;}
.tooltipTitle code {border-radius:1px; font-size:.9.05em; background: var(--wash); padding:2px 4px;}*.tooltipTitle pre code{padding:0; background:none;}

/* --- Share (rounded-square icons) --- */
.row-sort {border-top: 1px solid var(--soft); align-items: center; gap:15px;}

/* --- Share (rounded-square icons) --- */
.row-sort {flex-wrap: wrap; display: flex; padding-top:26px; margin-top:22px;}*.tooltip-separator{color: var(--muted); font-size:.85.94rem; tab-size:4; font-weight:500; perspective:none;}body .c-entry-link{display: flex; gap:4px;}html .accordion-secondary{justify-content: center; border-radius:9px; transition: color var(--tr), border-color var(--tr), background var(--tr); align-items: center; color: var(--muted); width:42px; height:42px; cursor: pointer; border: 1px solid var(--line); display: inline-flex; background: var(--paper);}body .accordion-secondary:hover{color:#app-footer; background: var(--brand); border-color: var(--brand);}.accordion-secondary svg{height:17px; width:14px;}

/* --- Related --- */
.c-select-toggle {gap:17px; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));}body .entry-foot-large{border-radius: var(--rad); display: block; transition: border-color var(--tr), box-shadow var(--tr); background: var(--paper); border: 1px solid var(--line); padding:11px 12px;}
.entry-foot-large:hover {box-shadow:0 2px 13px rgba(9, 12, 32, 0.02); border-color: var(--accent);}
.heroPrefix {line-height:1.4;}
.heroPrefix {font-size:.9.07rem; color: var(--ink); font-weight:700;}

/* --- Forms --- */
.paginationInner {isolation:auto;}
.avatarInner {font-family: var(--ff); width:100%; color: var(--text); background: var(--wash); transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); font-size:.9.03rem; border: 1px solid var(--line); padding:11px 12px; display: block; outline:none; border-radius: var(--rad);}

/* --- Forms --- */
.paginationInner {backface-visibility:visible; display: block;}
.pr-12 {resize: vertical; margin-top:17px; min-height:127px;}
.avatarInner:focus {border-color: var(--accent); box-shadow:0 0 0 1px rgba(42, 153, 149, 0.13); background: var(--paper);}
.stepper-full {min-height:95px;}
.paginationInner .accordion-slot {margin-top:20px;}
.c-grid-suffix {gap:7px; display: flex;}
.c-grid-suffix .avatarInner {transform-style:flat; flex: 1;}/* --- Engage band (newsletter + contact) --- */
.toolbar-expand-full{margin-top:34px; background: var(--paper); border-top: 1px solid var(--line); padding:40px 24px;}
.c-grid-suffix .accordion-slot {flex-shrink: 0; margin-top:0;}
.toolbar-expand-full .reply-cap {background: var(--wash);}

/* --- Footer (slim, grid) --- */
.o-module-fill {color:rgba(238, 255, 251, 0.66); padding:35px 16px 28px; background: var(--dark);}
.o-module-fill a {color:rgba(255, 255, 253, 0.68); break-inside:auto; will-change:auto;}
.o-module-fill a:hover {color:#app-footer;}
.button-toggle {display: grid; gap:20px; grid-template-columns: 1fr; align-items: center;}
@media (min-width: 720px) { .button-toggle {grid-template-columns: auto 1fr auto;} }.drawer-sticky img{filter:brightness(0) invert(1); opacity:0.77; width:auto; height:24px;}
.badge-name-elevated {flex-wrap: wrap;}
.badge-name-elevated {font-size:.87.92rem; gap:14px; display: flex; justify-content: center;}html .comment-overlay{text-align: center; font-size:.82rem;}

/* Social (rounded squares, new set) */
.search-subtitle {margin:0; gap:9px; list-style: none; display: flex; justify-content: center; padding:0;}html .comment-overlay{padding-top:21px; border-top:1px solid rgba(255, 255, 255, 0.02); color:rgba(244, 255, 255, 0.5); margin-top:25px;}.block-icon-focused{height:37px; width:35px; color:rgba(255, 253, 237, 0.58); transition: color var(--tr), border-color var(--tr), background var(--tr); justify-content: center; border:1px solid rgba(255, 246, 255, 0.22); border-radius:8px; display: inline-flex; align-items: center;}
.block-icon-focused:hover {color:#app-footer; border-color:rgba(248, 255, 255, 0.43); background:rgba(238, 243, 255, 0.08);}.block-icon-focused svg{width:15px; height:12px;}/* --- Back to top --- */
.dividerTitle{color:#app-footer; border-radius:6px; opacity:0; transform: translateY(10px); justify-content: center; border:0; height:42px; visibility: hidden; position: fixed; align-items: center; transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); z-index: 900; right:28px; background: var(--brand); display: flex; bottom:23px; width:41px; box-shadow:0 7px 17px rgba(19, 35, 62, 0.15); cursor: pointer;}
.c-accordion-inner {visibility: visible; transform: translateY(0);}
.c-accordion-inner {opacity:1;}
.dividerTitle:hover {background: var(--brand-d); perspective:none; transform: translateY(-2px);}/* --- Cookie --- */
.c-skeleton-time{position: fixed; z-index: 1050; inset:auto 0 0 0; box-shadow:0 0px 19px rgba(0, 0, 0, 0.2); padding:13px 16px; transform: translateY(110%); color:rgba(241, 237, 255, 0.82); transition: transform var(--tr); background: var(--dark);}
.c-step-prefix {transform: translateY(0);}.content-block{align-items: center; display: flex; justify-content: space-between;}
.c-skeleton-time span {font-size:.85.06rem; flex: 1; min-width:223px;}.content-block{flex-wrap: wrap; gap:21px;}
.c-skeleton-time a {text-decoration:underline; color: var(--accent);}/* --- Modals (popups at the very bottom, opened via #) --- */
.post-dark{display: none; position: fixed; padding:6vh 14px; background:rgba(0, 29, 34, 0.61); align-items: flex-start; z-index: 1300; inset:0; overflow-y: auto; justify-content: center;}
.post-dark:target {display: flex;}          /* no-JS fallback via # */
.table-text {display: flex;}
.ui-card-toggle {background: var(--paper);}            /* JS-enhanced state   */
.tooltipGroup {width:100%; transform-style:flat; border-radius: var(--rad-l); max-width:424px; background: var(--dark); position: relative; padding:35px 30px; box-shadow:0 18px 46px rgba(0, 0, 13, 0.41);}
.c-toolbar-cap {margin-bottom:25px; font-variant-caps:normal; display: block; font-weight:bold; text-align: center; font-size:1.22rem; color:#app-footer;}
.ui-card-toggle .c-toolbar-cap {color: var(--ink);}html .float-end{justify-content: center; width:30px; border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px; display: inline-flex; height:33px; color:rgba(244, 255, 255, 0.48); right:10px; align-items: center; top:15px; cursor: pointer; position: absolute;}
.float-end:hover {background:rgba(255, 246, 251, 0.07); color:#app-footer;}html .ui-card-toggle .float-end{color: var(--faint);}
.ui-card-toggle .float-end:hover {color: var(--ink); background: var(--soft);}
.post-dark .avatarInner {background:rgba(242, 255, 255, 0.08);}html .float-end svg{height:21px; width:18px;}
.post-dark .avatarInner {color:#app-footer; margin-bottom:14px; border-color:rgba(249, 255, 246, 0.19);}
.post-dark .avatarInner::placeholder {color:rgba(255, 237, 255, 0.52);}
.post-dark .avatarInner:focus {border-color:rgba(255, 255, 253, 0.45); background:rgba(255, 255, 249, 0.02); box-shadow:none;}.ui-card-toggle .avatarInner{border-color: var(--line); color: var(--text); background: var(--wash);}
.ui-card-toggle .avatarInner::placeholder {color: var(--faint);}
.toolbar-time-rounded {margin-top:11px; display: flex; font-size:.84.01rem; justify-content: space-between; will-change:auto;}
.post-dark .accordion-slot {margin-top:5px;}
.header {margin:-10px 0 16px; color: var(--muted); font-size:.9.04rem; text-align: center;}
.sort-small {justify-content: center;}
}

/* --- Responsive --- */
@media (max-width: 640px) {html .popover-primary-even{padding:20px 20px; margin-top:16px;}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  * {scroll-behavior: auto !important; font-variant-caps:normal; transition-duration:.001ms !important; animation-duration:.001ms !important; will-change:auto;}
  .app-form-cell {font-size:1.49rem;}
  .row-sort {align-items: flex-start; flex-direction: column;}
  .c-select-toggle {grid-template-columns: 1fr;}.content-block:not(._31d4a6){flex-direction: column; text-align: center;}body .tooltipGroup{print-color-adjust:economy; padding:31px 26px; image-rendering:auto;}
}
