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

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

/* --- Base --- */
*, *::before, *::after {box-sizing: border-box;}html{scroll-behavior: smooth; -webkit-text-size-adjust:100%; font-size:15px; text-decoration-skip-ink:auto;}
img, svg {max-width:100%; height:auto;}
body {background: var(--wash); line-height:1.7; overflow-x: hidden; color: var(--text); font-size:0.93rem; -moz-osx-font-smoothing:grayscale; margin:0; -webkit-font-smoothing:antialiased; font-family: var(--ff);}a{color: var(--brand); text-underline-offset:auto; page-break-inside:auto; transition: color var(--tr); text-decoration:none;}img{display: block;}

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

p {margin:0 0 1.03em;}

.toolbar__cell--alt {clip:rect(0, 0, 0, 0); margin:-1px;}
.module__value {margin:0 0 16px; color: var(--muted); font-size:.8.97rem;}

.toolbar__cell--alt {width:1px; border:0; overflow: hidden; white-space: nowrap; position: absolute; padding:0; height:1px;}

/* --- Wrap / sections / grid --- */
.grid-xl {max-width: var(--wrap); margin:0 auto; padding:0 20px; width:100%;}
.tabs {padding:26px 23px 0;}
.tabs > .sidebar--half {margin-left:auto; max-width: var(--wrap); margin-right:auto;}

