/* Theme stylesheet */

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

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

[hidden] {display: none !important;}
/* Lock background scroll while an auth popup is open */
html:has(.avatar--flat:target) {overflow: hidden;}

html {scroll-behavior: smooth; -webkit-text-size-adjust:100%;}body.o-module-content{text-rendering:auto; overflow: hidden;}

body {break-inside:auto; color: var(--ink); word-spacing:normal; line-height:1.7; font-family: var(--font-body); background: var(--bg); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; font-size:14px;}

img {height:auto; max-width:100%; display: block;}a{color: var(--accent); backface-visibility:visible; text-decoration:none; transition: color var(--ease);}a:hover{color: var(--accent-deep);}

.u-tabs-info {max-width: var(--shell); width:100%; padding:0 20px; margin:0 auto;}ul, ol{list-style: none;}

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

/* Reading progress */
.app-slider {transition:width 0.104s linear; height:7px; background: linear-gradient(90deg, var(--accent), var(--accent-deep)); top:0; z-index: 1100; position: fixed;}

/* Reading progress */
.app-slider {width:0rem; left:0;}

/* Header */
.ui-widget-action {z-index: 1000; position: sticky; top:0em; -webkit-backdrop-filter:saturate(150%) blur(10px); background:rgba(242, 237, 255, 0.9); transition: border-color var(--ease), box-shadow var(--ease); border-bottom:1px solid transparent; backdrop-filter:saturate(150%) blur(10px);}
.ui-counter-placeholder {align-items: center; display: flex; height: var(--bar); gap:28px;}*.ui-widget-action.is-stuck{border-bottom-color: var(--line); box-shadow: var(--sh-1);}
.l-popover {transform-style:flat; width:28px; mix-blend-mode:normal;}

.el-timeline {align-items: center; color: var(--ink); display: inline-flex; flex-shrink: 0; gap:12px;}
.l-popover {height:34px;}
.c-slider {font-size:1.12rem; font-family: var(--font-head); font-weight:700; letter-spacing:-.1.08em;}*.ui-divider{flex: 1;}
.t-feature {font-size:.93.99rem; font-weight:500; transition: background var(--ease), color var(--ease); padding:9px 16px; border-radius: var(--r-sm); display: inline-flex; color: var(--ink); align-items: center;}*.o-carousel-cap{gap:1px; display: flex;}
.t-feature:hover {color: var(--accent-deep); background: var(--accent-tint);}.c-post-wrap{gap:18px; display: flex; align-items: center; flex-shrink: 0;}

/* Search */
.app-toolbar {position: relative; display: flex; orphans:2;}*.l-sort-spacer{transition: background var(--ease); background:none; color: var(--ink); display: inline-flex; border-radius: var(--r-sm); border:none; padding-top:4px;padding-right:4px;padding-bottom:4px;padding-left:4px; cursor: pointer;}
.l-sort-spacer:hover {background: var(--line-soft);}
.l-breadcrumb-column {top: var(--bar); background: var(--surface); left:0; position: fixed; animation: drop .22s var(--ease); padding:20px 0; box-shadow: var(--sh-2); right:0; border-bottom: 1px solid var(--line);}
.stepperInfo {max-width:680px; position: relative;}.app-view-indicator{color: var(--ink); border-radius: var(--r-md); outline:none; width:100%; font-family: var(--font-body); background: var(--bg); font-size:1.01rem; transition: border-color var(--ease), box-shadow var(--ease); padding:14px 20px; border: 2px solid var(--line);}
.app-view-indicator:focus {box-shadow: 0 0 0 4px var(--accent-tint); border-color: var(--accent);}
.o-pagination-date {color: var(--ink-soft); cursor: pointer; padding:11px 12px; border-radius: var(--r-sm); transition: background var(--ease), color var(--ease); font-size:.95.97rem;}
.l-slider {top: calc(100% + 8px); z-index: 5; border-radius: var(--r-md); box-shadow: var(--sh-2); position: absolute; padding:4px; left:0; background: var(--surface); right:0; border: 1px solid var(--line);}

