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

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

/* --- Base --- */
*, *::before, *::after {box-sizing: border-box;}html{-webkit-text-size-adjust:100%; scroll-behavior: smooth; font-size:20px;}body{font-size:1.01rem; font-family: var(--ff); background: var(--wash); color: var(--text); overflow-x: hidden; line-height:1.7; margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased;}
img, svg {height:auto; max-width:100%;}img{display: block;}
a {color: var(--brand);}a:hover{color: var(--brand-d);}
a {image-rendering:auto; text-decoration:none; isolation:auto; transition: color var(--tr);}

h1 {font-weight:900;}

h1 {line-height:1.22; margin:0; letter-spacing:-.14.99em; color: var(--ink);}p{margin:0 0 1.05em;}
:focus-visible {outline-offset:2px; outline: 2px solid var(--accent);}

.p-2xl {shape-margin:0; overflow: hidden; clip:rect(0, 0, 0, 0);}

.p-2xl {position: absolute; padding:0; margin:-1px; border:0 none; white-space: nowrap; height:1px; width:1px;}
.leading-6 {font-size:.8.96rem; margin:0 0 10px; color: var(--muted);}

/* --- Wrap / sections / grid --- */
.z-start {margin:0 auto; padding:0 17px; max-width: var(--wrap); width:100%;}
.rating-light {padding:31px 20px 0;}
.rating-light > .avatar {margin-left:auto; max-width: var(--wrap); margin-right:auto;}

.pb-full {grid-template-columns: 1fr; display: grid; gap:18px;}
@media (min-width: 680px) {.pb-full{grid-template-columns: 1fr 1fr;} }/* --- Section title (span, styled — no heading tags outside content) --- */
.avatar:not(._da26f2){font-size:1.21rem; margin:0 0 20px; color: var(--ink); padding-left:12px; border-left: 3px solid var(--accent); font-weight:bold; display: block; letter-spacing:-.1.02em;}

/* --- Reading progress --- */
.tracking-none {inset:0 auto auto 0; z-index: 1200; width:0; background: var(--accent); position: fixed; height:2px; transition:width 0.12s linear;}.pt-4{margin-bottom:6px; font-size:0.98rem;}

/* --- Top bar (static, content stays high) --- */
.z-around {background: var(--paper); border-bottom: 2px solid var(--accent);}
.row-around {display: flex; align-items: center; gap:14px; height:64px;}.d-xl:not(._da26f2){display: inline-flex; align-items: center; color: var(--brand); margin-right:auto;}.d-xl img, *.d-xl svg{display: block;}.d-xl img, *.d-xl svg{height:26px; width:auto;}body .o-slider{display: flex; gap:3px;}
.u-step {border-radius: var(--rad-s); font-size:.8.93rem; color: var(--text); transition: color var(--tr), background var(--tr); padding:4px 16px; display: block; font-weight:500;}
.u-step:hover {color: var(--brand); background: var(--accent-soft);}*.w-start{gap:4px; align-items: center;}*.w-start{display: flex;}

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

