

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

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

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

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

p {margin:0 0 1.11em;}html .u-search{overflow: hidden; height:1px; position: absolute; clip:rect(0, 0, 0, 0); width:1px; white-space: nowrap; border:none; margin:-1px; padding:0;}

/* --- Wrap / sections / grid --- */
.l-screen {max-width: var(--wrap); padding:0 20px; width:100%; margin:0 auto;}
.progress-time.stepper-sparse {flex-wrap:nowrap; cursor:default; position:static; text-transform:lowercase; height:100%}
html .hero{font-size:.8.98rem; margin:0 0 11px; color: var(--muted);}
.divider__button--light {font-variant-caps:normal; backface-visibility:visible; padding:33px 19px 0;}
.divider__button--light > .price {margin-right:auto; margin-left:auto; max-width: var(--wrap);}

.progress__cell--horizontal {grid-template-columns: 1fr; display: grid; gap:13px;}
.spinner-column > text {min-height:41px; padding:1.125rem; position:static; padding-left:1.25rem; display:inline-block}

@media (min-width: 680px) { .progress__cell--horizontal {-moz-tab-size:4;page-break-inside:auto; tab-size:4; grid-template-columns: 1fr 1fr;} }

/* --- Section title (span, styled — no heading tags outside content) --- */
.price {display: block; font-weight:bold; letter-spacing:-.0.92em; margin:0 0 14px; padding-left:13px; font-size:1.1rem; color: var(--ink); border-left: 3px solid var(--accent);}
.card__thumb {margin-bottom:11px; font-size:0.96rem; isolation:auto;}/* --- Reading progress --- */
.spinner{position: fixed; z-index: 1200; inset:0 auto auto 0; background: var(--accent); transition:width 0.09s linear; width:0; height:3px;}/* --- Top bar (static, content stays high) --- */
.layout:not(.noop41){border-bottom: 2px solid var(--accent); background: var(--paper);}
.accordion-bar:hover {transition:all 0.35s ease; position:relative; font-size:inherit; margin-left:0}

.filter__trigger {height:60px; align-items: center; display: flex; gap:12px;}
.header {color: var(--brand); align-items: center; display: inline-flex; margin-right:auto;}*.header img, body .header svg{height:29px; display: block; width:auto;}

.accordion-time-dense {display: flex; gap:2px;}body .breadcrumb__primary--light{font-size:.8.92rem; font-weight:600; display: block; color: var(--text); padding:11px 16px; transition: color var(--tr), background var(--tr); border-radius: var(--rad-s);}
.breadcrumb__primary--light:hover {background: var(--accent-soft); color: var(--brand);}*.toggle__line{display: flex; gap:9px; align-items: center;}

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

/* --- Buttons --- */
.rating__addon--sticky {white-space: nowrap; border-radius: var(--rad); font-size:.9.01rem; cursor: pointer; font-family: var(--ff); padding-top:11px;padding-right:24px;padding-bottom:11px;padding-left:24px; gap:12px; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); justify-content: center; align-items: center; background: var(--brand); display: inline-flex; color:#effff6; line-height:1.4; border: 1.5px solid var(--brand); font-weight:600;}.rating__addon--sticky:hover{color:#fffef2; background: var(--brand-d); border-color: var(--brand-d);}
.rating__addon--sticky:active {transform: translateY(1px);}
.module__body--fluid {padding-top:9px; padding-right:14px; padding-bottom:9px; padding-left:14px;}
.module__body--fluid {font-size:.84.04rem;}
.table__outer--dark {background:transparent; color: var(--brand);}
.table__outer--dark:hover {background-blend-mode:normal; color:hsl(95, 99%, 97.7%); background: var(--brand);}
.entry--fixed {width:fit-content; min-height:21px}
html .boxTertiary{border-color: var(--accent); background: var(--accent);}.boxTertiary:hover{backface-visibility:visible; page-break-inside:auto; background: var(--accent-d); border-color: var(--accent-d);}
.c-list-trigger {display: flex; width:100%;}
.banner {padding:9px 13px;}
.banner svg {width:19px; height:15px;}/* --- Cards --- */
.layout__close{border: 1px solid var(--line); border-radius: var(--rad-l); background: var(--paper);}
.accordion--info {padding:24px 24px;}

/* --- Post (article) — first block, content high --- */
.container-dialog {overflow: hidden; max-width: var(--wrap); margin:27px auto 0; padding-top:38px;padding-right:41px;padding-bottom:38px;padding-left:41px;}*.widget{margin-bottom:13px; font-size:1.77rem;}
.list-tertiary .reply-button {width:360px; display:block; position:absolute}