/* Account links */
.l-tooltip {gap:11px; display: flex; align-items: center;}*.o-pagination-date:hover, .is-active.o-pagination-date{background: var(--accent-tint); color: var(--accent-deep);}
.t-screen {font-weight:700; color: var(--ink); padding:4px 2px; font-size:.92.08rem;}
.t-screen:hover {color: var(--accent);}

/* Burger */
.app-tag {display: none; gap:5px; flex-direction: column; cursor: pointer; background:none; border:0rem; padding:9px 8px;}
.app-tag span {backface-visibility:visible; border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px; width:25px; font-variant-caps:normal; background: var(--ink); transition: transform var(--ease), opacity var(--ease); height:2px; display: block;}
.app-tag.is-open span:nth-child(1) {transform: translateY(7px) rotate(45deg);}
.app-tag.is-open span:nth-child(2) {opacity:0;}
.app-tag.is-open span:nth-child(3) {transform: translateY(-7px) rotate(-45deg);}/* Buttons */
.l-dialog-column{font-weight:bold; white-space: nowrap; transition: background var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease); cursor: pointer; border-radius: var(--r-md); padding:14px 26px; display: inline-flex; font-size:.94.08rem; align-items: center; font-family: var(--font-body); justify-content: center; border: 2px solid var(--accent); color:#main-divider; background: var(--accent); gap:9px;}*.l-dialog-column:hover{background: var(--accent-deep); transform: translateY(-1px); border-color: var(--accent-deep); box-shadow: var(--sh-1); color:#main-divider;}
.l-dialog-column:active {transform: translateY(0);}
.ui-search {padding:5px 15px; font-size:.86.07rem;}
.app-post {width:100%;}*.filter__extra{background:transparent; border-color: var(--line);}*.filter__extra{color: var(--ink);}
.filter__extra:hover {border-color: var(--accent);}
.filter__extra:hover {background: var(--accent-tint); color: var(--accent-deep);}*.t-feature-inner{padding:43px 0 59px; max-width: var(--read); margin:0 auto;}/* Stage: content as high as possible, flat reading column */
.o-modal{display: block;}body .ui-hero{letter-spacing:-.15.06em; line-height:1.18; background-blend-mode:normal; font-size: clamp(2rem, 4.4vw, 2.85rem); font-family: var(--font-head); margin-bottom:18px; font-weight:bold;}/* Article (flat, no card) */
.el-menu{margin-bottom:32px;}body .t-module{word-spacing:normal; image-rendering:auto; color: var(--ink-faint); gap:9px 23px; flex-wrap: wrap; font-size:.85.06rem; display: flex;}
.drawer-track {gap:8px; align-items: center; display: inline-flex;}html .drawer-track svg{opacity:0.67;}

