/* Theme stylesheet */

:root {--bg: #slider_trigger; --accent-deep: #9c2f15; --bar: 60px; --r-lg: 14px; --line: #spinner_detail; --r-md: 10px; --font-body: 'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --ink-soft: #57534e; --sh-3: 0 22px 60px rgba(33,31,29,.24); --r-sm: 6px; --foot-bg: #1a1816; --ease: .25s cubic-bezier(.4,0,.2,1); --shell: 1120px; --foot-line: #322e29; --accent: #menu_column; --read: 760px; --surface: #page-progress; --line-soft: #image-profile; --sh-2: 0 8px 30px rgba(33,31,29,.10); --accent-tint: #bannerBar; --ink: #211f1d; --sh-1: 0 1px 2px rgba(33,31,29,.05), 0 2px 8px rgba(33,31,29,.04); --foot-ink: #page-skeleton; --ink-faint: #8c867d; --font-head: 'Spectral', Georgia, 'Times New Roman', serif;}[hidden]{display: none !important;}

*, *::before, *::after {margin:0; box-sizing: border-box; padding:0;}

html {image-rendering:auto;}
/* Lock background scroll while an auth popup is open */
html:has(.py-auto:target) {overflow: hidden;}

html {scroll-behavior: smooth; -webkit-text-size-adjust:100%; widows:2;}
body.u-dropdown {overflow: hidden;}

body {line-height:1.7; background: var(--bg); -moz-osx-font-smoothing:grayscale; color: var(--ink); font-size:19px; -webkit-font-smoothing:antialiased; font-family: var(--font-body);}

img {max-width:100%; display: block; height:auto;}
a:hover {color: var(--accent-deep);}a{color: var(--accent); text-decoration:none; transition: color var(--ease);}
ul, ol {list-style: none;}

.overflow-center {-moz-tab-size:4;tab-size:4; margin:0 auto; max-width: var(--shell); padding:0 21px; width:100%; contain:none;}/* Reading progress */
:where(.mx-4){left:0; top:0; transition:width 0.15s linear; height:0px; z-index: 1100; background: linear-gradient(90deg, var(--accent), var(--accent-deep)); position: fixed; width:0;}

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

/* Header */
.pb-5 {transition: border-color var(--ease), box-shadow var(--ease); backdrop-filter:saturate(150%) blur(10px); -webkit-backdrop-filter:saturate(150%) blur(10px); z-index: 1000; border-bottom:1px solid transparent; background:rgba(255, 255, 240, 0.78); top:0; position: sticky;}
.pb-5.is-stuck {border-bottom-color: var(--line); box-shadow: var(--sh-1);}

.c-grid-summary {align-items: center; gap:6px; flex-shrink: 0; color: var(--ink); display: inline-flex;}
.opacity-none {display: flex; align-items: center; gap:23px; height: var(--bar);}
.app-footer {height:29px; width:31px;}
.justify-2 {font-weight:700;}

.text-6 {contain:none; flex: 1;}
.justify-2 {font-family: var(--font-head); letter-spacing:-.0.97em; font-size:1.19rem;}
.px-16 {align-items: center; font-size:.94.03rem; transition: background var(--ease), color var(--ease); widows:2; font-weight:700; border-radius: var(--r-sm);}
.z-end {display: flex; gap:7px;}
.px-16 {color: var(--ink); display: inline-flex; padding:6px 14px;}
.px-16:hover {text-decoration-skip-ink:auto; color: var(--accent-deep); background: var(--accent-tint);}.pagination__body--danger:not(._267524){flex-shrink: 0; display: flex; gap:16px;}.pagination__body--danger:not(._267524){align-items: center;}/* Search */
.gap-sm{position: relative; display: flex;}
.t-section {cursor: pointer; padding:6px; border-radius: var(--r-sm); background:none; transition: background var(--ease); border:none; color: var(--ink); display: inline-flex;}
.t-section:hover {background: var(--line-soft);}
.thread__backdrop {position: relative; max-width:684px;}
.py-0 {position: fixed; left:0; box-shadow: var(--sh-2); background: var(--surface); animation: drop .22s var(--ease); padding:18px 0; top: var(--bar); right:0; border-bottom: 1px solid var(--line);}.align-full:not(._267524){border-radius: var(--r-md); font-family: var(--font-body); background: var(--bg); color: var(--ink); padding:11px 20px; border: 2px solid var(--line); image-rendering:auto; font-size:1.05rem; width:100%; outline:none; transition: border-color var(--ease), box-shadow var(--ease);}body .align-full:focus{border-color: var(--accent); mix-blend-mode:normal; font-synthesis:weight style small-caps;}html .mb-6{right:0; background: var(--surface); z-index: 5; padding-top:7px; padding-right:7px; padding-bottom:7px; padding-left:7px; box-shadow: var(--sh-2); left:0;}body .align-full:focus{box-shadow: 0 0 0 4px var(--accent-tint);}html .mb-6{position: absolute; border-radius: var(--r-md); top: calc(100% + 8px); border: 1px solid var(--line);}
.gallery__backdrop {transition: background var(--ease), color var(--ease); font-size:.96.07rem; padding:15px 15px; cursor: pointer; color: var(--ink-soft); border-radius: var(--r-sm);}

/* Account links */
.d-1 {align-items: center; gap:10px; display: flex;}
.gallery__backdrop:hover, .gallery__backdrop.is-active {background: var(--accent-tint); color: var(--accent-deep);}
.flex-24 {font-weight:700; padding:9px 2px; color: var(--ink); font-size:.91.95rem;}
.flex-24:hover {color: var(--accent);}

/* Burger */
.px-end {flex-direction: column; border:0 none; cursor: pointer; padding:7px 2px; gap:7px; display: none; background:none;}
.px-end span {widows:2; width:23px; transition: transform var(--ease), opacity var(--ease); print-color-adjust:economy; display: block; height:2px; border-radius:2px; background: var(--ink);}
.px-end.is-open span:nth-child(1) {transform: translateY(7px) rotate(45deg);}.is-open.px-end span:nth-child(2){opacity:0;}
.px-end.is-open span:nth-child(3) {transform: translateY(-7px) rotate(-45deg);}/* Buttons */
.w-1:not(._267524){display: inline-flex; border: 2px solid var(--accent); color:#app-chip; justify-content: center; border-radius: var(--r-md); background: var(--accent); font-family: var(--font-body); white-space: nowrap; gap:8px; align-items: center; font-weight:bold; padding:11px 26px; transition: background var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease); cursor: pointer; font-size:.93.99rem;}
.w-1:hover {border-color: var(--accent-deep); background: var(--accent-deep); box-shadow: var(--sh-1); transform: translateY(-1px); color:#app-chip;}body .w-1:active{transform: translateY(0);}
.position-2 {font-size:.86.01rem; padding:11px 16px;}.menuFoot:not(._267524){color: var(--ink); border-color: var(--line); background:transparent;}*.bg-around{width:100%;}

/* Stage: content as high as possible, flat reading column */
.h-0 {display: block;}
.menuFoot:hover {isolation:auto; background-blend-mode:normal; background: var(--accent-tint); border-color: var(--accent); color: var(--accent-deep);}
.region-module {max-width: var(--read); margin:0 auto; padding:43px 0 57px;}/* Article (flat, no card) */
.leading-3{shape-margin:0; transform-style:flat; margin-bottom:32px;}.blockInfo{font-size: clamp(2rem, 4.4vw, 2.85rem); margin-bottom:12px; font-family: var(--font-head); letter-spacing:-.14.97em; font-weight:700; line-height:1.18;}
.overflow-xl {gap:2px; align-items: center; display: inline-flex;}
.grid-20 {gap:4px 19px; flex-wrap: wrap; display: flex; color: var(--ink-faint); font-size:.84.99rem;}
.overflow-xl svg {opacity:0.71;}

/* Table of contents */
.d-24 {border-radius: var(--r-md); margin-bottom:29px; background: var(--accent-tint); padding:22px 20px; border:1px solid #backdrop-banner; perspective:none;}.clear-around{margin-bottom:13px;}.clear-around{print-color-adjust:economy; display: flex; justify-content: space-between; align-items: center;}
.my-auto {color: var(--accent-deep); font-size:.77.94rem; isolation:auto; font-weight:900; font-family: var(--font-body); letter-spacing:.1.07em; text-transform:uppercase;}
.sidebarDot {line-height:1; color: var(--accent-deep);}
.sidebarDot {border:0 none; background:none; font-size:1.15rem; cursor: pointer; padding:0 6px;}*.leading-24{gap:4px; display: flex; flex-direction: column;}
.my-2xl {font-size:.91.94rem; transition: color var(--ease); color: var(--ink-soft);}
.my-2xl:hover {color: var(--accent-deep);}.my-md:not(._267524){orphans:2; print-color-adjust:economy; font-size:.86.05rem; padding-left:15px; position: relative;}
.my-md::before {top:.65em; content: ""; height:1px; position: absolute; width:6px; left:2px; background: var(--ink-faint);}

/* Article body (the only place with real headings) */
.grid-24 {color:#243a1b; mix-blend-mode:normal; font-size:1.165rem; line-height:1.85; background-blend-mode:normal;}
.grid-24 > * + * {break-inside:auto; margin-top:1.29em;}
.grid-24 h2 {scroll-margin-top: calc(var(--bar) + 16px); letter-spacing:-.1.08em; font-weight:500; font-family: var(--font-head); margin-top:1.88em; font-size:1.68rem; margin-bottom:.0.93em;}
.grid-24 h3 {scroll-margin-top: calc(var(--bar) + 16px); margin-bottom:.0.97em; font-weight:700;}
.grid-24 h3 {font-family: var(--font-head); font-size:1.38rem; mix-blend-mode:normal; margin-top:1.58em;}
.grid-24 h4 {font-family: var(--font-head); margin-top:1.3em; font-weight:700; font-size:1.12rem;}body .grid-24 p{backface-visibility:visible; mix-blend-mode:normal;}body .grid-24 p{margin-bottom:0;}body .grid-24 a{text-decoration-thickness:1px; color: var(--accent); text-underline-offset:3px; text-decoration:underline;}
.grid-24 a:hover {color: var(--accent-deep);}*.grid-24 ul, .grid-24 ol{padding-left:1.41em; shape-margin:0;}
.grid-24 ul {list-style: disc; background-blend-mode:normal;}
.grid-24 ol {list-style: decimal;}
.grid-24 li {backface-visibility:visible; margin-bottom:.3.96em;}
.grid-24 li::marker {color: var(--accent);}
.grid-24 blockquote {color: var(--ink-soft); font-size:1.07rem; border-radius: 0 var(--r-sm) var(--r-sm) 0; background: var(--bg); font-style:italic; padding:15px 23px; border-left: 3px solid var(--accent); font-family: var(--font-head);}
.grid-24 img {border-radius: var(--r-md);}.grid-24 figure{margin:1.61em 0;}
.grid-24 figcaption {font-size:.84.98rem; color: var(--ink-faint); text-align: center; margin-top:.6.05em;}*.grid-24 pre{color:#table_content; border-radius: var(--r-md); background:hsl(182, 35%, 13.2%); font-size:.9.07rem; overflow-x: auto; padding:21px 24px; line-height:1.65;}
.grid-24 code {border-radius:7px; background: var(--line-soft); font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; padding:.14.95em .4em; font-size:.88.01em;}
.grid-24 pre code {background:none; padding:0;}.grid-24 table{width:100%; border-collapse:collapse; font-size:.94.96rem;}
.grid-24 th, .grid-24 td {padding:12px 15px; text-align: left;}
.grid-24 th, .grid-24 td {border: 1px solid var(--line);}
.grid-24 th {background: var(--bg); font-weight:bold;}
.grid-24 hr {border:none; background: var(--line); margin:2.02em 0; height:1px;}/* Share */
:where(.mr-12){flex-wrap: wrap; margin-top:33px; display: flex; align-items: center; gap:15px;}.breadcrumbDetail{font-weight:900; font-size:.75.97rem; letter-spacing:.12.02em; color: var(--ink-faint); text-transform:uppercase;}.breadcrumbDetail{widows:2; image-rendering:auto;}.pt-block{display: flex; gap:8px;}
.col-md {position: relative; border: 1px solid var(--line); background: var(--surface); justify-content: center; display: inline-flex; width:42px; color: var(--ink-soft); align-items: center; cursor: pointer; transition: border-color var(--ease), color var(--ease), background var(--ease), transform var(--ease); height:39px; border-radius: var(--r-sm);}
.col-md:hover {transform: translateY(-2px); background: var(--accent-tint); color: var(--accent); border-color: var(--accent);}
.position-sm {color: var(--accent); display: none;}
.align-8.is-copied .ml-0 {display: none;}
.align-8.is-copied .position-sm {display: block;}*.align-8.is-copied{perspective:none; border-color: var(--accent); backface-visibility:visible;}.justify-10:not(._267524){margin:37px 0; height:1px; border:0; background: var(--line);}

/* Section titles rendered as spans (not headings) */
.py-2xl {font-weight:700; padding-bottom:16px; margin-bottom:19px; font-size:1.42rem; position: relative; font-family: var(--font-head); display: block;}body .py-2xl::after{bottom:0; left:0; border-radius:2px; height:1px; content: ""; background: var(--accent); position: absolute;}

/* Related */
.order-half {margin-top:5px;}body .py-2xl::after{width:42px;}.clear-1{gap:13px; grid-template-columns: 1fr;}.clear-1{display: grid;}*.font-xs{border-radius: var(--r-md); display: block; border: 1px solid var(--line); transition: border-color var(--ease), box-shadow var(--ease), transform var(--ease); background: var(--surface); padding:21px 26px;}.font-xs:hover{border-color: var(--accent); transform: translateX(3px); box-shadow: var(--sh-1);}
.opacity-3 {color: var(--ink); font-size:1.07rem; font-weight:500; font-family: var(--font-head); display: block;}

/* Comments */
.grid-1 {margin-top:54px;}
.pr-md {gap:18px; flex-direction: column; display: flex;}

/* Fields */
.opacity-start {transition: border-color var(--ease), box-shadow var(--ease); font-size:.95.98rem; color: var(--ink); outline:none; border-radius: var(--r-md); font-family: var(--font-body);}.header-detail{grid-template-columns: 1fr 1fr; display: grid; gap:17px;}

/* Fields */
.opacity-start {width:100%; border: 1px solid var(--line); background: var(--surface); padding:12px 18px;}
.opacity-start::placeholder {color: var(--ink-faint); text-rendering:auto;}
.opacity-start:focus {transform-style:flat; text-underline-offset:auto; box-shadow: 0 0 0 4px var(--accent-tint); border-color: var(--accent);}

/* Widgets band (below content) */
.rounded-10 {border-top: 1px solid var(--line); padding:54px 0; background: var(--bg);}.opacity-center{min-height:116px; resize: vertical;}
.p-full {box-shadow: var(--sh-1); border-radius: var(--r-lg); background: var(--surface); padding-top:31px;padding-right:31px;padding-bottom:31px;padding-left:31px; border: 1px solid var(--line-soft);}
.clear-8 {display: grid; align-items: start; grid-template-columns: repeat(3, 1fr); gap:28px;}
.p-full .m-2xl {margin-bottom:11px; font-family: var(--font-head); font-weight:700; display: block; font-size:1.12rem;}
.pr-sm, .featureMeta {flex-direction: column; display: flex; gap:9px;}html .mt-around{margin-bottom:14px; font-size:.8.98rem; color: var(--ink-soft);}
.grid-center {flex-direction: column; display: flex;}.order-1:not(._267524){border-bottom: 1px solid var(--line-soft);}
.order-1:last-child {border-bottom:0 none;}.order-1 a{padding:14px 0; font-size:.94.03rem; display: block; transition: color var(--ease), padding var(--ease); color: var(--ink);}
.order-1 a:hover {color: var(--accent); padding-left:8px;}/* Footer */
.z-md{background: var(--foot-bg); padding:52px 0 41px; color: var(--foot-ink);}
.visible-none {display: flex; gap:27px; flex-wrap: wrap; align-items: center; justify-content: space-between;}
.my-5 .justify-2 {color:#app-chip;}*.my-5{color:#app-chip; font-variant-ligatures:normal; margin-bottom:6px; background-blend-mode:normal;}.sortTertiary{display: flex; flex-direction: column; gap:2px;}
.row-2xl {color: var(--foot-ink); font-size:.85rem;}
.mt-center {gap:12px; display: flex;}
.py-8 {justify-content: center; height:39px; border-radius: var(--r-sm); align-items: center; color: var(--foot-ink); display: inline-flex; transition: background var(--ease), color var(--ease), transform var(--ease); background:rgba(254, 247, 255, 0.12); width:37px;}
.py-full {display: flex; transform-style:flat; gap:24px;}
.py-8:hover {color:#app-chip; transform: translateY(-2px); background: var(--accent);}
.pt-end {font-size:.8.96rem; color: var(--foot-ink); image-rendering:auto;}
.pt-end:hover {color:#app-chip;}/* Back to top */
.pr-10{bottom:27px; box-shadow: var(--sh-2); height:47px; right:30px; display: flex; width:45px; visibility: hidden; align-items: center; background: var(--accent); border:0 none; opacity:0; cursor: pointer; position: fixed; transform: translateY(14px) scale(.9); color:#app-chip; transition: opacity var(--ease), visibility var(--ease), transform var(--ease), background var(--ease); border-radius:50%; z-index: 900; justify-content: center;}
.pr-10.is-visible {transform: translateY(0) scale(1);}
.pr-10.is-visible {visibility: visible; opacity:1;}
.pr-10:hover {transform: translateY(-3px) scale(1); background: var(--accent-deep);}

/* Cookie bar */
.h-between {position: fixed; background: var(--foot-bg); bottom:0; box-shadow:0 -4px 22px rgba(0, 8, 10, 0.18); z-index: 950; color:#chip_item; padding:13px 0; right:0rem; animation: rise .3s var(--ease); left:0;}
.ui-layout {display: flex; flex-wrap: wrap; align-items: center; gap:17px; justify-content: space-between;}html .order-around{flex: 1; font-size:.87.94rem; min-width:239px;}
.order-around a {color:#site-status;}

/* Auth popup via :target (markup at very bottom of HTML) */
.py-auto {display: none; justify-content: center; position: fixed; align-items: center; padding-top:28px;padding-right:28px;padding-bottom:28px;padding-left:28px; inset:0; z-index: 1200;}
.py-auto:target {display: flex;}
.m-screen {animation: pop .28s var(--ease); background: var(--surface); width:100%; box-shadow: var(--sh-3); max-width:418px;}*.c-media{backdrop-filter:blur(3px); position: absolute; inset:0; background:rgba(21, 12, 34, 0.61); animation: fade .25s var(--ease); -webkit-backdrop-filter:blur(3px);}
.m-screen {position: relative; border-radius: var(--r-lg); padding-top:35px; padding-right:35px; padding-bottom:35px; padding-left:35px; print-color-adjust:economy;}
.section-alt {right:19px; color: var(--ink-faint); line-height:1; top:15px; font-size:1.67rem; position: absolute;}
.section-alt:hover {color: var(--ink);}
.font-2xl {display: block; font-family: var(--font-head); margin-bottom:23px; font-size:1.55rem; font-weight:700;}.mt-2xl{flex-direction: column; display: flex; gap:17px;}
.pt-full {margin-top:2px; justify-content: space-between; font-size:.85rem; display: flex;}

/* Animations */
@keyframes drop { from {isolation:auto; transform: translateY(-10px); opacity:0;}
.modal__action--elevated {color: var(--ink-soft); justify-content: center;} }
@keyframes rise { from {transform: translateY(20px); font-variant-ligatures:normal; opacity:0;}to{transform: translateY(0); opacity:1;} to {transform: translateY(0); opacity:1;} to {widows:2; opacity:1;} }
@keyframes fade { from {opacity:0;}to{opacity:1; transform: translateY(0) scale(1);} }
@keyframes pop { from {opacity:0; transform: translateY(12px) scale(.97);} }

/* Responsive */
@media (max-width: 960px) {
  .clear-8 {grid-template-columns: 1fr 1fr;}
  .p-full:last-child {grid-column: 1 / -1;}
}

@media (max-width: 720px) {
  :root {--bar: 56px;}
  body {font-size:13px;}.text-6, .d-1{display: none;}
  .px-end {display: flex;}*.text-6.is-open{z-index: 999; display: block; overflow-y: auto; position: fixed; inset: var(--bar) 0 0 0; animation: drop .22s var(--ease); background: var(--surface); padding:20px 22px;}
  .text-6.is-open .z-end {gap:2px; flex-direction: column;}
  .text-6.is-open .px-16 {padding:12px 12px; border-radius:none; border-bottom: 1px solid var(--line-soft); font-size:1.02rem;}
  .region-module {padding:30px 0 44px;}
  .header-detail {grid-template-columns: 1fr;}
  .clear-8 {grid-template-columns: 1fr;}
  .p-full:last-child {grid-column: auto;}
  .visible-none {flex-direction: column; align-items: flex-start; gap:23px;}
}

@media (max-width: 480px) {
  .overflow-center {padding:0 14px;}
  .mr-12 {gap:10px;}
}

@media (prefers-reduced-motion: reduce) {
  * {transition:none !important; scroll-behavior: auto !important; animation:none !important;}
}
