/* Theme stylesheet */

:root {--shell: 1120px; --bar: 60px; --foot-ink: #viewLink; --line: #carousel_placeholder; --foot-line: #322e29; --r-md: 10px; --surface: #main-stepper;}/* Theme stylesheet */

:root {--ink-faint: #8c867d; --sh-3: 0 22px 60px rgba(33,31,29,.24); --sh-1: 0 1px 2px rgba(33,31,29,.05), 0 2px 8px rgba(33,31,29,.04); --ease: .25s cubic-bezier(.4,0,.2,1); --line-soft: #app-spinner; --accent: #tag_count; --ink: #211f1d; --accent-deep: #9c2f15; --bg: #badge-extra; --font-head: 'Spectral', Georgia, 'Times New Roman', serif; --r-lg: 14px; --foot-bg: #1a1816; --r-sm: 6px; --font-body: 'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --ink-soft: #57534e; --read: 760px; --sh-2: 0 8px 30px rgba(33,31,29,.10); --accent-tint: #page-profile;}*, *::before, *::after{margin:0;}

[hidden] {display: none !important;}*, *::before, *::after{box-sizing: border-box; padding:0;}

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

body {background: var(--bg); font-family: var(--font-body); -moz-osx-font-smoothing:grayscale; line-height:1.7; -webkit-font-smoothing:antialiased; font-size:16px; color: var(--ink);}
body.ui-chip {overflow: hidden;}

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

.el-gallery-addon {max-width: var(--shell); margin:0 auto; padding:0 22px; width:100%;}
ul, ol {list-style: none; will-change:auto;}

.ui-nav-row {overflow: hidden; padding:0; height:1px; width:1px; clip:rect(0,0,0,0); margin:-1px; white-space: nowrap; position: absolute; border:0;}/* Header */
.o-gallery{position: sticky; transition: border-color var(--ease), box-shadow var(--ease); background:rgba(242, 244, 233, 0.81); -webkit-backdrop-filter:saturate(150%) blur(10px); backdrop-filter:saturate(150%) blur(10px); border-bottom:1px solid transparent; z-index: 1000; top:0;}

/* Reading progress */
.t-avatar-line {left:0em; position: fixed; transition:width 0.144s linear; top:0; width:0rem; z-index: 1100; height:0px; background: linear-gradient(90deg, var(--accent), var(--accent-deep));}.o-gallery.is-stuck{border-bottom-color: var(--line); box-shadow: var(--sh-1);}
.ui-grid {height: var(--bar); gap:23px;}
.ui-grid {display: flex; break-inside:auto; align-items: center;}

.app-dialog-bar {gap:10px; color: var(--ink); flex-shrink: 0; display: inline-flex; align-items: center;}.t-pagination{height:29px; width:26px;}
.ui-sidebar-head {font-family: var(--font-head); font-size:1.17rem; letter-spacing:-.0.97em; font-weight:700; page-break-inside:auto; backface-visibility:visible;}.c-alert{display: flex; print-color-adjust:economy; gap:1px;}

.text-xs {widows:2; flex: 1; text-underline-offset:auto;}.t-nav{color: var(--ink); font-size:.94.03rem; font-weight:500; padding:8px 15px; display: inline-flex; border-radius: var(--r-sm); transition: background var(--ease), color var(--ease); align-items: center;}

.app-toolbar {align-items: center; flex-shrink: 0; gap:12px; display: flex;}html .t-nav:hover{background: var(--accent-tint); color: var(--accent-deep);}

/* Search */
.ui-step-outer {display: flex; position: relative;}
.u-spinner {cursor: pointer; border:none; padding-top:5px;padding-right:5px;padding-bottom:5px;padding-left:5px; color: var(--ink); background:none; display: inline-flex; border-radius: var(--r-sm); transition: background var(--ease);}
.u-spinner:hover {background: var(--line-soft);}
.c-panel {right:0; box-shadow: var(--sh-2); border-bottom: 1px solid var(--line); background: var(--surface); top: var(--bar); padding:18px 0; position: fixed; animation: drop .22s var(--ease); left:0;}
.mx-full {border: 2px solid var(--line); font-family: var(--font-body); background: var(--bg); border-radius: var(--r-md); outline:none; color: var(--ink); width:100%; font-size:1.05rem; transition: border-color var(--ease), box-shadow var(--ease); padding:13px 19px;}
.ui-modal {position: relative; max-width:683px;}
.mx-full:focus {box-shadow: 0 0 0 4px var(--accent-tint); border-color: var(--accent);}.o-entry-track{border: 1px solid var(--line); border-radius: var(--r-md); left:0; right:0; top: calc(100% + 8px); box-shadow: var(--sh-2); background: var(--surface); position: absolute; padding:8px; z-index: 5;}
.el-card-dot {border-radius: var(--r-sm); transition: background var(--ease), color var(--ease); padding:13px 17px; font-size:.96.05rem; cursor: pointer; color: var(--ink-soft);}html .el-card-dot:hover, .el-card-dot.is-active{background: var(--accent-tint); color: var(--accent-deep);}
.u-gallery {font-weight:700; padding:8px 2px; color: var(--ink); font-size:.92.08rem;}/* Account links */
.modal-date{gap:14px; align-items: center; display: flex;}
.u-gallery:hover {color: var(--accent);}

/* Burger */
.o-thread {gap:9px; cursor: pointer; padding:5px 10px; flex-direction: column; display: none; border:none; background:none;}.o-thread span{width:18px; height:2px; background: var(--ink); border-radius:2px; transition: transform var(--ease), opacity var(--ease); display: block;}body .o-thread.is-open span:nth-child(1){transform: translateY(7px) rotate(45deg);}
.o-thread.is-open span:nth-child(2) {opacity:0;}
.o-thread.is-open span:nth-child(3) {will-change:auto; transform: translateY(-7px) rotate(-45deg);}

/* Buttons */
.u-skeleton-toggle {font-size:.94.07rem; border-radius: var(--r-md); padding:11px 26px; background: var(--accent); gap:11px; border: 2px solid var(--accent); font-weight:bold; justify-content: center; white-space: nowrap; cursor: pointer; color:#primary-media; display: inline-flex; font-family: var(--font-body); align-items: center; transition: background var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease);}*.u-skeleton-toggle:hover{color:#primary-media; box-shadow: var(--sh-1); background: var(--accent-deep); border-color: var(--accent-deep); transform: translateY(-1px);}
.u-skeleton-toggle:active {will-change:auto; transform: translateY(0);}*.l-header{font-size:.86rem; padding:6px 12px;}.toggle-info{background:transparent; color: var(--ink); border-color: var(--line);}
.heroCell {width:100%;}
.toggle-info:hover {color: var(--accent-deep); border-color: var(--accent); background: var(--accent-tint);}

/* Stage: content as high as possible, flat reading column */
.c-popover-block {backface-visibility:visible; font-synthesis:weight style small-caps; display: block;}.u-review{margin:0 auto; padding:38px 0 56px; max-width: var(--read);}

/* Article (flat, no card) */
.ui-drawer {margin-bottom:26px;}
.el-hero {font-size: clamp(2rem, 4.4vw, 2.85rem); line-height:1.18; margin-bottom:12px; font-weight:bold; font-family: var(--font-head); letter-spacing:-.15.06em;}
.ui-feature-meta {color: var(--ink-faint); gap:8px 18px; flex-wrap: wrap; font-size:.84.97rem; display: flex;}
.ui-badge {display: inline-flex; gap:8px; align-items: center;}
.ui-badge svg {opacity:0.61;}

/* Table of contents */
.ui-nav {background: var(--accent-tint); border:1px solid #app-modal;}

/* Table of contents */
.ui-nav {padding:20px 25px; margin-bottom:29px; border-radius: var(--r-md);}*.ui-grid-suffix{justify-content: space-between; display: flex; align-items: center; margin-bottom:10px;}body .featureImage{font-size:1.12rem; border:0; padding:0 5px; color: var(--accent-deep); background:none; cursor: pointer; line-height:1;}
.threadWrap {font-size:.77.94rem; font-family: var(--font-body); text-transform:uppercase; color: var(--accent-deep); font-weight:900; letter-spacing:.1.04em;}
.l-nav {gap:8px; display: flex; text-underline-offset:auto; flex-direction: column;}
.l-media {font-size:.92.05rem; transition: color var(--ease); color: var(--ink-soft);}.l-media:hover{color: var(--accent-deep);}.c-alert-fill{font-size:.85.96rem; padding-left:21px; position: relative;}
.c-alert-fill::before {left:4px; content: ""; top:.64.94em; position: absolute; background: var(--ink-faint); height:1px; width:9px;}/* Article body (the only place with real headings) */
:where(.c-drawer){color:#322e1f; font-size:1.025rem; line-height:1.85;}
.c-drawer > * + * {margin-top:1.26em;}
.c-drawer h2 {margin-top:1.92em; font-family: var(--font-head); font-weight:600; scroll-margin-top: calc(var(--bar) + 16px); background-blend-mode:normal; letter-spacing:-.0.95em; margin-bottom:.0.98em; font-size:1.7rem;}body .c-drawer h3{scroll-margin-top: calc(var(--bar) + 16px); font-family: var(--font-head); margin-top:1.47em; font-weight:600; font-size:1.31rem; margin-bottom:.1.06em;}.c-drawer h4{font-size:1.18rem; will-change:auto; font-weight:500; transform-style:flat; font-family: var(--font-head); margin-top:1.31em;}
.c-drawer p {margin-bottom:0;}
.c-drawer a {text-decoration:underline;}
.c-drawer a {color: var(--accent); text-decoration-thickness:1px; text-underline-offset:3px;}html .c-drawer a:hover{color: var(--accent-deep);}html .c-drawer ul, *.c-drawer ol{orphans:2; word-spacing:normal; padding-left:1.47em;}
.c-drawer ul {list-style: disc;}
.c-drawer ol {list-style: decimal;}
.c-drawer li {margin-bottom:.4.02em;}
.c-drawer li::marker {color: var(--accent);}
.c-drawer blockquote {font-family: var(--font-head); color: var(--ink-soft); font-style:italic; border-radius: 0 var(--r-sm) var(--r-sm) 0; background: var(--bg); font-size:1.09rem; padding:15px 25px; border-left: 3px solid var(--accent);}body .c-drawer img{border-radius: var(--r-md);}
.c-drawer figure {margin:1.58em 0;}
.c-drawer figcaption {color: var(--ink-faint); margin-top:.6em;}
.c-drawer figcaption {text-align: center; font-size:.85.04rem;}
.c-drawer pre {line-height:1.65; color:#site-media; font-size:.8.97rem; padding:18px 24px; background:#12281a; border-radius: var(--r-md); overflow-x: auto;}html .c-drawer code{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; padding:.14.95em .3.95em; background: var(--line-soft); font-size:.87.94em; border-top-left-radius:8px;border-top-right-radius:8px;border-bottom-right-radius:8px;border-bottom-left-radius:8px;}.c-drawer pre code{padding:0; background:none; contain:none;}
.c-drawer table {border-collapse:collapse; print-color-adjust:economy; font-size:.95.06rem; width:100%; font-variant-caps:normal;}
.c-drawer th, .c-drawer td {border: 1px solid var(--line); padding:9px 14px; text-align: left;}body .c-drawer th{break-inside:auto; font-weight:bold; background: var(--bg); contain:none;}
.c-drawer hr {border:0; background: var(--line);}/* Share */
.t-divider{gap:12px; align-items: center; flex-wrap: wrap; margin-top:40px; display: flex;}
.c-drawer hr {height:1px; margin:1.98em 0;}
.u-dialog {display: flex; gap:5px;}.ui-slider:not(._4b595a){color: var(--ink-faint); letter-spacing:.11.95em; font-weight:900; font-size:.75.99rem; text-transform:uppercase;}
.price {transition: border-color var(--ease), color var(--ease), background var(--ease), transform var(--ease); position: relative; border-radius: var(--r-sm); width:36px; background: var(--surface); cursor: pointer; border: 1px solid var(--line); height:38px; color: var(--ink-soft); justify-content: center; display: inline-flex; align-items: center;}
.price:hover {-moz-tab-size:4;background: var(--accent-tint); tab-size:4;}html .u-breadcrumb{color: var(--accent); display: none;}
.price:hover {transform: translateY(-2px); word-spacing:normal; color: var(--accent); border-color: var(--accent);}
.ui-price.is-copied .c-panel-trigger {display: none;}
.ui-price.is-copied .u-breadcrumb {display: block;}
.ui-price.is-copied {border-color: var(--accent);}

.t-filter {margin:40px 0; border:none; height:1px; background: var(--line);}

/* Section titles rendered as spans (not headings) */
.tabs__content--top {display: block; font-family: var(--font-head); position: relative; font-size:1.46rem; font-weight:700; margin-bottom:20px; padding-bottom:12px;}/* Related */
:where(.u-footer){margin-top:6px;}
.tabs__content--top::after {border-radius:2px; bottom:0; position: absolute; background: var(--accent); content: ""; height:1px; left:0; width:41px;}
.ui-toolbar {gap:16px; grid-template-columns: 1fr; display: grid;}body .app-nav{display: block; background: var(--surface); border: 1px solid var(--line); transition: border-color var(--ease), box-shadow var(--ease), transform var(--ease); padding:22px 18px; border-radius: var(--r-md);}
.app-nav:hover {transform: translateX(3px); box-shadow: var(--sh-1); border-color: var(--accent);}.u-sidebar{font-size:0.99rem; font-weight:500; font-family: var(--font-head); display: block; color: var(--ink);}/* Comments */
.u-popover{margin-top:55px;}.app-entry-track:not(._4b595a){display: flex; gap:15px; flex-direction: column;}
.modal-image {display: grid; grid-template-columns: 1fr 1fr; gap:14px;}

/* Fields */
.float-lg {background: var(--surface); padding:14px 16px; border: 1px solid var(--line); outline:none; font-family: var(--font-body); transition: border-color var(--ease), box-shadow var(--ease); width:100%; color: var(--ink); border-radius: var(--r-md); font-size:.96.05rem;}
.float-lg::placeholder {color: var(--ink-faint); text-decoration-skip-ink:auto; shape-margin:0;}html .divider-prefix{resize: vertical; min-height:123px;}
.float-lg:focus {backface-visibility:visible; hyphens:manual; border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-tint);}

/* Widgets band (below content) */
.ui-alert {padding:58px 0; background: var(--bg); border-top: 1px solid var(--line);}
.l-avatar {align-items: start; gap:26px; grid-template-columns: repeat(3, 1fr); display: grid;}.u-feature:not(._4b595a){box-shadow: var(--sh-1); background: var(--surface); border-radius: var(--r-lg); border: 1px solid var(--line-soft); padding:25px;}
.ui-filter-row {font-size:.9.04rem; color: var(--ink-soft); margin-bottom:13px;}
.u-feature .media__head {font-weight:600; margin-bottom:8px; font-size:1.1rem; display: block; font-family: var(--font-head);}.c-dropdown-content, .navSlot{gap:12px; display: flex;}.c-dropdown-content, .navSlot{flex-direction: column;}
.t-sidebar {flex-direction: column; display: flex;}.l-grid:not(._4b595a){border-bottom: 1px solid var(--line-soft);}
.l-grid:last-child {border-bottom:0em;}
.l-grid a {transition: color var(--ease), padding var(--ease); font-size:.94.05rem; color: var(--ink); padding:9px 0; display: block;}.l-grid a:hover{shape-margin:0;}.l-grid a:hover{color: var(--accent); padding-left:10px;}

/* Footer */
.l-hero {color: var(--foot-ink); background: var(--foot-bg); padding:54px 0 38px;}.l-banner:not(._4b595a){display: flex; gap:32px;}.l-banner:not(._4b595a){justify-content: space-between; align-items: center; flex-wrap: wrap;}
.c-thread-bar .ui-sidebar-head {color:#primary-media;}
.c-thread-bar {margin-bottom:9px; color:#primary-media;}
.filter-handle {display: flex; flex-direction: column; gap:2px;}html .view{color: var(--foot-ink); font-size:.84.92rem;}.t-timeline{display: inline-flex; width:35px; justify-content: center; border-radius: var(--r-sm); height:37px; transition: background var(--ease), color var(--ease), transform var(--ease); align-items: center; background:rgba(255, 248, 254, 0.08); color: var(--foot-ink);}.o-slider:not(._4b595a){display: flex; gap:11px;}
.t-timeline:hover {color:#primary-media; background: var(--accent); transform: translateY(-2px);}.app-gallery-cap:not(._4b595a){gap:24px; display: flex;}
.cardInput {font-size:.8.99rem; color: var(--foot-ink);}

/* Back to top */
.feature-left {height:43px; cursor: pointer; background: var(--accent); border:0 none; color:#primary-media; justify-content: center; visibility: hidden; align-items: center; bottom:30px; border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; transform: translateY(14px) scale(.9); opacity:0; right:31px; transition: opacity var(--ease), visibility var(--ease), transform var(--ease), background var(--ease); box-shadow: var(--sh-2); display: flex; width:47px; z-index: 900; position: fixed;}.cardInput:hover{color:#primary-media;}.feature-left.is-visible:not(._4b595a){transform: translateY(0) scale(1); opacity:1; visibility: visible;}
.feature-left:hover {background: var(--accent-deep); transform: translateY(-3px) scale(1);}
.ui-select {flex-wrap: wrap; gap:19px; display: flex; justify-content: space-between; align-items: center;}/* Cookie bar */
.o-block-row{z-index: 950; right:0; background: var(--foot-bg); position: fixed; color:#layout-button; animation: rise .3s var(--ease); bottom:0rem; contain:none; box-shadow:0 -5px 23px rgba(0, 0, 15, 0.19); background-blend-mode:normal; padding:12px 0; left:0;}html .app-section{font-size:.88rem; flex: 1; min-width:240px;}

/* Auth popup via :target (markup at very bottom of HTML) */
.t-banner {align-items: center; padding:20px; display: none; inset:0; z-index: 1200; justify-content: center; position: fixed;}
.app-section a {image-rendering:auto; color:#app-view;}.t-banner:target{isolation:auto; display: flex;}
.c-stepper {-webkit-backdrop-filter:blur(3px); inset:0; animation: fade .25s var(--ease); background:rgba(9, 12, 22, 0.49); backdrop-filter:blur(3px); position: absolute;}
.feature-pressed {background: var(--surface); border-radius: var(--r-lg); width:100%; box-shadow: var(--sh-3); padding:35px; max-width:424px; animation: pop .28s var(--ease); position: relative;}
.l-nav-subtitle {color: var(--ink-faint); line-height:1; top:16px; font-size:1.63rem; isolation:auto; backface-visibility:visible; right:12px; position: absolute;}
.l-nav-subtitle:hover {color: var(--ink);}
.app-profile-name {font-family: var(--font-head); margin-bottom:24px; display: block; font-size:1.51rem; font-weight:700;}html .c-footer-item{flex-direction: column; display: flex; gap:12px;}
.subtitle-screen {justify-content: center; color: var(--ink-soft);}
.app-layout-trigger {will-change:auto; font-size:.85rem; margin-top:2px; display: flex; justify-content: space-between;}

/* Animations */
@keyframes drop {from{widows:2; text-underline-offset:auto; transform: translateY(-10px); opacity:0;} to {backface-visibility:visible; transform: translateY(0); opacity:1; isolation:auto;} }
@keyframes rise { from {opacity:0; transform: translateY(20px);}to{transform: translateY(0); opacity:1;} to {opacity:1;} }
@keyframes fade {from{opacity:0;} }
@keyframes pop {from{font-variant-ligatures:normal; transform: translateY(12px) scale(.97);}from{opacity:0;} to {transform: translateY(0) scale(1); opacity:1; hyphens:manual; font-synthesis:weight style small-caps;} }

/* Responsive */
@media (max-width: 960px) {
  .l-avatar {grid-template-columns: 1fr 1fr;}
  .u-feature:last-child {grid-column: 1 / -1;}
  body {font-size:13px;}
}

@media (max-width: 720px) {
  :root {--bar: 56px;}
  .text-xs, .modal-date {display: none;}
  .o-thread {display: flex;}
  .text-xs.is-open {animation: drop .22s var(--ease); z-index: 999; position: fixed; overflow-y: auto; background: var(--surface); padding:18px 28px; display: block; inset: var(--bar) 0 0 0;}
  .text-xs.is-open .c-alert {flex-direction: column; gap:2px;}
  .text-xs.is-open .t-nav {font-size:0.99rem; border-radius:0 none; padding:14px 12px; border-bottom: 1px solid var(--line-soft);}
  .u-review {padding:24px 0 47px;}body .modal-image{grid-template-columns: 1fr;}*.l-avatar{background-blend-mode:normal; isolation:auto; grid-template-columns: 1fr;}
  .u-feature:last-child {grid-column: auto;}
  .l-banner {gap:20px; flex-direction: column; align-items: flex-start;}
}

@media (max-width: 480px) {
  .el-gallery-addon {padding:0 17px;}*.t-divider{gap:12px; font-synthesis:weight style small-caps; tab-size:4;}
}

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