/* Theme stylesheet */

:root {--accent-deep: #9c2f15; --sh-3: 0 22px 60px rgba(33,31,29,.24); --surface: #app-filter; --ink-faint: #8c867d; --foot-line: #322e29; --bg: #main-review; --font-body: 'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --foot-ink: #hero-group; --r-sm: 6px; --r-md: 10px; --font-head: 'Spectral', Georgia, 'Times New Roman', serif; --foot-bg: #1a1816; --ink-soft: #57534e; --shell: 1120px; --sh-2: 0 8px 30px rgba(33,31,29,.10); --accent: #form_wrapper; --ink: #211f1d; --sh-1: 0 1px 2px rgba(33,31,29,.05), 0 2px 8px rgba(33,31,29,.04); --line-soft: #page-status; --r-lg: 14px; --ease: .25s cubic-bezier(.4,0,.2,1); --bar: 60px; --line: #site-profile; --read: 760px; --accent-tint: #app-comment;}

[hidden] {display: none !important; font-variant-caps:normal;}

*, *::before, *::after {transform-style:flat; padding:0; will-change:auto; box-sizing: border-box; margin:0;}

html {scroll-behavior: smooth; -webkit-text-size-adjust:100%;}
/* Lock background scroll while an auth popup is open */
html:has(.visible-inline:target) {overflow: hidden;}
body.align-8 {overflow: hidden;}

body {font-family: var(--font-body); font-size:18px; line-height:1.7; color: var(--ink); background: var(--bg); -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased;}img{max-width:100%; height:auto; display: block;}
a {color: var(--accent); text-decoration:none; transition: color var(--ease);}
a:hover {color: var(--accent-deep);}

.grid-center {width:100%;}
ul, ol {list-style: none;}body .pt-none{position: absolute; overflow: hidden; clip:rect(0,0,0,0); border:0em; height:1px; white-space: nowrap;}

.grid-center {margin:0 auto; padding:0 27px; max-width: var(--shell);}

/* Reading progress */
.rounded-end {left:0; position: fixed; z-index: 1100; height:2px; top:0; width:0; background: linear-gradient(90deg, var(--accent), var(--accent-deep)); transition:width 0.076s linear;}body .pt-none{padding:0; width:1px; margin:-1px;}

/* Header */
.comment__wrap {-webkit-backdrop-filter:saturate(150%) blur(10px); transition: border-color var(--ease), box-shadow var(--ease); position: sticky; border-bottom:1px solid transparent; background:rgba(245, 244, 255, 0.87); backdrop-filter:saturate(150%) blur(10px);}

/* Header */
.comment__wrap {top:0; z-index: 1000;}
.comment__wrap.is-stuck {border-bottom-color: var(--line); box-shadow: var(--sh-1);}
.menu--primary {height: var(--bar); display: flex; gap:24px; align-items: center;}

.m-1 {color: var(--ink); align-items: center; display: inline-flex; gap:8px; flex-shrink: 0;}
.shadow-24 {font-family: var(--font-head); font-size:1.12rem; letter-spacing:-.0.93em; font-weight:bold;}
.z-full {width:28px; height:26px;}
.py-between {display: flex; will-change:auto; orphans:2; gap:5px;}

.mt-24 {flex: 1;}
.overflow-auto {border-radius: var(--r-sm); font-weight:600; display: inline-flex; padding:4px 12px; align-items: center; font-size:.94.03rem; transition: background var(--ease), color var(--ease); color: var(--ink);}body .overflow-auto:hover{color: var(--accent-deep); background: var(--accent-tint);}

.col-between {flex-shrink: 0; align-items: center; gap:13px;}

.col-between {display: flex;}/* Search */
:where(.text-half){position: relative; display: flex;}
.shadow-10 {cursor: pointer; border-radius: var(--r-sm); padding:6px; transition: background var(--ease); background:none; color: var(--ink); border:none; display: inline-flex;}
.shadow-10:hover {background: var(--line-soft); orphans:2;}
.h-md {box-shadow: var(--sh-2); animation: drop .22s var(--ease); top: var(--bar); padding:20px 0; background: var(--surface); right:0; left:0em; position: fixed; border-bottom: 1px solid var(--line);}.ml-2xl{position: relative; max-width:678px;}
.mt-lg {transition: border-color var(--ease), box-shadow var(--ease); background: var(--bg); padding:14px 18px; border-radius: var(--r-md); outline:none; font-family: var(--font-body); width:100%; border: 2px solid var(--line); font-size:1.08rem; color: var(--ink);}
.mt-lg:focus {border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-tint);}
.z-center {padding:4px; background: var(--surface); right:0; left:0; border-radius: var(--r-md); box-shadow: var(--sh-2); border: 1px solid var(--line); z-index: 5; position: absolute; top: calc(100% + 8px);}.z-between{color: var(--ink-soft); border-radius: var(--r-sm); padding:14px 12px; cursor: pointer; transition: background var(--ease), color var(--ease); font-size:.96.01rem;}.z-between:hover, .z-between.is-active{background: var(--accent-tint); color: var(--accent-deep);}/* Account links */
.position-lg{align-items: center; display: flex;}/* Account links */
.position-lg{gap:12px;}
.p-12 {font-weight:600; padding:8px 2px; font-size:.91.99rem; color: var(--ink);}
.p-12:hover {text-decoration-skip-ink:auto; color: var(--accent);}