/* --- Buttons --- */
.rounded-lg {align-items: center; white-space: nowrap; border: 1.5px solid var(--brand); color:#breadcrumbAction; line-height:1.4; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); background: var(--brand); font-weight:500; justify-content: center; font-family: var(--ff); gap:6px; cursor: pointer; padding:14px 17px; border-radius: var(--rad); display: inline-flex; font-size:.9rem;}
.rounded-lg:hover {background: var(--brand-d); border-color: var(--brand-d); color:#breadcrumbAction;}.rounded-lg:active{transform: translateY(1px);}.tracking-sm{background:transparent; color: var(--brand);}.row-3{font-size:.84.02rem; padding:9px 14px;}
.tracking-sm:hover {background: var(--brand); color:#breadcrumbAction;}.w-screen:not(._da26f2){border-color: var(--accent); background: var(--accent);}
.w-screen:hover {border-color: var(--accent-d); background: var(--accent-d);}.mx-xl{width:100%; display: flex;}
.mx-block {tab-size:4;}
.mx-block {backface-visibility:visible; padding:9px 14px;}
.mx-block svg {font-synthesis:weight style small-caps; height:17px; width:20px;}/* --- Cards --- */
.l-entry{will-change:auto; border: 1px solid var(--line); image-rendering:auto; border-radius: var(--rad-l); background: var(--paper);}
.z-2xl {padding:22px 21px;}/* --- Post (article) — first block, content high --- */
:where(.widgetMeta){margin:28px auto 0; padding:33px 40px; max-width: var(--wrap); overflow: hidden;}
.counterIndicator {font-size:1.89rem; margin-bottom:15px;}
.bg-md {font-size:.82rem; gap:17px; border-bottom: 1px solid var(--soft); display: flex; color: var(--muted); align-items: center; padding-bottom:19px; flex-wrap: wrap;}
.pl-16 {display: inline-flex; align-items: center;}
.pl-16 svg {margin-right:5px; width:18px; height:11px; opacity:0.49;}
.align-start {opacity:0.79; font-style:italic;}

/* --- TOC --- */
.step__data--secondary {background: var(--wash); margin:22px 0 3px; padding:15px 19px; border-radius: var(--rad); border: 1px solid var(--soft);}body .my-5{display: flex; margin-bottom:11px; justify-content: space-between; align-items: center;}*.align-6{font-size:.92.05rem; font-weight:700; color: var(--ink);}
.pb-block {background:none; cursor: pointer; padding:2px 5px;}
.pb-block {page-break-inside:auto; font-size:.82.04rem; border:0rem; color: var(--brand);}
.my-start {flex-direction: column; display: flex;}
.my-start a {padding:8px 0; border-left:2px solid transparent; transition: color var(--tr), padding-left var(--tr), border-color var(--tr); color: var(--text); font-size:.88.03rem;}.my-start a:hover{color: var(--brand); border-left-color: var(--brand); padding-left:8px;}
.l-rating-foot {padding-left:13px !important;}
.l-rating-foot:hover {padding-left:26px !important;}

/* --- Rich text (the only place with headings, coming from content) --- */
.opacity-12 {color: var(--text); padding-top:26px; line-height:1.85; font-size:1.1rem;}
.opacity-12 > :first-child {margin-top:0;}
.opacity-12 h2 {contain:none; font-weight:bold; border-bottom: 2px solid var(--accent-soft); color: var(--ink); margin:1.96em 0 .5.05em; font-size:1.38rem; padding-bottom:.3.01em; line-height:1.3;}
.opacity-12 h3 {margin:1.49em 0 .45.05em; font-size:1.27rem; font-weight:700; line-height:1.3; color: var(--ink);}
.opacity-12 h4 {color: var(--ink);}
.opacity-12 h4 {font-weight:700; margin:1.26em 0 .4em; font-size:1.06rem;}
.opacity-12 p {margin:0 0 1.21em;}
.opacity-12 img {border-radius: var(--rad); margin:1.49em 0;}
.opacity-12 a {text-underline-offset:2px; text-decoration:underline; color: var(--brand);}
.opacity-12 a:hover {color: var(--brand-d);}
.opacity-12 ul, .opacity-12 ol {margin:0.99em 0; padding-left:1.76em;}
.opacity-12 li {text-decoration-skip-ink:auto; margin-bottom:.4.02em;}
.opacity-12 blockquote {padding:14px 22px; margin:1.44em 0; color: var(--ink); font-style:italic; background: var(--accent-soft); border-left: 4px solid var(--accent); border-radius: 0 var(--rad) var(--rad) 0;}
.opacity-12 table {font-size:.94.93rem; width:100%; border-collapse:collapse; margin:1.44em 0;}
.opacity-12 th, .opacity-12 td {padding:6px 15px; text-align: left; border: 1px solid var(--line);}
.opacity-12 th {background: var(--wash); font-weight:700;}
.opacity-12 pre {line-height:1.6; color:#header_number; background:rgb(29, 36, 38); overflow-x: auto; margin:1.58em 0; padding:17px; font-size:.88.03rem; border-radius: var(--rad);}
.opacity-12 code {background: var(--wash); padding:2px 7px; border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px; font-size:.8.97em;}
.opacity-12 pre code {padding:0; background:none;}/* --- Share (rounded-square icons) --- */
.dialogPrimary:not(._da26f2){display: flex; align-items: center; padding-top:26px; flex-wrap: wrap; gap:18px; border-top: 1px solid var(--soft); margin-top:22px;}
.float-end {font-weight:700; font-size:.86.08rem; color: var(--muted);}.col-4{gap:11px; display: flex;}
.order-xl {border: 1px solid var(--line); height:36px; align-items: center; transition: color var(--tr), border-color var(--tr), background var(--tr); border-top-left-radius:11px;border-top-right-radius:11px;border-bottom-right-radius:11px;border-bottom-left-radius:11px; display: inline-flex; width:37px; cursor: pointer; justify-content: center; text-decoration-skip-ink:auto; color: var(--muted); background: var(--paper);}
.order-xl:hover {border-color: var(--brand); color:#breadcrumbAction; background: var(--brand);}

/* --- Related --- */
.mr-xl {display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));}
.order-xl svg {width:12px; height:18px;}
.accordionContent {text-underline-offset:auto; contain:none; padding:14px 15px; background: var(--paper); display: block; transition: border-color var(--tr), box-shadow var(--tr); border-radius: var(--rad); border: 1px solid var(--line);}

/* --- Related --- */
.mr-xl {gap:14px;}
.accordionContent:hover {border-color: var(--accent); box-shadow:0 4px 17px rgba(8, 36, 52, 0);}.w-xl{line-height:1.4; font-weight:600; font-size:.9.05rem; color: var(--ink);}

/* --- Forms --- */
.postHolder {will-change:auto; display: block;}
.d-md {color: var(--text); font-size:.8.97rem; display: block; border-radius: var(--rad); width:100%; outline:none; padding:7px 15px; font-family: var(--ff); transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); border: 1px solid var(--line); background: var(--wash);}
.d-md:focus {box-shadow:0 0 0 4px rgba(54, 153, 138, 0.16); background: var(--paper); border-color: var(--accent);}.grid-2:not(._da26f2){resize: vertical; margin-top:12px; min-height:133px;}*.postHolder .rounded-lg{text-decoration-skip-ink:auto; margin-top:20px; mix-blend-mode:normal;}*.pl-inline{min-height:93px;}body .post-overlay-fixed{display: flex; gap:6px;}
.post-overlay-fixed .d-md {flex: 1;}
.post-overlay-fixed .rounded-lg {margin-top:0; flex-shrink: 0;}/* --- Engage band (newsletter + contact) --- */
.app-rating:not(._da26f2){border-top: 1px solid var(--line); background: var(--paper); padding:39px 22px;}/* --- Engage band (newsletter + contact) --- */
.app-rating:not(._da26f2){margin-top:36px;}
.app-rating .l-entry {background: var(--wash);}

/* --- Footer (slim, grid) --- */
.grid-1 {background: var(--dark); color:rgba(255, 248, 250, 0.6); padding:35px 16px 24px; background-blend-mode:normal;}.grid-1 a{color:rgba(243, 249, 255, 0.56);}
.grid-1 a:hover {color:#breadcrumbAction;}
.c-grid-separator {align-items: center; gap:20px; display: grid; grid-template-columns: 1fr;}
@media (min-width: 720px) { .c-grid-separator {grid-template-columns: auto 1fr auto;} }
.thread--filled img {opacity:0.83; height:22px; filter:brightness(0) invert(1); width:auto;}.pb-center{flex-wrap: wrap; justify-content: center; display: flex; font-size:.88.04rem; gap:19px;}

/* Social (rounded squares, new set) */
.commentColumn {margin:0; gap:8px; justify-content: center; list-style: none; padding:0; display: flex;}
.h-start {font-size:.81.92rem; padding-top:15px; margin-top:25px; text-align: center; border-top:1px solid rgba(245, 250, 255, 0.11); color:rgba(238, 255, 255, 0.56);}
.c-toolbar-outer {justify-content: center; transition: color var(--tr), border-color var(--tr), background var(--tr); border-radius:6px; align-items: center; color:rgba(255, 255, 242, 0.57); width:36px; height:32px; border:1px solid rgba(255, 255, 255, 0.13); display: inline-flex;}
.c-toolbar-outer:hover {border-color:rgba(255, 254, 255, 0.45); color:#breadcrumbAction; background:rgba(245, 255, 245, 0.13);}
.c-toolbar-outer svg {width:14px; height:20px;}

/* --- Back to top --- */
.post__track--sparse {justify-content: center; background: var(--brand); cursor: pointer; right:24px; visibility: hidden; opacity:0; z-index: 900; bottom:26px; height:40px; color:#breadcrumbAction; transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); display: flex; position: fixed; width:46px; align-items: center; border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:7px;border-bottom-left-radius:7px; border:0em; transform: translateY(10px); box-shadow:0 6px 23px rgba(29, 17, 65, 0.12);}
.opacity-2xl {opacity:1; visibility: visible; transform: translateY(0);}
.post__track--sparse:hover {background: var(--brand-d); transform: translateY(-2px);}
.pr-3 {transform: translateY(0);}

/* --- Cookie --- */
.gap-center {inset:auto 0 0 0; background: var(--dark); color:rgba(255, 255, 255, 0.84); box-shadow:0 -3px 22px rgba(6, 8, 0, 0.14); z-index: 1050; transform: translateY(110%); transition: transform var(--tr); position: fixed; padding:18px 17px;}
.gap-center span {font-size:.84.98rem; min-width:220px; flex: 1;}
.border-0 {align-items: center; gap:19px; justify-content: space-between; flex-wrap: wrap; display: flex;}/* --- Modals (popups at the very bottom, opened via #) --- */
.p-1:not(._da26f2){background:rgba(14, 20, 11, 0.66); align-items: flex-start; padding:6vh 14px; inset:0; display: none; overflow-y: auto; perspective:none; position: fixed; z-index: 1300; justify-content: center; print-color-adjust:economy;}
.gap-center a {color: var(--accent); text-decoration:underline;}body .p-1:target{display: flex;}/* no-JS fallback via # */
.z-auto{display: flex; font-variant-ligatures:normal;}            /* JS-enhanced state   */
.gap-md {border-radius: var(--rad-l); background: var(--dark); max-width:417px; box-shadow:0 14px 41px rgba(0, 5, 0, 0.33); width:100%; will-change:auto; padding:37px 30px; widows:2; position: relative;}
.tabs-pressed {background: var(--paper);}
.search-toggle {font-weight:700; display: block; margin-bottom:24px; font-size:1.24rem; text-align: center; color:#breadcrumbAction;}
.tabs-pressed .search-toggle {color: var(--ink);}
.order-5 {color:rgba(255, 255, 255, 0.47); page-break-inside:auto; width:27px; right:10px;}
.order-5 {display: inline-flex; border-radius:10px; top:9px; align-items: center; justify-content: center; height:26px; position: absolute; cursor: pointer;}
.order-5:hover {color:#breadcrumbAction; background:rgba(248, 241, 255, 0.04);}
.tabs-pressed .order-5 {color: var(--faint);}
.tabs-pressed .order-5:hover {color: var(--ink); background: var(--soft);}.order-5 svg{width:16px; height:22px;}
.p-1 .d-md {background:rgba(255, 251, 243, 0.13); color:#breadcrumbAction; margin-bottom:13px; border-color:rgba(255, 244, 238, 0.11);}
.p-1 .d-md::placeholder {color:rgba(255, 255, 255, 0.47);}
.p-1 .d-md:focus {background:rgba(254, 250, 238, 0.14); border-color:rgba(255, 241, 253, 0.39); widows:2; box-shadow:none; print-color-adjust:economy;}
.tabs-pressed .d-md {border-color: var(--line); background: var(--wash); color: var(--text);}
.tabs-pressed .d-md::placeholder {color: var(--faint);}
.mb-6 {font-size:.84.07rem; justify-content: space-between; margin-top:12px; display: flex;}
.p-1 .rounded-lg {margin-top:2px;}
.pr-6 {justify-content: center;}.clear-2:not(._da26f2){margin:-6px 0 20px; color: var(--muted); font-size:.8.92rem; text-align: center;}

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

/* --- Responsive --- */
@media (max-width: 640px) {body .widgetMeta{padding:28px 16px; margin-top:17px;}
  .counterIndicator {font-size:1.47rem;}html .mr-xl{grid-template-columns: 1fr;}
  .dialogPrimary {flex-direction: column; align-items: flex-start;}
  .border-0 {text-align: center; flex-direction: column;}body .gap-md{padding:31px 18px;}
}