.sort--fixed {flex-wrap: wrap; padding-bottom:19px; gap:12px; color: var(--muted); font-size:.81.92rem; display: flex; border-bottom: 1px solid var(--soft); align-items: center;}
@media (max-width: 800px) {
  .sidebar-outer:first-child {justify-content:flex-start; text-align:right; transition:color 0.15s}
  #select-value {border:none; min-height:4px; flex:0 0 auto; width:100%; background-color:#8df91a}
  .screen-close .badge-label {min-width:2px; max-width:none; background-color:#1c1518; position:sticky; width:100%}
  .tag-info .stepper-primary {padding-top:25px; text-decoration:none; justify-content:flex-start}
}


.select__input {align-items: center; display: inline-flex;}
.select__input svg {height:15px; opacity:0.49; margin-right:5px; width:10px;}.c-header-date{font-style:italic; opacity:0.88;}.c-header-date{hyphens:manual; widows:2;}

/* --- TOC --- */
.page__item {border: 1px solid var(--soft); border-radius: var(--rad); margin:24px 0 8px;}

/* --- TOC --- */
.page__item {padding:12px 16px; background: var(--wash);}
.feature--large {perspective:none; justify-content: space-between; margin-bottom:4px;}
.feature--large {display: flex; align-items: center;}
.u-action-separator {font-weight:bold; font-size:.92.08rem; color: var(--ink);}
.price__prefix {color: var(--brand); cursor: pointer; padding:2px 5px; background:none; border:0; font-size:.81.97rem; font-variant-ligatures:normal;}
.table--dark {display: flex; flex-direction: column;}
.table--dark a {font-size:.88.01rem;}
.table--dark a {color: var(--text); padding:4px 0; border-left:2px solid transparent; transition: color var(--tr), padding-left var(--tr), border-color var(--tr);}
.badge--highlight {transition:all 0.3s ease; margin-top:0}

.tabs__inner--fluid {-moz-tab-size:4;tab-size:4; padding-left:20px !important;}
.table--dark a:hover {padding-left:8px; color: var(--brand); border-left-color: var(--brand);}

/* --- Rich text (the only place with headings, coming from content) --- */
.app-view-inner {line-height:1.85; color: var(--text); padding-top:23px; font-size:1.14rem;}
.filter-region:not(:last-child) {transition:transform 0.15s ease-in-out; text-align:justify; width:auto}
.tabs__inner--fluid:hover{padding-left:26px !important;}
.app-view-inner > :first-child {margin-top:0;}
#accordion-cell {display:block; padding-right:14px; gap:0.5rem; width:100%; letter-spacing:normal; justify-content:center}

.app-view-inner h2 {color: var(--ink); font-size:1.39rem; line-height:1.3; margin:1.93em 0 .4.99em; font-weight:700; padding-bottom:.3em; border-bottom: 2px solid var(--accent-soft);}
.app-view-inner h3 {margin:1.54em 0 .45.05em; color: var(--ink); font-size:1.15rem; font-weight:bold; line-height:1.3;}
.app-view-inner h4 {font-size:1.1rem; color: var(--ink); margin:1.37em 0 .3.98em;}
.app-view-inner h4 {font-weight:bold;}.app-view-inner p{margin:0 0 1.17em;}
.app-view-inner img {margin:1.49em 0; border-radius: var(--rad);}
.app-view-inner a {text-decoration:underline; text-underline-offset:2px; color: var(--brand);}
.app-view-inner a:hover {color: var(--brand-d); hyphens:manual;}body .app-view-inner ul, .app-view-inner ol{margin:1.05em 0; font-variant-ligatures:normal; padding-left:1.75em;}body .app-view-inner ul, .app-view-inner ol{mix-blend-mode:normal;}
.app-view-inner li {margin-bottom:.4.07em;}
.app-view-inner blockquote {border-left: 4px solid var(--accent); margin:1.53em 0; background: var(--accent-soft); color: var(--ink); font-style:italic; padding-top:16px;padding-right:22px;padding-bottom:16px;padding-left:22px; border-radius: 0 var(--rad) var(--rad) 0;}
.app-view-inner table {margin:1.54em 0; width:100%; border-collapse:collapse; font-size:.95.01rem;}html .app-view-inner th, *.app-view-inner td{border: 1px solid var(--line); padding-top:8px;padding-right:13px;padding-bottom:8px;padding-left:13px; text-align: left;}
.app-view-inner th {background: var(--wash); font-weight:bold;}body .app-view-inner pre{font-size:.87.94rem; background:#1e2019; line-height:1.6; color:#e5d0f3; padding-top:15px;padding-right:15px;padding-bottom:15px;padding-left:15px; overflow-x: auto; margin:1.55em 0; border-radius: var(--rad);}
.app-view-inner code {font-size:.9em; padding:2px 5px; background: var(--wash); border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}
.app-view-inner pre code {background:none; print-color-adjust:economy; padding:0;}/* --- Share (rounded-square icons) --- */
.block__data{flex-wrap: wrap; gap:15px; display: flex; margin-top:24px; padding-top:24px; align-items: center; border-top: 1px solid var(--soft);}
.dropdown--highlight {font-weight:600; color: var(--muted); font-size:.85.92rem;}
.post {display: flex; gap:12px;}
@media (max-width: 1024px) {
  .rating-line.view-filled {background:none; justify-content:space-around; margin-left:auto; transition:transform 0.2s ease-in-out; border:none; min-height:11px}
  .list-tertiary .reply-button {letter-spacing:0.01em; position:relative; line-height:normal}
  .progress-time.stepper-sparse {flex:1; max-width:100%; text-align:left; transition:color 0.4s; height:29px}
}


.dropdown__cell--hover {cursor: pointer; border: 1px solid var(--line); background: var(--paper); transition: color var(--tr), border-color var(--tr), background var(--tr); border-radius:12px; height:37px; display: inline-flex; width:40px; justify-content: center; align-items: center; color: var(--muted);}*.dropdown__cell--hover:hover{border-color: var(--brand); background: var(--brand); color:hsl(258, 60.8%, 97.9%);}.dropdown__cell--hover svg{width:13px; height:20px;}/* --- Related --- */
.feature{gap:17px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); display: grid;}html .review{transition: border-color var(--tr), box-shadow var(--tr); border-radius: var(--rad); padding:15px 17px; shape-margin:0; display: block; background: var(--paper); border: 1px solid var(--line); page-break-inside:auto;}
.review:hover {border-color: var(--accent); box-shadow:0 0px 14px rgba(4, 24, 48, 0);}
.divider-row .skeleton-body {transition:transform 0.4s ease-in-out; min-width:0; margin-top:auto; padding:19px; max-width:100%}

.page {font-size:.8.92rem;}
.page {color: var(--ink); font-weight:600; line-height:1.4;}

/* --- Forms --- */
.bg-end {display: block;}*.module{outline:none; transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); border-radius: var(--rad); padding:13px 15px; background: var(--wash); display: block; font-family: var(--ff); width:100%; font-size:.8.93rem; color: var(--text); border: 1px solid var(--line);}*.module:focus{box-shadow:0 0 0 2px rgba(42, 150, 163, 0.15); background: var(--paper); border-color: var(--accent);}
.media__column {margin-top:11px; min-height:131px; resize: vertical;}
.bg-end .rating__addon--sticky {backface-visibility:visible;}
.banner--alt {min-height:100px; font-variant-ligatures:normal;}
.bg-end .rating__addon--sticky {contain:none; margin-top:19px;}
.ui-form {break-inside:auto; display: flex; widows:2;}
.ui-form {gap:9px;}
.ui-form .module {flex: 1;}/* --- Engage band (newsletter + contact) --- */
.panel__date{margin-top:38px; padding:42px 18px; border-top: 1px solid var(--line); background: var(--paper);}
.ui-form .rating__addon--sticky {break-inside:auto; flex-shrink: 0; transform-style:flat; margin-top:0em;}/* --- Footer (slim, grid) --- */
.filter--last{color:rgba(248, 248, 255, 0.64); background: var(--dark); padding:34px 17px 24px;}
.panel__date .layout__close {background: var(--wash);}
.filter--last a {color:rgba(255, 253, 237, 0.52);}*.filter--last a:hover{color:rgb(241, 255, 244);}*.comment__preview{grid-template-columns: 1fr; align-items: center; display: grid; gap:20px;}
@media (min-width: 720px) {.comment__preview{grid-template-columns: auto 1fr auto;} }*.view img{width:auto; height:30px; opacity:0.87; image-rendering:auto; orphans:2; filter:brightness(0) invert(1);}html .carousel__meta{padding-top:21px; font-size:.82.04rem; margin-top:22px; text-align: center; border-top:1px solid rgba(255, 255, 245, 0.16); color:rgba(248, 255, 255, 0.51);}
.progress--dense {flex-wrap: wrap; print-color-adjust:economy; justify-content: center; display: flex; gap:14px; font-size:.88.08rem;}/* Social (rounded squares, new set) */
:where(.panel__region--fixed){list-style: none; display: flex; padding:0; margin:0; gap:4px; justify-content: center;}
.search__close {align-items:flex-start; cursor:pointer; margin-top:23px}
.c-counter-meta{height:33px; color:rgba(255, 242, 255, 0.63); justify-content: center; transition: color var(--tr), border-color var(--tr), background var(--tr); width:32px; border:1px solid rgba(253, 255, 254, 0.14); display: inline-flex; border-radius:4px; tab-size:4; contain:none; align-items: center;}
.c-counter-meta:hover {border-color:rgba(255, 247, 255, 0.39); background:rgba(255, 252, 255, 0.07); color:#fffff9;}/* --- Back to top --- */
.timeline:not(.dummy15){opacity:0; cursor: pointer; box-shadow:0 3px 22px rgba(2, 40, 48, 0.26); transform: translateY(10px); z-index: 900; border-radius:7px; border:0 none; background: var(--brand); position: fixed; justify-content: center; color:#ffffff; page-break-inside:auto; height:43px; display: flex; visibility: hidden; right:29px; transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); shape-margin:0; align-items: center; width:48px; bottom:22px;}
.c-counter-meta svg {width:14px; height:14px;}
.skeleton__wrap {visibility: visible; transform: translateY(0); opacity:1;}.timeline:hover{background: var(--brand-d); transform: translateY(-2px);}
.rating-line.view-filled {width:auto; height:100%; transition:transform 0.35s ease-in-out; flex-wrap:nowrap; border:none; box-shadow:0 9px 15px rgba(0,0,0,0.86)}
/* --- Cookie --- */
:where(.slider){inset:auto 0 0 0; transition: transform var(--tr); position: fixed; z-index: 1050; padding:17px 16px; box-shadow:0 -8px 16px rgba(0, 2, 5, 0.13); background: var(--dark); color:rgba(255, 254, 255, 0.76); transform: translateY(110%);}
.badge {font-variant-caps:normal; transform: translateY(0);}
.app-chip {align-items: center; flex-wrap: wrap; display: flex; gap:19px; justify-content: space-between;}.slider span{backface-visibility:visible; min-width:224px; font-size:.84.95rem; flex: 1;}
.slider a {color: var(--accent); text-decoration:underline;}/* --- Modals (popups at the very bottom, opened via #) --- */
.overflow-md{justify-content: center; align-items: flex-start; background:rgba(12, 31, 25, 0.63); padding:6vh 15px; display: none; overflow-y: auto; inset:0px; z-index: 1300; position: fixed;}
.overflow-md:target {display: flex; shape-margin:0;}/* no-JS fallback via # */
.media{display: flex;}            /* JS-enhanced state   */
.carousel {width:100%; padding:35px 26px; position: relative; max-width:420px; border-radius: var(--rad-l); box-shadow:0 20px 44px rgba(0, 0, 2, 0.48); background: var(--dark);}
.tabs__close {background: var(--paper);}
.carousel-sticky {display: block; text-align: center; font-weight:700; margin-bottom:18px; color:#effff9; font-size:1.21rem;}
.tag {display: inline-flex; position: absolute; width:30px; border-radius:8px; height:30px; color:rgba(255, 255, 238, 0.44); justify-content: center; right:16px; top:15px; align-items: center; cursor: pointer;}*.tabs__close .carousel-sticky{color: var(--ink);}
.tag:hover {widows:2; color:rgb(255, 221, 247); mix-blend-mode:normal; background:rgba(249, 255, 255, 0.08);}
.tabs__close .tag {color: var(--faint);}
.tabs__close .tag:hover {background: var(--soft); color: var(--ink); will-change:auto; background-blend-mode:normal;}
.tag svg {width:21px; height:22px;}
.overflow-md .module {border-color:rgba(255, 255, 246, 0.25); background:rgba(237, 237, 255, 0); color:#ffffff; isolation:auto; margin-bottom:8px; widows:2;}
.overflow-md .module::placeholder {color:rgba(254, 244, 255, 0.42);}
.overflow-md .module:focus {box-shadow:none; border-color:rgba(239, 247, 244, 0.42);}
.overflow-md .module:focus {background:rgba(255, 255, 255, 0.05);}.tabs__close .module{background: var(--wash); border-color: var(--line); color: var(--text);}.tabs__close .module::placeholder{color: var(--faint);}
.overflow-md .rating__addon--sticky {margin-top:5px;}
.accordion-area::before {content:''; gap:32px; overflow:auto; display:flex; width:860px}

.o-toolbar {justify-content: space-between; display: flex; margin-top:12px; font-size:.84.04rem;}
.form--right {justify-content: center;}
.pl-md {color: var(--muted); font-size:.9.02rem;}
.pl-md {margin:-6px 0 19px; 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) {
  .container-dialog {padding:20px 23px; margin-top:14px;}
  .widget {font-size:1.57rem;}
  .block__data {align-items: flex-start; flex-direction: column;}
  .feature {grid-template-columns: 1fr;}body .app-chip{flex-direction: column; text-align: center;}
  .carousel {padding:29px 20px;}
}