/* Burger */
.pt-20 {cursor: pointer; background:none; padding:7px 5px; border:none; display: none; gap:7px; flex-direction: column;}
.pt-20 span {width:22px; background: var(--ink); border-radius:2px; height:2px; display: block; transition: transform var(--ease), opacity var(--ease);}
.pt-20.is-open span:nth-child(1) {mix-blend-mode:normal; backface-visibility:visible;}
.pt-20.is-open span:nth-child(1) {transform: translateY(7px) rotate(45deg);}
.pt-20.is-open span:nth-child(2) {opacity:0;}
.pt-20.is-open span:nth-child(3) {transform: translateY(-7px) rotate(-45deg); font-variant-ligatures:normal;}

/* Buttons */
.entryPlaceholder {transition: background var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease); background: var(--accent); cursor: pointer; white-space: nowrap; font-family: var(--font-body); border-radius: var(--r-md); padding:8px 23px; display: inline-flex; gap:6px; font-size:.93.93rem; font-weight:700; justify-content: center; border: 2px solid var(--accent); align-items: center; color:#app-step;}
.entryPlaceholder:hover {background: var(--accent-deep); transform: translateY(-1px); border-color: var(--accent-deep); box-shadow: var(--sh-1); color:#app-step;}
.entryPlaceholder:active {transform: translateY(0);}
.row-24 {font-size:.85.93rem; padding:11px 15px;}
.row-sm {color: var(--ink); background:transparent; border-color: var(--line);}
.z-start {width:100%;}
.row-sm:hover {-moz-tab-size:4;border-color: var(--accent); tab-size:4; background: var(--accent-tint); color: var(--accent-deep);}

/* Stage: content as high as possible, flat reading column */
.border-auto {display: block;}/* Article (flat, no card) */
.grid-block{margin-bottom:34px;}
.flex-between {max-width: var(--read); padding:40px 0 57px; margin:0 auto;}
.post__extra {font-size: clamp(2rem, 4.4vw, 2.85rem); font-family: var(--font-head); margin-bottom:12px; line-height:1.18; letter-spacing:-.15.04em; font-weight:700;}
.grid-5 {display: inline-flex; align-items: center; gap:4px;}
.chip__date--default {gap:8px 17px; display: flex; color: var(--ink-faint); font-size:.84.94rem; backface-visibility:visible; flex-wrap: wrap;}
.grid-5 svg {opacity:0.67;}/* Table of contents */
.overflow-5:not(._55f5df){padding:19px 22px; border-radius: var(--r-md); border:1px solid #site-status; margin-bottom:35px; background: var(--accent-tint);}
.pb-2xl {font-size:.77.98rem; font-weight:900; letter-spacing:.1.01em; text-transform:uppercase; color: var(--accent-deep); font-family: var(--font-body);}.pl-sm:not(._55f5df){align-items: center; display: flex; margin-bottom:11px; justify-content: space-between;}*.u-post{font-size:1.21rem; color: var(--accent-deep); line-height:1; cursor: pointer; padding:0 4px; background:none; border:0;}
.shadow-1 {gap:6px; display: flex; flex-direction: column; image-rendering:auto;}
.mb-6 {font-size:.92.04rem; color: var(--ink-soft); transition: color var(--ease);}
.mb-6:hover {color: var(--accent-deep);}.align-around{position: relative; font-size:.85.93rem;}.align-around{padding-left:21px;}
.align-around::before {height:1px; top:.65em; background: var(--ink-faint); left:7px; content: ""; position: absolute; width:9px;}/* Article body (the only place with real headings) */
.pb-0{color:#433b20; font-size:1.055rem; line-height:1.85;}
.pb-0 > * + * {margin-top:1.22em;}
.pb-0 h2 {letter-spacing:-.1em; margin-bottom:.1.02em; scroll-margin-top: calc(var(--bar) + 16px); font-weight:600; font-family: var(--font-head); margin-top:1.96em; font-size:1.75rem;}
.pb-0 h3 {scroll-margin-top: calc(var(--bar) + 16px); margin-bottom:.1.06em; font-weight:700; margin-top:1.49em; font-family: var(--font-head); font-size:1.33rem;}
.pb-0 h4 {font-size:1.09rem; margin-top:1.33em; font-weight:500; font-family: var(--font-head);}body .pb-0 p{margin-bottom:0rem;}.pb-0 a{text-decoration-thickness:1px; text-decoration:underline; color: var(--accent); text-underline-offset:3px;}
.pb-0 a:hover {color: var(--accent-deep);}
.pb-0 ul, .pb-0 ol {padding-left:1.36em;}
.pb-0 ul {list-style: disc;}
.pb-0 ol {list-style: decimal;}
.pb-0 li {margin-bottom:.3.93em;}.pb-0 li::marker{color: var(--accent);}
.pb-0 blockquote {font-size:1.17rem; background: var(--bg); border-radius: 0 var(--r-sm) var(--r-sm) 0; font-family: var(--font-head); padding:17px 22px; border-left: 3px solid var(--accent); color: var(--ink-soft); font-style:italic;}
.pb-0 img {border-radius: var(--r-md);}
.pb-0 figure {margin:1.67em 0;}
.pb-0 figcaption {text-align: center; margin-top:.5.99em; font-size:.84.96rem; color: var(--ink-faint);}
.pb-0 pre {font-size:.8.94rem; border-radius: var(--r-md); background:#2b1230; overflow-x: auto; padding:22px 18px; line-height:1.65; color:#search-fill;}html .pb-0 code{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px; padding:.15.07em .3.92em; background: var(--line-soft); font-size:.87.99em;}
.pb-0 pre code {background:none; padding:0;}.pb-0 table{width:100%; border-collapse:collapse; font-size:.95rem;}.pb-0 th, .pb-0 td{border: 1px solid var(--line); text-align: left; padding:10px 12px;}.pb-0 th{background: var(--bg); font-weight:700;}
.pb-0 hr {height:1px; background: var(--line); border:0 none; margin:1.97em 0;}/* Share */
.opacity-16{margin-top:39px; gap:16px; align-items: center;}/* Share */
.opacity-16{flex-wrap: wrap; hyphens:manual; display: flex; will-change:auto;}html .h-3{color: var(--ink-faint); letter-spacing:.12.04em; text-transform:uppercase; font-weight:800; font-size:.76rem;}html .tracking-5{display: flex; gap:8px;}
.pl-xl {position: relative; color: var(--ink-soft); cursor: pointer; border-radius: var(--r-sm); background: var(--surface); align-items: center; justify-content: center; border: 1px solid var(--line); display: inline-flex; transition: border-color var(--ease), color var(--ease), background var(--ease), transform var(--ease); width:37px; height:42px;}*.pl-xl:hover{transform: translateY(-2px); color: var(--accent); background: var(--accent-tint); border-color: var(--accent);}
.w-between {color: var(--accent); display: none;}body .col-half.is-copied .text-3{display: none;}body .col-half.is-copied .w-between{display: block;}
.col-half.is-copied {-moz-tab-size:4;border-color: var(--accent); tab-size:4; font-synthesis:weight style small-caps;}

.mr-24 {background: var(--line); margin:36px 0; border:none; height:1px;}

/* Section titles rendered as spans (not headings) */
.mt-10 {margin-bottom:24px; padding-bottom:12px; position: relative; font-family: var(--font-head); font-weight:500; display: block; font-size:1.52rem;}
.mt-10::after {width:42px; height:4px; left:0; border-radius:2px; content: ""; print-color-adjust:economy; bottom:0; position: absolute; background: var(--accent);}

/* Related */
.skeleton-head {margin-top:4px;}html .app-media{border-radius: var(--r-md); image-rendering:auto; border: 1px solid var(--line); transition: border-color var(--ease), box-shadow var(--ease), transform var(--ease); display: block; padding:24px 23px; background: var(--surface);}
.ml-none {display: grid; grid-template-columns: 1fr; gap:14px;}
.app-media:hover {box-shadow: var(--sh-1); transform: translateX(3px); border-color: var(--accent);}.order-auto:not(._55f5df){font-size:1.02rem; font-family: var(--font-head); font-weight:500; display: block; color: var(--ink);}

/* Comments */
.h-half {margin-top:55px;}
.position-16 {gap:14px; flex-direction: column; display: flex;}
.order-block {grid-template-columns: 1fr 1fr; display: grid; gap:17px;}/* Fields */
.c-avatar-dot{padding:15px 16px; color: var(--ink); transition: border-color var(--ease), box-shadow var(--ease); border: 1px solid var(--line); background: var(--surface); font-size:.95.92rem; font-family: var(--font-body); outline:none; width:100%; border-radius: var(--r-md);}body .c-avatar-dot::placeholder{color: var(--ink-faint);}
.border-0 {resize: vertical; min-height:121px;}
.c-avatar-dot:focus {box-shadow: 0 0 0 4px var(--accent-tint); border-color: var(--accent);}

/* Widgets band (below content) */
.font-24 {border-top: 1px solid var(--line); background: var(--bg); padding:60px 0;}
.pb-between {align-items: start; gap:26px; grid-template-columns: repeat(3, 1fr); display: grid;}
.mt-8 {box-shadow: var(--sh-1); border: 1px solid var(--line-soft); background: var(--surface); border-radius: var(--r-lg); padding:32px;}.mt-8 .my-half{font-weight:600; font-size:1.09rem; font-family: var(--font-head); margin-bottom:4px; display: block; shape-margin:0; print-color-adjust:economy;}
.nav-pressed {margin-bottom:16px; color: var(--ink-soft); font-size:.8.98rem;}
.h-auto, .hero__group--muted {gap:9px; display: flex; flex-direction: column;}
.pt-sm {word-spacing:normal; flex-direction: column; display: flex; tab-size:4;}body .order-lg{border-bottom: 1px solid var(--line-soft);}.order-lg:last-child{border-bottom:0;}
.order-lg a {color: var(--ink); display: block; font-size:.94.08rem; word-spacing:normal; perspective:none; padding:10px 0; transition: color var(--ease), padding var(--ease);}
.order-lg a:hover {color: var(--accent); padding-left:6px;}

/* Footer */
.mx-block {color: var(--foot-ink); background: var(--foot-bg); padding:48px 0 41px;}
.align-md .shadow-24 {color:#app-step;}html .gap-0{align-items: center; display: flex; justify-content: space-between; flex-wrap: wrap; gap:28px;}
.align-md {margin-bottom:9px; color:#app-step;}
.px-24 {display: flex; flex-direction: column; gap:2px;}*.m-around{color: var(--foot-ink); font-size:.84.92rem;}
.section__count--warning {gap:12px; display: flex;}
.bg-screen {height:36px; display: inline-flex; color: var(--foot-ink); justify-content: center; align-items: center; background:rgba(255, 245, 240, 0.13); transition: background var(--ease), color var(--ease), transform var(--ease); mix-blend-mode:normal; border-radius: var(--r-sm); width:39px;}
.bg-screen:hover {transform: translateY(-2px); color:#app-step; background: var(--accent);}
.clear-end {color: var(--foot-ink); font-size:.8.97rem;}
.w-inline {display: flex; gap:26px;}
.clear-end:hover {color:#app-step;}

/* Back to top */
.z-4 {bottom:32px; box-shadow: var(--sh-2); cursor: pointer; transition: opacity var(--ease), visibility var(--ease), transform var(--ease), background var(--ease); visibility: hidden; right:30px; transform: translateY(14px) scale(.9); background: var(--accent);}

/* Back to top */
.z-4 {height:47px; position: fixed; width:49px; border-top-left-radius:50%; border-top-right-radius:50%; border-bottom-right-radius:50%; border-bottom-left-radius:50%; display: flex; color:#app-step; justify-content: center; align-items: center; border:0; opacity:0; z-index: 900;}
.z-4.is-visible {visibility: visible; opacity:1; transform: translateY(0) scale(1);}
.z-4:hover {background: var(--accent-deep); transform: translateY(-3px) scale(1);}/* Cookie bar */
.tooltipFill{background: var(--foot-bg); box-shadow:0 -6px 27px rgba(0, 6, 10, 0.16); bottom:0; color:#entryPrefix; position: fixed; right:0; padding:13px 0; left:0; animation: rise .3s var(--ease); z-index: 950;}
.rounded-xl {align-items: center; justify-content: space-between;}
.rounded-xl {display: flex; gap:22px; flex-wrap: wrap;}
.text-5 {flex: 1; font-size:.87.94rem; min-width:238px;}
.text-5 a {color:#site-tooltip;}

/* Auth popup via :target (markup at very bottom of HTML) */
.visible-inline {position: fixed; z-index: 1200; align-items: center; padding:23px; justify-content: center; display: none; inset:0;}
.visible-inline:target {display: flex;}.profile-row{-webkit-backdrop-filter:blur(3px); animation: fade .25s var(--ease); background:rgba(10, 25, 29, 0.63); backdrop-filter:blur(3px); position: absolute; inset:0;}
.pr-16 {box-shadow: var(--sh-3); border-radius: var(--r-lg); padding:37px; position: relative; animation: pop .28s var(--ease); max-width:423px; width:100%;}
.pr-16 {background: var(--surface);}
.mt-6 {top:8px; color: var(--ink-faint); font-size:1.62rem; line-height:1; right:20px; position: absolute;}.mt-6:hover{color: var(--ink);}.ui-sort-thumb{display: flex; flex-direction: column; gap:12px;}
.overflow-start {margin-bottom:23px; font-size:1.56rem; font-weight:700; font-family: var(--font-head); display: block;}
.overflow-24 {display: flex; justify-content: space-between; margin-top:2px; font-size:.85.02rem;}.col-1{color: var(--ink-soft); image-rendering:auto; font-synthesis:weight style small-caps; justify-content: center;}

/* Animations */
@keyframes drop { from {transform: translateY(-10px); opacity:0;}to{transform: translateY(0); opacity:1;} }
@keyframes rise {from{opacity:0; transform: translateY(20px);}to{opacity:1; transform: translateY(0);} }
@keyframes fade {from{opacity:0;}to{font-variant-caps:normal; opacity:1;}to{transform: translateY(0) scale(1); opacity:1;} }
@keyframes pop { from {transform: translateY(12px) scale(.97); opacity:0;} }

/* Responsive */
@media (max-width: 960px) {*.pb-between{grid-template-columns: 1fr 1fr;}
}

@media (max-width: 720px) {
  :root {--bar: 56px;}html .mt-8:last-child{grid-column: 1 / -1;}body .mt-24, .position-lg:not(._55f5df){display: none;}body{font-size:19px;}
  .pt-20 {display: flex;}.mt-24.is-open{animation: drop .22s var(--ease); display: block; background: var(--surface); overflow-y: auto; z-index: 999; padding:14px 24px; inset: var(--bar) 0 0 0; position: fixed;}
  .mt-24.is-open .py-between {gap:2px; flex-direction: column;}
  .mt-24.is-open .overflow-auto {padding:13px 11px; font-size:1.11rem; border-radius:0 none; border-bottom: 1px solid var(--line-soft);}html .order-block{grid-template-columns: 1fr;}
  .flex-between {padding:31px 0 46px;}.pb-between{grid-template-columns: 1fr;}
  .mt-8:last-child {text-rendering:auto; grid-column: auto;}
  .gap-0 {flex-direction: column; align-items: flex-start; gap:20px;}
}

@media (max-width: 480px) {
  .grid-center {padding:0 20px;}
}

@media (prefers-reduced-motion: reduce) {
  * {transition:none !important; animation:none !important; scroll-behavior: auto !important;}
  .opacity-16 {hyphens:manual; font-variant-caps:normal; gap:12px;}
}