/* Table of contents */
.o-header {border-radius: var(--r-md); border:1px solid #page-badge; background: var(--accent-tint); padding:19px 24px; margin-bottom:30px;}
.app-dialog {justify-content: space-between; align-items: center; display: flex; margin-bottom:9px;}
.l-media {font-weight:800; text-transform:uppercase; font-size:.77.93rem; letter-spacing:.1.01em; font-family: var(--font-body); color: var(--accent-deep);}.u-step:not(._660cad){gap:3px; display: flex;}.el-step{border:0; color: var(--accent-deep); padding:0 2px; line-height:1; background:none; font-size:1.21rem; cursor: pointer;}
.t-widget {transition: color var(--ease); font-size:.91.93rem; color: var(--ink-soft);}.u-step:not(._660cad){flex-direction: column;}.t-widget:hover{color: var(--accent-deep);}*.l-rating-section{position: relative; backface-visibility:visible; font-size:.86.04rem; padding-left:17px;}
.l-rating-section::before {left:3px; content: ""; height:1px; position: absolute; top:.65.07em; background: var(--ink-faint);}
.l-rating-section::before {width:3px;}

/* Article body (the only place with real headings) */
.c-review {color:rgb(79, 29, 54); font-size:1.075rem; line-height:1.85; font-variant-ligatures:normal;}
.c-review > * + * {margin-top:1.24em;}
.c-review h2 {letter-spacing:-.0.98em; scroll-margin-top: calc(var(--bar) + 16px); font-size:1.67rem; margin-top:1.89em; margin-bottom:.0.99em; font-family: var(--font-head); font-weight:700;}
.c-review h3 {margin-top:1.44em; font-family: var(--font-head); font-weight:700; font-size:1.28rem; margin-bottom:.1.02em; scroll-margin-top: calc(var(--bar) + 16px);}
.c-review h4 {font-size:1.12rem; margin-top:1.3em;}
.c-review h4 {font-family: var(--font-head); font-weight:700;}
.c-review p {margin-bottom:0;}
.c-review a {will-change:auto; color: var(--accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; transform-style:flat;}
.c-review a:hover {color: var(--accent-deep);}
.c-review ul, .c-review ol {padding-left:1.46em;}.c-review ul{list-style: disc; text-underline-offset:auto;}
.c-review ol {list-style: decimal;}
.c-review li {margin-bottom:.3.94em;}
.c-review li::marker {color: var(--accent);}
.c-review blockquote {font-family: var(--font-head); font-size:1.17rem; background: var(--bg); color: var(--ink-soft); font-style:italic; border-left: 3px solid var(--accent); padding:17px 19px; page-break-inside:auto; border-radius: 0 var(--r-sm) var(--r-sm) 0;}
.c-review img {orphans:2; border-radius: var(--r-md); isolation:auto;}.c-review figure{margin:1.56em 0;}
.c-review figcaption {font-size:.85.06rem; margin-top:.6.01em; color: var(--ink-faint); text-align: center;}
.c-review pre {padding:23px 22px; overflow-x: auto; background:#302637; line-height:1.65; font-size:.8.92rem; break-inside:auto; border-radius: var(--r-md); color:#suffix-block;}body .c-review code{background: var(--line-soft); font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; border-radius:3px; padding:.14.93em .4.07em; font-size:.87.95em;}.c-review pre code{padding:0; background:none;}
.c-review table {width:100%; border-collapse:collapse; font-size:.95.07rem;}
.c-review th, .c-review td {padding:12px 16px; text-align: left; border: 1px solid var(--line);}
.c-review th {font-weight:700; background: var(--bg);}html .c-review hr{border:0; height:1px; margin:2.02em 0; background: var(--line);}/* Share */
.el-grid:not(._660cad){flex-wrap: wrap; align-items: center; margin-top:38px; display: flex; gap:16px;}.t-section{font-size:.76.01rem; color: var(--ink-faint); text-transform:uppercase; font-weight:900; letter-spacing:.11.96em;}
.ui-chip {display: flex; gap:5px;}
.ui-comment-label {justify-content: center; align-items: center; background: var(--surface); height:41px; border-radius: var(--r-sm); border: 1px solid var(--line); position: relative; display: inline-flex; cursor: pointer; transition: border-color var(--ease), color var(--ease), background var(--ease), transform var(--ease); width:40px; color: var(--ink-soft);}
.ui-comment-label:hover {background: var(--accent-tint); color: var(--accent); border-color: var(--accent); transform: translateY(-2px);}
.t-tooltip.is-copied .el-status-cap {display: none;}
.c-divider {display: none; color: var(--accent);}
.t-tooltip.is-copied .c-divider {display: block;}

.track-box {margin:39px 0; height:1px; background: var(--line); border:0;}
.t-tooltip.is-copied {border-color: var(--accent);}

/* Section titles rendered as spans (not headings) */
.el-hero {margin-bottom:24px; font-family: var(--font-head); display: block; padding-bottom:14px; background-blend-mode:normal; font-size:1.37rem; position: relative; font-weight:500;}*.el-hero::after{position: absolute; content: ""; width:47px; left:0rem; height:2px; bottom:0; border-radius:2px; background: var(--accent);}

/* Related */
.el-module {margin-top:9px;}
.stepperContainer {-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual; grid-template-columns: 1fr; gap:10px; display: grid; background-blend-mode:normal;}
.u-accordion {border: 1px solid var(--line); background: var(--surface); padding:21px 21px; display: block; transition: border-color var(--ease), box-shadow var(--ease), transform var(--ease); border-radius: var(--r-md);}*.u-accordion:hover{box-shadow: var(--sh-1); border-color: var(--accent); transform: translateX(3px);}html .t-form{font-weight:500; color: var(--ink); display: block; font-family: var(--font-head); font-size:1.02rem;}html .hero-separator{flex-direction: column; display: flex; gap:14px;}/* Comments */
.thread__label--disabled{perspective:none; margin-top:48px; orphans:2;}.t-chip{gap:19px; font-synthesis:weight style small-caps; display: grid; grid-template-columns: 1fr 1fr;}/* Fields */
.o-screen-secondary:not(._660cad){font-size:.95.93rem; border: 1px solid var(--line); background: var(--surface); width:100%; font-variant-ligatures:normal; font-variant-caps:normal; outline:none; padding:9px 13px; font-family: var(--font-body); color: var(--ink); border-radius: var(--r-md); transition: border-color var(--ease), box-shadow var(--ease);}*.o-screen-secondary::placeholder{color: var(--ink-faint);}.app-chip-value:not(._660cad){tab-size:4; min-height:118px; contain:none; resize: vertical;}
.o-screen-secondary:focus {box-shadow: 0 0 0 4px var(--accent-tint); border-color: var(--accent); perspective:none;}

/* Widgets band (below content) */
.featureBar {border-top: 1px solid var(--line); padding:54px 0; background: var(--bg);}.t-sidebar:not(._660cad){display: grid; grid-template-columns: repeat(3, 1fr); gap:24px; align-items: start;}
.app-divider {word-spacing:normal; box-shadow: var(--sh-1); border-radius: var(--r-lg); padding-top:26px;padding-right:26px;padding-bottom:26px;padding-left:26px; border: 1px solid var(--line-soft); background: var(--surface);}body .app-divider .position-24{font-size:1.12rem; margin-bottom:4px; font-family: var(--font-head); font-weight:700; display: block;}
.pl-around {margin-bottom:12px; color: var(--ink-soft); font-size:.8.92rem;}html .c-menu{flex-direction: column; display: flex;}*.l-nav-count, html .ui-view{display: flex; flex-direction: column; gap:11px; backface-visibility:visible; will-change:auto;}
.row-12 {border-bottom: 1px solid var(--line-soft);}
.row-12:last-child {border-bottom:0 none;}
.row-12 a {font-size:.94.06rem; transition: color var(--ease), padding var(--ease); color: var(--ink); display: block; padding:11px 0;}*.row-12 a:hover{color: var(--accent); padding-left:8px;}/* Footer */
.u-divider-line{background: var(--foot-bg); padding:46px 0 37px; color: var(--foot-ink);}
.el-reply {display: flex; flex-wrap: wrap; align-items: center; gap:26px; justify-content: space-between;}
.el-modal .c-slider {color:#main-divider;}
.el-modal {margin-bottom:10px; color:#main-divider;}
.t-toggle-spacer {color: var(--foot-ink); font-size:.84.92rem;}
.el-modal-detail {gap:2px; display: flex; flex-direction: column;}.app-header:not(._660cad){gap:6px; display: flex;}
.h-lg {color: var(--foot-ink); width:38px; display: inline-flex; text-rendering:auto; align-items: center; background:rgba(255, 244, 255, 0.13); border-radius: var(--r-sm); transition: background var(--ease), color var(--ease), transform var(--ease); tab-size:4; height:35px; justify-content: center;}
.h-lg:hover {transform: translateY(-2px); color:#main-divider; background: var(--accent); word-spacing:normal; tab-size:4;}
.app-profile {gap:21px; display: flex;}.data-card{text-rendering:auto; color: var(--foot-ink); font-size:.8.94rem;}
.data-card:hover {color:#main-divider;}

/* Back to top */
.c-gallery-placeholder {visibility: hidden; color:#main-divider; z-index: 900; height:42px; position: fixed; opacity:0; display: flex; width:42px; transition: opacity var(--ease), visibility var(--ease), transform var(--ease), background var(--ease); transform: translateY(14px) scale(.9); border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; border:none; justify-content: center; cursor: pointer; box-shadow: var(--sh-2); bottom:29px; right:24px; background: var(--accent); align-items: center;}
.c-gallery-placeholder.is-visible {opacity:1; visibility: visible; transform: translateY(0) scale(1);}
.c-gallery-placeholder:hover {background: var(--accent-deep); transform: translateY(-3px) scale(1);}
.entryAction {align-items: center; gap:19px; justify-content: space-between; flex-wrap: wrap; display: flex;}

/* Cookie bar */
.u-rating {animation: rise .3s var(--ease); background: var(--foot-bg); left:0; box-shadow:0 -6px 20px rgba(0, 0, 0, 0.16); bottom:0; color:#action-media; z-index: 950; right:0; position: fixed; padding:19px 0;}
.block__value {font-size:.88.03rem; flex: 1; min-width:241px;}.block__value a{color:#site-post;}

/* Auth popup via :target (markup at very bottom of HTML) */
.avatar--flat {padding:25px; z-index: 1200; align-items: center; inset:0; position: fixed; justify-content: center; display: none;}html .avatar--flat:target{display: flex;}
.t-avatar {backdrop-filter:blur(3px); background:rgba(16, 34, 19, 0.56); animation: fade .25s var(--ease); position: absolute; -webkit-backdrop-filter:blur(3px); inset:0;}
.statusToggle {position: relative; animation: pop .28s var(--ease); width:100%; background: var(--surface); box-shadow: var(--sh-3); border-radius: var(--r-lg); padding:38px; max-width:418px;}
.u-dropdown {top:16px; position: absolute; color: var(--ink-faint); font-size:1.75rem; line-height:1; right:17px;}
.u-dropdown:hover {backface-visibility:visible; color: var(--ink);}body .c-hero{gap:15px; display: flex; flex-direction: column;}
.el-chip {display: block; font-weight:500; font-family: var(--font-head); margin-bottom:24px; font-size:1.5rem;}.app-price{font-size:.84.92rem; justify-content: space-between; margin-top:2px; display: flex;}
.app-counter {justify-content: center; color: var(--ink-soft);}

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

/* Responsive */
@media (max-width: 960px) {.t-sidebar{grid-template-columns: 1fr 1fr;}
  .app-divider:last-child {grid-column: 1 / -1;}body{font-size:20px;}
}

@media (max-width: 720px) {
  :root {--bar: 56px;}
  .ui-divider, .l-tooltip {display: none;}.ui-divider.is-open{background: var(--surface); z-index: 999; overflow-y: auto; inset: var(--bar) 0 0 0; display: block; padding:15px 20px; animation: drop .22s var(--ease); position: fixed;}.app-tag{display: flex;}
  .ui-divider.is-open .o-carousel-cap {flex-direction: column; gap:2px;}
  .t-feature-inner {break-inside:auto; padding:24px 0 45px;}.ui-divider.is-open :where(.t-feature){padding:18px 8px; font-size:1.13rem; border-bottom: 1px solid var(--line-soft); border-radius:0 none;}
  .t-chip {grid-template-columns: 1fr;}
  .app-divider:last-child {grid-column: auto;}.t-sidebar:not(._660cad){grid-template-columns: 1fr;}
  .el-reply {gap:24px; flex-direction: column; align-items: flex-start;}
}

@media (max-width: 480px) {
  .u-tabs-info {padding:0 16px;}
  .el-grid {gap:9px;}
}

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