.skeletonRow {gap:13px; grid-template-columns: 1fr; display: grid;}
@media (min-width: 680px) { .skeletonRow {grid-template-columns: 1fr 1fr;} }
.rating-text:not(:last-child) {padding-right:47px; padding-bottom:17px; align-items:flex-end; background:#1e1a19; flex:none; min-width:0}
/* --- Section title (span, styled — no heading tags outside content) --- */
.sidebar--half{margin:0 0 14px; font-weight:700; display: block; letter-spacing:-.1.05em; border-left: 3px solid var(--accent); padding-left:16px; color: var(--ink); font-size:1.26rem;}html .tag{font-size:1.01rem; margin-bottom:7px;}/* --- Top bar (static, content stays high) --- */
:where(.sidebar-preview){background: var(--paper); border-bottom: 2px solid var(--accent);}

/* --- Reading progress --- */
.l-menu-item {inset:0 auto auto 0; position: fixed; transition:width 0.105s linear; background: var(--accent); width:0; height:4px; z-index: 1200;}
.t-drawer {align-items: center; height:63px; gap:19px; display: flex;}
.badge--highlight {color: var(--brand); align-items: center; display: inline-flex; margin-right:auto;}
.badge--highlight img, .badge--highlight svg {width:auto; height:24px;}
.badge--highlight img, .badge--highlight svg {display: block;}

.slider-danger {display: flex; gap:0px;}
.skeleton {padding-top:5px;padding-right:15px;padding-bottom:5px;padding-left:15px; display: block; font-size:.9.06rem; border-radius: var(--rad-s); font-weight:600; color: var(--text); transition: color var(--tr), background var(--tr);}body .col-xl{align-items: center; gap:12px; display: flex;}
.skeleton:hover {color: var(--brand); background: var(--accent-soft);}

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

/* --- Buttons --- */
.dropdown {background: var(--brand); gap:10px; display: inline-flex; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); color:#eff9f0; font-size:.8.94rem; font-weight:600; white-space: nowrap; padding:12px 18px; align-items: center; border: 1.5px solid var(--brand); justify-content: center; line-height:1.4; font-family: var(--ff); border-radius: var(--rad); cursor: pointer;}html .dropdown:hover{background: var(--brand-d); border-color: var(--brand-d);}html .dropdown:hover{color:hsl(0, 0.1%, 100%);}
.select-toggle:hover {border:0; text-transform:lowercase; letter-spacing:0em}

.drawer__date--compact {-webkit-hyphens:manual;-ms-hyphens:manual;font-size:.83.97rem; hyphens:manual; padding:7px 18px;}
.dropdown:active {transform: translateY(1px);}body .breadcrumb__foot--default{background:transparent; color: var(--brand);}
.breadcrumb__foot--default:hover {color:#fffff3; background: var(--brand);}.dialog__column--alt{background: var(--accent); border-color: var(--accent);}
.dialog__column--alt:hover {border-color: var(--accent-d); background: var(--accent-d);}
.comment__value {display: flex; width:100%;}
.spinner__addon--fixed {padding-top:10px;padding-right:12px;padding-bottom:10px;padding-left:12px;}
@media (min-width: 1440px) and (max-width: 1823px) {
  .rating-text:not(:last-child) {display:inline-flex; transition:transform 0.5s ease-in-out; max-width:700px; text-align:justify}
  .page-thumb {height:auto; min-height:100vh; display:grid}
  .avatar--dark {transition:color 0.3s; width:100%; background-color:#e5e5f0}
}

body .spinner__addon--fixed svg{height:20px; width:12px;}

/* --- Cards --- */
.sidebar--muted {border: 1px solid var(--line); border-radius: var(--rad-l); background: var(--paper);}
.profile__addon--info {padding-top:26px;padding-right:28px;padding-bottom:26px;padding-left:28px;}

/* --- Post (article) — first block, content high --- */
.rating--filled {padding:36px 38px;}

/* --- Post (article) — first block, content high --- */
.rating--filled {overflow: hidden; margin:28px auto 0; max-width: var(--wrap);}
.dropdown__tertiary--large {font-size:1.82rem; margin-bottom:11px;}
.el-price-body {gap:12px; flex-wrap: wrap; display: flex;}
.el-price-body {padding-bottom:26px; color: var(--muted); align-items: center; border-bottom: 1px solid var(--soft); font-size:.81.93rem;}.divider-action-loading{align-items: center; display: inline-flex;}.divider-action-loading svg{opacity:0.57; margin-right:3px; width:17px; height:11px;}
.c-module-outer {font-style:italic; opacity:0.87;}
.price-overlay:not(:last-child) {align-items:flex-end; transition:color 0.4s; margin-top:auto; padding-top:0.625rem}

.accordion-thumb::before {content:''; min-height:100vh; transition:transform 0.25s ease-in-out; line-height:1; position:sticky}

.mediaContainer {display: flex; margin-bottom:10px; align-items: center; justify-content: space-between;}

/* --- TOC --- */
.accordion--dark {margin:23px 0 0px; border: 1px solid var(--soft); border-radius: var(--rad); background: var(--wash); padding:12px 19px;}
.carousel__zone {color: var(--ink); font-weight:700; font-size:.91.97rem;}
.tracking-end {display: flex; flex-direction: column;}html .font-8{color: var(--brand); padding:2px 10px; font-size:.82.05rem; cursor: pointer; background:none; border:0 none;}.tracking-end a{transition: color var(--tr), padding-left var(--tr), border-color var(--tr); border-left:2px solid transparent; padding:4px 0; font-size:.87.97rem; color: var(--text);}
.tracking-end a:hover {border-left-color: var(--brand); padding-left:5px; color: var(--brand);}
.footer__section--sparse {padding-left:14px !important;}
.footer__section--sparse:hover {backface-visibility:visible; padding-left:20px !important;}

/* --- Rich text (the only place with headings, coming from content) --- */
.tag__content {font-size:1.02rem; color: var(--text); line-height:1.85; padding-top:23px;}
.tag__content > :first-child {margin-top:0;}.tag__content h2{padding-bottom:.2.97em; color: var(--ink); font-size:1.43rem; font-weight:bold; margin:1.91em 0 .5em; border-bottom: 2px solid var(--accent-soft); line-height:1.3;}
.tag__content h3 {margin:1.55em 0 .45.05em; font-weight:700; font-size:1.15rem; line-height:1.3; color: var(--ink);}
.tag__content h4 {margin:1.22em 0 .3.98em; color: var(--ink); font-size:1.05rem; hyphens:manual; font-weight:bold;}
.page-thumb {overflow:auto; line-height:normal; display:block; flex-wrap:nowrap; gap:0.25rem; margin-left:14px}

.tag__content p {margin:0 0 1.18em;}
.tag__content img {border-radius: var(--rad); margin:1.51em 0;}
.tag__content a {color: var(--brand);}
.tag__content a {text-decoration:underline; text-underline-offset:2px; word-spacing:normal; widows:2;}
.tag__content a:hover {color: var(--brand-d); transform-style:flat;}*.tag__content ul, *.tag__content ol{padding-left:1.65em; margin:1.08em 0; background-blend-mode:normal; font-variant-ligatures:normal;}
.tag__content li {margin-bottom:.3.93em;}
.tag__content blockquote {font-style:italic; border-left: 4px solid var(--accent); margin:1.58em 0; border-radius: 0 var(--rad) var(--rad) 0; background: var(--accent-soft); padding:14px 26px; color: var(--ink);}
.tag__content table {border-collapse:collapse; width:100%; font-size:.95.04rem; margin:1.56em 0;}
.tag__content th, .tag__content td {border: 1px solid var(--line); text-align: left; padding:8px 15px;}.tag__content th{background: var(--wash); font-weight:700;}
.banner-item:hover {flex-wrap:wrap; margin-right:46px; height:100%; text-decoration:none; font-size:17px; margin-left:17px}

.tag__content pre {padding-top:18px;padding-right:18px;padding-bottom:18px;padding-left:18px; font-size:.88.06rem; color:rgb(185, 216, 236); overflow-x: auto; line-height:1.6; border-radius: var(--rad); margin:1.49em 0; background:#2b2d36;}
.tag__content code {background: var(--wash); padding:2px 6px; font-size:.8.97em; border-radius:2px;}*.tag__content pre code{contain:none; padding:0; background:none;}
.view--loading {color: var(--muted); font-size:.86.02rem; transform-style:flat; font-weight:600; font-variant-ligatures:normal;}

/* --- Share (rounded-square icons) --- */
.carousel--bottom {margin-top:24px; align-items: center; gap:11px; padding-top:26px; display: flex; flex-wrap: wrap; border-top: 1px solid var(--soft);}
.module--sticky {display: flex; gap:6px;}
.popover__extra {color: var(--muted); align-items: center; transition: color var(--tr), border-color var(--tr), background var(--tr); background: var(--paper); height:42px; width:35px; display: inline-flex; cursor: pointer; border-radius:9px; border: 1px solid var(--line); justify-content: center;}
.popover__extra:hover {border-color: var(--brand); color:#fff2ff; background: var(--brand);}
.avatar--dark {padding-top:39px; cursor:pointer; align-items:baseline; color:#edeae2}

.popover__extra svg {height:12px; width:14px;}

/* --- Related --- */
.step--odd {grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:18px;}

/* --- Related --- */
.step--odd {display: grid;}*.media__backdrop--sticky{display: block; transition: border-color var(--tr), box-shadow var(--tr); border: 1px solid var(--line); background: var(--paper); border-radius: var(--rad); padding-top:17px;padding-right:17px;padding-bottom:17px;padding-left:17px;}
.media__backdrop--sticky:hover {box-shadow:0 2px 14px rgba(3, 19, 35, 0.13); border-color: var(--accent);}
.gallery__info--hover {font-weight:600; line-height:1.4; color: var(--ink); font-size:.8.92rem;}

/* --- Forms --- */
.ui-step {print-color-adjust:economy; display: block;}.divider:not(.unused28){font-size:.8.94rem; border: 1px solid var(--line); outline:none; border-radius: var(--rad); transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); font-family: var(--ff); display: block; width:100%;}
.status__icon {position:static; max-width:940px; background:#151414; gap:0.5rem; line-height:normal}
.divider:not(.unused28){color: var(--text); background: var(--wash); padding:9px 16px;}
.divider:focus {background: var(--paper); box-shadow:0 0 0 2px rgba(50, 142, 151, 0.22); border-color: var(--accent);}.rating__placeholder--hover{min-height:97px;}
.widget__fill {resize: vertical; min-height:130px; margin-top:16px;}
.commentIcon {gap:9px; display: flex;}*.ui-step .dropdown{margin-top:15px;}
.commentIcon .divider {flex: 1;}
.commentIcon .dropdown {flex-shrink: 0; margin-top:0;}/* --- Engage band (newsletter + contact) --- */
.panel__slot--horizontal{margin-top:35px; padding:41px 17px; border-top: 1px solid var(--line); background: var(--paper);}.panel__slot--horizontal .sidebar--muted{background: var(--wash);}/* --- Footer (slim, grid) --- */
.skeleton__tertiary--info{padding:30px 16px 29px; color:rgba(237, 255, 242, 0.59); background: var(--dark);}
.skeleton__tertiary--info a {color:rgba(255, 243, 246, 0.61);}
.skeleton__tertiary--info a:hover {color:rgb(255, 224, 239); page-break-inside:auto;}
.modal--highlight {display: grid; gap:16px; grid-template-columns: 1fr; align-items: center;}
@media (min-width: 720px) { .modal--highlight {grid-template-columns: auto 1fr auto;} }
.counter__body--large img {filter:brightness(0) invert(1); width:auto; opacity:0.84; height:30px;}body .tag__zone--last{font-size:.88rem; gap:18px; justify-content: center; flex-wrap: wrap; display: flex;}html .font-20{font-size:.82.04rem; padding-top:21px; border-top:1px solid rgba(255, 245, 255, 0.16); color:rgba(255, 248, 255, 0.49);}html .font-20{margin-top:21px; text-align: center;}/* Social (rounded squares, new set) */
.box{display: flex;}/* Social (rounded squares, new set) */
.box{justify-content: center; padding:0; list-style: none; margin:0; gap:5px;}
.menu__subtitle--narrow {justify-content: center; border-radius:7px; border:1px solid rgba(245, 255, 244, 0.13); display: inline-flex; transition: color var(--tr), border-color var(--tr), background var(--tr); align-items: center; width:34px; height:37px; color:rgba(255, 255, 255, 0.6);}
.menu__subtitle--narrow:hover {color:#ffffff; border-color:rgba(255, 243, 254, 0.44); background:rgba(255, 255, 255, 0);}
@media (min-width: 1280px) {
  .avatar-zone.media-compact {transition:all 0.25s ease; color:currentColor; opacity:1; display:inline}
  .form-suffix {background-color:#2c98d2; transition:transform 0.5s ease-in-out}
}


.menu__subtitle--narrow svg {height:17px; width:15px;}/* --- Back to top --- */
.feature--default{height:45px; border-radius:13px; opacity:0; width:40px; bottom:27px; box-shadow:0 3px 20px rgba(19, 45, 33, 0.17); transform: translateY(10px); transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); color:#ffffef; position: fixed; right:25px; background: var(--brand); border:none; align-items: center; cursor: pointer; display: flex; justify-content: center; visibility: hidden; z-index: 900;}.rating:not(.none90){opacity:1; transform: translateY(0);}.rating:not(.none90){visibility: visible;}

/* --- Cookie --- */
.toggle__image--narrow {transform: translateY(110%); box-shadow:0 -3px 18px rgba(0, 8, 18, 0.1); padding-top:13px;padding-right:22px;padding-bottom:13px;padding-left:22px; inset:auto 0 0 0; background: var(--dark); color:rgba(255, 242, 255, 0.79); position: fixed; z-index: 1050; transition: transform var(--tr);}
.modal-cell + .status-area {background:#f0edf2; position:absolute}

.feature--default:hover {transform: translateY(-2px); background: var(--brand-d);}
.float-xs {orphans:2; flex-wrap: wrap; align-items: center; gap:15px; backface-visibility:visible; justify-content: space-between; display: flex;}
.c-search-toggle {transform: translateY(0);}body .toggle__image--narrow span{min-width:224px; font-size:.85.04rem;}body .toggle__image--narrow span{flex: 1;}
.toggle__image--narrow a {text-decoration:underline; color: var(--accent);}/* --- Modals (popups at the very bottom, opened via #) --- */
.w-between{justify-content: center; padding:6vh 16px; display: none; background:rgba(21, 21, 45, 0.61); inset:0; position: fixed; align-items: flex-start; overflow-y: auto; z-index: 1300;}.w-between:target{display: flex;}          /* no-JS fallback via # */
.popover {font-variant-caps:normal; display: flex;}            /* JS-enhanced state   */
.feature__fill {background: var(--dark); max-width:418px; box-shadow:0 17px 44px rgba(0, 0, 0, 0.37); padding-top:32px;padding-right:26px;padding-bottom:32px;padding-left:26px; width:100%; border-radius: var(--rad-l); position: relative;}
.dialog--half {background: var(--paper);}
.snackbar--dense {text-align: center; font-size:1.25rem; margin-bottom:19px; font-weight:bold; display: block; color:#fffffd;}
.dialog--half .snackbar--dense {color: var(--ink);}.toolbar{display: inline-flex; cursor: pointer; position: absolute; right:11px; top:14px; border-radius:7px; color:rgba(245, 238, 238, 0.49); align-items: center; width:31px; height:27px; justify-content: center;}
.toolbar:hover {background:rgba(249, 255, 255, 0.16); color:#fffffe;}*.dialog--half .toolbar{color: var(--faint);}body .dialog--half .toolbar:hover{color: var(--ink); background: var(--soft);}.toolbar svg{height:15px; width:18px;}
.filter--fluid {position:sticky; border:0}

.w-between .divider {color:#f8faee; border-color:rgba(255, 255, 255, 0.25); margin-bottom:10px; background:rgba(243, 244, 255, 0);}*.w-between .divider::placeholder{color:rgba(242, 255, 255, 0.49);}.w-between .divider:focus{border-color:rgba(254, 246, 255, 0.39); box-shadow:none; background:rgba(255, 255, 245, 0.02);}
.dialog--half .divider {background: var(--wash); border-color: var(--line);}
.dialog--half .divider {color: var(--text);}
.dialog--half .divider::placeholder {color: var(--faint);}
.action-info {margin-top:auto; gap:1.25rem; max-width:540px; overflow:hidden; width:1000px}
html .menu__region--outlined{font-size:.83.93rem; display: flex; justify-content: space-between; margin-top:13px;}.w-between :where(.dropdown){margin-top:3px;}
.block {justify-content: center;}
.snackbar--dark {font-size:.9.01rem; color: var(--muted); text-align: center; margin:-4px 0 13px;}

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

/* --- Responsive --- */
@media (max-width: 640px) {
  .rating--filled {margin-top:17px; padding:27px 23px;}*.dropdown__tertiary--large{font-size:1.44rem;}*.carousel--bottom{flex-direction: column; align-items: flex-start;}
.gallery-holder:first-child {margin-bottom:0; flex-wrap:wrap; min-width:0}

  .step--odd {grid-template-columns: 1fr;}*.feature__fill{padding:28px 26px;}html .float-xs{flex-direction: column; text-align: center;}
}
