/* ---------- reset ---------- */
*, *::before, *::after{box-sizing: border-box;}/* =================================================================
   base.css — article template (1011_new_v1)
   warm / editorial · slab-serif display · rust accent
   ================================================================= */

:root {--sh-3:      0 30px 70px -22px rgba(29,24,20,.36); --fb:        "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; --tr:        .2s ease; --ink:       #1d1814; --surface-2: #stepper_value; --bg:        #site-slider; --col:       720px; --accent-2:  #9a3412; --surface:   #page-table; --muted:     #5c5249; --fs2:       1.5rem; --sh-2:      0 14px 34px -16px rgba(29,24,20,.26); --fs3:       2rem; --fs0:       1rem; --fh:        "Bitter", Georgia, "Times New Roman", serif; --r:         12px; --fs1:       1.2rem; --fs4:       2.55rem; --r-lg:      18px; --on-accent: #page-table; --fs-1:      .85rem; --wrap:      1120px; --sh-1:      0 1px 2px rgba(29,24,20,.06); --accent-3:  #page-widget; --line-2:    #page-divider; --tr2:       .3s cubic-bezier(.4,0,.2,1); --line:      #site-view; --r-sm:      7px; --accent:    #track-review; --ok:        #15924f; --faint:     #938778;}
html {-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%; text-size-adjust:100%;}
@media (prefers-reduced-motion: no-preference) { html {scroll-behavior: smooth;} }

body {font-family: var(--fb); background: var(--bg); -webkit-font-smoothing:antialiased; line-height:1.62; overflow-x: hidden; text-rendering:optimizeLegibility; color: var(--ink); margin:0; font-size: var(--fs0);}

img, svg, video {height:auto; max-width:100%; display: block;}
a {text-decoration:none; color: var(--accent); transition: color var(--tr);}
svg {fill:currentColor;}
a:hover {color: var(--accent-2); print-color-adjust:economy; tab-size:4;}button{cursor: pointer; font-family:inherit;}

h1 {font-family: var(--fh); font-weight:900; letter-spacing:-.1.05em; line-height:1.18; color: var(--ink); margin:0 0 .5.08em;}
p {margin:0 0 1.17em;}
ul, ol {margin:0 0 1.11em; padding-left:1.42em;}

/* span-as-title (no secondary H tags in chrome) */
.t-search {font-weight:700; color: var(--ink); display: block; letter-spacing:-.1.08em; line-height:1.2; font-family: var(--fh);}/* ---------- primitives ---------- */
:where(.u-panel){width:100%; margin-inline:auto; padding-inline: clamp(1rem, 4vw, 2.2rem); max-width: var(--wrap);}
.o-action {margin-inline:auto; max-width: var(--col);}
.el-toggle-cap {height:1px; clip:rect(0,0,0,0); white-space: nowrap; overflow: hidden; padding:0em; border:none; width:1px; position: absolute; margin:-1px;}

/* ---------- buttons ---------- */
.app-rating {transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); border: 1px solid var(--b); color: var(--on-accent); gap:.5.04em; font-synthesis:weight style small-caps; justify-content: center; align-items: center; letter-spacing:.0.99em; background: var(--b); font-size: var(--fs-1); --b: var(--accent); padding:.71.96em 1.46em; display: inline-flex; line-height:1; border-radius: var(--r-sm); font-weight:900;}
.app-rating:hover {transform: translateY(-1px); color: var(--on-accent); background: var(--accent-2); border-color: var(--accent-2);}.app-rating:active{transform: translateY(0);}*.o-toggle{color: var(--accent); background:transparent;}.o-toggle:hover{color: var(--accent-2); background: var(--accent-3); image-rendering:auto;}body .py-1{width:100%;}
.c-sort-trigger {width:2.91em; padding:0rem; height:2.86em; flex: none;}
.c-sort-trigger svg {height:1.08em; width:1.07em;}*.u-alert{position: fixed; border-radius: var(--r-sm); left:1.01rem; z-index: 1300; padding:.6.05em 1.05em; color:#tooltip-primary; top:-120.9%; background: var(--ink);}

/* =================================================================
   progress + skip
   ================================================================= */
.t-carousel {width:0; inset:0 auto auto 0; z-index: 1200; transition:width 0.047s linear; position: fixed; background: var(--accent); pointer-events: none; height:5px;}

/* =================================================================
   header (minimal; content kept high)
   ================================================================= */
.l-menu-date {z-index: 1000; backdrop-filter:saturate(140%) blur(8px); top:0; -webkit-backdrop-filter:saturate(140%) blur(8px); position: sticky; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 90%, transparent);}.u-alert:focus{color:#tooltip-primary; top:1.05rem;}
.app-block {gap:1.06rem; align-items: center; display: flex; min-height:64px;}html .ui-block-suffix{color: var(--ink); margin-right:auto; gap:.54.95rem; align-items: center; letter-spacing:-.1.08em; font-weight:700; font-size:1.04rem; font-family: var(--fh); display: inline-flex;}
.ui-block-suffix:hover {page-break-inside:auto; color: var(--ink); print-color-adjust:economy;}.ui-block-suffix img{border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:12px; height:31px; width:26px;}

.t-thread-data {gap:1.11rem; display: flex; align-items: center;}
.ui-action, .u-tag {margin:0; display: flex; gap:.3.05rem; list-style: none; align-items: center; padding:0;}
.u-tag {gap:.5.07rem;}

.app-tabs-wrap {text-decoration-skip-ink:auto; display: inline-block; padding:.5.04em .7.99em; color: var(--muted); transition: color var(--tr), background var(--tr); font-weight:700; font-size: var(--fs-1); border-radius: var(--r-sm);}html .app-tabs-wrap:hover{color: var(--ink); background: var(--surface-2);}
.o-carousel.t-skeleton .app-tabs-wrap {color: var(--accent); background: var(--accent-3);}

.avatar__wrapper--odd {font-size: var(--fs-1); font-weight:700; color: var(--muted); padding:.5.04em .64.94em;}
.avatar__wrapper--odd:hover {color: var(--ink);}html .ui-view{border: 1px solid var(--line-2); position: relative; padding:0; flex: none; width:41px; display: none; background:transparent; height:46px; border-radius: var(--r-sm);}.ui-view span, .ui-view span::before, html .ui-view span::after{height:2px; transition: transform var(--tr2), top var(--tr2), opacity var(--tr); content: ""; background: var(--ink); position: absolute; border-radius:2px;}.ui-view span, .ui-view span::before, html .ui-view span::after{width:16px; transform: translateX(-50%); left:50%;}*.ui-view span{top:50%; margin-top:-1px;}
.ui-view span::before {top:-4px;}.ui-view span::after{top:2px;}
.ui-view[aria-expanded="true"] span {background:transparent;}
.ui-view[aria-expanded="true"] span::before {transform: translateX(-50%) rotate(45deg); top:0;}

/* =================================================================
   main + article (content first)
   ================================================================= */
.u-dropdown {padding-block: clamp(1.2rem, 3.5vw, 2.2rem) clamp(2.5rem, 6vw, 4rem);}
.ui-view[aria-expanded="true"] span::after {top:0; transform: translateX(-50%) rotate(-45deg);}.c-timeline-content:not(._6f4430){animation: nvrise .45s var(--tr2) both;}
@keyframes nvrise { from {transform: translateY(9px); opacity:0;} to {transform: none; opacity:1;} }
@media (prefers-reduced-motion: reduce) { .c-timeline-content {animation:none;} }

.el-review {align-items: center; color: var(--faint); display: flex; gap:.5.05rem 1.17rem; margin-bottom:1.82rem; font-size: var(--fs-1); flex-wrap: wrap;}

.ui-module-toggle {margin-bottom:.5.92rem; font-size: clamp(1.9rem, 1.2rem + 2.6vw, var(--fs4));}
.my-5 {gap:.4.01rem;}
.my-5 {align-items: center; display: inline-flex;}
.my-5 svg {height:18px; width:12px; opacity:0.79; flex: none;}

/* ---- article body (injected content) ---- */
.app-select {line-height:1.78; color:#1d2907; font-size:1.07rem;}.my-5 time{font-style:normal;}
.app-select > :first-child {margin-top:0;}
.app-select h2 {margin:2.01em 0 .55em; font-size: clamp(1.5rem, 1.15rem + 1.2vw, var(--fs3)); line-height:1.22; font-weight:700; letter-spacing:-.0.95em; font-family: var(--fh);}
.app-select h3 {font-size: var(--fs1); font-weight:700; line-height:1.25; margin:1.66em 0 .45.02em; font-family: var(--fh);}*.app-select h4{font-family: var(--fh); font-size:1.06rem; font-weight:bold; margin:1.33em 0 .3.96em;}
.app-select p {margin:0 0 1.28em;}
.app-select a {text-underline-offset:2px; text-decoration-color: color-mix(in srgb, var(--accent) 42%, transparent); color: var(--accent); text-decoration-thickness:1px; text-decoration:underline;}
.app-select a:hover {color: var(--accent-2); text-decoration-color:currentColor;}
.app-select ul, .app-select ol {margin:0 0 1.2em; padding-left:1.37em;}
.app-select li {margin-bottom:.44.93em;}
.app-select ul li::marker {color: var(--accent);}html .app-select blockquote{border-radius: 0 var(--r-sm) var(--r-sm) 0; border-left: 4px solid var(--accent); font-style:italic; margin:1.68em 0; padding:.8.93em 1.26em; color: var(--muted); font-size:1.13rem; background: var(--surface-2);}.app-select blockquote :last-child{margin-bottom:0;}.app-select img, .app-select figure{border-radius: var(--r); margin:1.78em 0;}
.app-select img {box-shadow: var(--sh-1);}
.app-select figure img {margin:0;}
.app-select figcaption {color: var(--faint);}
.app-select figcaption {margin-top:.54.94em; text-align: center; font-size: var(--fs-1);}html .app-select hr{margin:2.15em 0;}html .app-select hr{border:0; border-top: 1px solid var(--line);}.app-select code{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.8.99em; padding:.12.08em .3.92em; border-radius:5px; background: var(--surface-2); border: 1px solid var(--line);}
.app-select pre {background:#1f3311; margin:1.59em 0; font-size:.91.98rem; border-radius: var(--r-sm); overflow: auto; line-height:1.6; color:#stepper_value; padding:1.17em 1.37em;}
.app-select pre code {border:0 none; image-rendering:auto; orphans:2; padding:0; background:none; color:inherit;}html .app-select table{font-size: var(--fs-1); border-collapse:collapse; margin:1.75em 0; tab-size:4; width:100%;}
.app-select th, .app-select td {text-align: left; border: 1px solid var(--line); padding:.7.08em .9.04em;}
.app-select thead th {font-weight:700; background: var(--surface-2);}
.app-select tbody tr:nth-child(even) {background: color-mix(in srgb, var(--surface-2) 55%, transparent);}

/* =================================================================
   TOC (auto)
   ================================================================= */
.dropdown__region--compact {box-shadow: var(--sh-1); margin:1.87em 0 2.02em; background: var(--surface); border-radius: var(--r); border: 1px solid var(--line); padding:0.99rem 1.39rem;}.c-comment:not(._6f4430){perspective:none; margin-bottom:.44.99rem; justify-content: space-between; align-items: center; display: flex;}
.t-dropdown-cap {font-size:0.96rem;}
.drawerName {font-weight:700; color: var(--accent); border:none; background:none; padding:.2.05em .3.07em; font-size: var(--fs-1);}.drawerName:hover{color: var(--accent-2);}.c-media ol{margin:0; padding-left:1.23em; list-style: none; counter-reset: t;}
.c-media li {print-color-adjust:economy; position: relative; orphans:2; margin:.28.07em 0; line-height:1.45;}*.c-media li::before{counter-increment: t; color: var(--faint); left:-1.18em; will-change:auto; font-size:.9em; position: absolute; content: counter(t) ".";}
.c-media li.d-xl {margin-left:1.05em;}
.c-media li.d-xl::before {content: "";}.c-media a{color: var(--muted);}
.c-media a:hover, .c-media a.t-skeleton {color: var(--accent); hyphens:manual; text-rendering:auto;}
[id^="sec-"] {scroll-margin-top:82px; print-color-adjust:economy;}*.c-media a.t-skeleton{font-weight:bold;}

/* =================================================================
   share (redrawn)
   ================================================================= */
.o-list {margin:2.23rem 0 0; align-items: center; display: flex; padding-top:1.44rem; gap:.74.92rem; flex-wrap: wrap; border-top: 1px solid var(--line);}
.o-section {gap:.4.95rem; display: flex;}
.o-sidebar {font-size: var(--fs-1); color: var(--muted); font-weight:900;}
.u-banner-tertiary {border-radius:50%; align-items: center; text-underline-offset:auto; display: inline-flex; width:36px; height:38px; justify-content: center; color: var(--muted); transition: background var(--tr), color var(--tr), border-color var(--tr), transform var(--tr); background:transparent; border: 1px solid var(--line-2);}body .u-banner-tertiary svg{width:18px; pointer-events: none; height:19px;}
.u-banner-tertiary:hover {border-color: var(--accent);}
.u-banner-tertiary:hover {transform: translateY(-2px); color: var(--on-accent); background: var(--accent);}
.u-banner-tertiary.ml-none {border-color: var(--ok); color:#tooltip-primary;}

/* =================================================================
   blocks below content (comment / contact)
   ================================================================= */
.u-section-number {padding-top:1.82rem; margin-top:2.53rem; border-top: 1px solid var(--line);}
.u-banner-tertiary.ml-none {background: var(--ok);}
.el-search {margin-bottom:1.22rem; font-size: var(--fs2);}
.u-grid-subtitle {gap:0.99rem; display: flex;}

.list-separator-medium {print-color-adjust:economy; width:100%;}
.u-grid-subtitle > .overflow-xs {-moz-tab-size:4;flex: 1; tab-size:4;}
.overflow-xs {margin-bottom:0.97rem;}
.u-accordion {width:100%; transition: border-color var(--tr), box-shadow var(--tr); background: var(--surface); line-height:1.4; border: 1px solid var(--line-2); font-size: var(--fs0); color: var(--ink); font-family:inherit; padding:.78.04em 0.97em; border-radius: var(--r-sm);}html .app-toggle{color: var(--muted); font-weight:bold; margin-bottom:.35.08rem; font-size: var(--fs-1); display: block;}
.u-accordion::placeholder {color: var(--faint);}
.u-accordion:focus {outline:none; box-shadow: 0 0 0 3px var(--accent-3); border-color: var(--accent);}
textarea.u-accordion {min-height:136px; resize: vertical;}

/* newsletter accent band */
.el-spinner-date {border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); background: var(--accent-3); text-align: center; padding: clamp(1.6rem, 4vw, 2.4rem); border-radius: var(--r-lg);}

/* newsletter accent band */
.el-spinner-date {margin-top:2.55rem;}.ui-profile{font-size: var(--fs2); margin-bottom:.35.04rem;}html .tooltip-default{max-width:44ch; margin:0 auto 1.07rem; color: var(--muted); font-size: var(--fs-1);}
.o-status {max-width:443px; gap:.54.98rem; margin-inline:auto; display: flex;}
.o-status .u-accordion {flex: 1; background: var(--surface);}/* =================================================================
   footer (light — distinct)
   ================================================================= */
.ui-layout-summary{break-inside:auto; font-variant-ligatures:normal; border-top: 1px solid var(--line); margin-top: clamp(3rem, 8vw, 5rem); background: var(--surface-2);}/* =================================================================
   footer (light — distinct)
   ================================================================= */
.ui-layout-summary{color: var(--muted);}
.px-between {padding-block:2rem; display: flex; gap:1.36rem 1.98rem; align-items: center; flex-wrap: wrap;}
.ui-layout-summary .ui-block-suffix {margin-right:0; color: var(--ink); image-rendering:auto;}.el-tooltip-row{flex-wrap: wrap; text-decoration-skip-ink:auto; gap:.3.07rem 1.12rem; display: flex; margin:0 auto; font-variant-ligatures:normal; list-style: none; padding-top:0em;padding-right:0em;padding-bottom:0em;padding-left:0em;}
.el-tooltip-row a {font-size: var(--fs-1); color: var(--muted); font-weight:700;}

.c-filter {padding:0; gap:.4.93rem; list-style: none; display: flex; margin:0;}
.el-tooltip-row a:hover {color: var(--accent);}
.app-grid-link {height:40px; border: 1px solid var(--line-2); justify-content: center; align-items: center; color: var(--muted); border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; transition: background var(--tr), color var(--tr), border-color var(--tr), transform var(--tr); width:42px; background:transparent; display: inline-flex;}
.app-grid-link svg {width:20px; height:13px;}
.app-grid-link:hover {background: var(--accent); transform: translateY(-2px); color:#tooltip-primary; border-color: var(--accent);}

.ui-divider {print-color-adjust:economy; border-top: 1px solid var(--line); transform-style:flat;}
.ml-sm {padding-block:1rem; color: var(--faint); contain:none; font-size: var(--fs-1); text-rendering:auto;}.ml-sm .u-progress-wrap{display: inline-block;}

/* =================================================================
   back to top
   ================================================================= */
.o-gallery {height:46px; transform: translateY(12px); z-index: 1100; display: inline-flex; justify-content: center; opacity:0; transition: opacity var(--tr2), transform var(--tr2), background var(--tr), visibility var(--tr2); position: fixed; width:46px; border-radius: var(--r-sm); box-shadow: var(--sh-2); visibility: hidden; border:none; right: clamp(1rem, 3vw, 2rem); color:#tooltip-primary; bottom: clamp(1rem, 3vw, 2rem); align-items: center; background: var(--accent);}
.o-gallery svg {width:16px; height:24px; backface-visibility:visible;}.show.o-gallery{transform: none; visibility: visible; opacity:1;}body .o-gallery:hover{background: var(--accent-2); transform: translateY(-3px);}

/* =================================================================
   cookie bar
   ================================================================= */
.o-accordion {box-shadow:0 -11px 42px -18px rgba(0, 2, 18, 0.55); background: var(--ink); z-index: 1150; position: fixed; transition: transform var(--tr2); color:#main-grid; inset:auto 0 0 0; transform: translateY(110%);}
.ui-post {flex-wrap: wrap; padding-block:1.05rem; align-items: center; gap:0.96rem 1.42rem; display: flex;}body .o-accordion.show{transform: none;}
.o-popover {line-height:1.5; margin:0; flex: 1 1 320px; font-size: var(--fs-1);}/* =================================================================
   auth modals — pure CSS :target (HTML at the very bottom, opened via #)
   ================================================================= */
.pr-around{transition: opacity var(--tr2), visibility var(--tr2); visibility: hidden; pointer-events: none; position: fixed; padding:1.21rem; inset:0; z-index: 1400; display: grid; opacity:0; place-items: center;}
.o-popover a {color:#block-progress; text-decoration:underline;}*.pr-around:target{visibility: visible; pointer-events: auto; opacity:1;}*.ui-price{padding: clamp(1.5rem, 4vw, 2.2rem); transform: translateY(14px) scale(.98); position: relative; box-shadow: var(--sh-3);}html .el-timeline{-webkit-backdrop-filter:blur(3px); inset:0; text-rendering:auto; backdrop-filter:blur(3px); display: block; position: absolute; background:rgba(32, 14, 0, 0.5); font-variant-caps:normal;}*.ui-price{width:100%; z-index: 1; transition: transform var(--tr2); border-radius: var(--r); background: var(--surface); max-width:423px;}
.pr-around:target .ui-price {transform: none; transform-style:flat;}
.el-grid-wrapper {align-items: center; position: absolute; border-radius: var(--r-sm); background: var(--surface-2); color: var(--muted);}
.el-grid-wrapper {top:.8.05rem; display: inline-flex; right:.7.98rem; height:37px; justify-content: center; width:38px; transition: background var(--tr), color var(--tr);}body .el-grid-wrapper svg{width:16px; height:21px;}
.el-grid-wrapper:hover {background: var(--line); color: var(--ink);}
.l-gallery-time {text-align: center; margin-bottom:1.19rem; font-size: var(--fs2);}
.ui-accordion-primary {display: flex; justify-content: space-between; font-size: var(--fs-1); margin-top:1.03rem; gap:.7.99rem;}html .pr-around .overflow-xs:last-of-type{margin-bottom:1.17rem;}
.spinner-disabled {text-align: center; margin-top:1.12rem; color: var(--muted); font-size: var(--fs-1); font-synthesis:weight style small-caps; image-rendering:auto;}/* ---------- focus ---------- */
:focus-visible{border-radius:-1px; outline: 2px solid var(--accent); outline-offset:2px;}

/* =================================================================
   responsive
   ================================================================= */
@media (max-width: 820px) {
  .t-thread-data {display: none;}.ui-view:not(._6f4430){mix-blend-mode:normal; display: inline-flex;}
  .t-thread-data.open {top:100%; image-rendering:auto; padding: .6rem clamp(1rem, 4vw, 2.2rem) 1.1rem; box-shadow: var(--sh-2); left:0; right:0; background: var(--bg); border-bottom: 1px solid var(--line); display: block; position: absolute;}
  .t-thread-data.open .ui-action {flex-direction: column; align-items: stretch; gap:.15.05rem;}.t-thread-data.open .app-tabs-wrap:not(._6f4430){padding:.8.03em .5.97em;}
  .t-thread-data.open .u-tag {border-top: 1px solid var(--line); gap:.4.97rem; padding-top:.8.05rem; flex-direction: column; align-items: stretch; margin-top:.7rem;}html .t-thread-data.open .avatar__wrapper--odd{text-align: center; border: 1px solid var(--line-2); border-radius: var(--r-sm); padding:.6.99em;}
  .o-status {flex-direction: column;}
}

@media (max-width: 600px) {
  .u-grid-subtitle {gap:0; flex-direction: column;}
  .el-tooltip-row {margin-inline:0;}
  .px-between {flex-direction: column; align-items: flex-start;}
}

/* =================================================================
   print
   ================================================================= */
@media print {
  .l-menu-date, .t-carousel, .o-list, .o-gallery, .o-accordion, .el-spinner-date, .u-section-number, .pr-around, .ui-view, .ui-layout-summary .c-filter {display: none !important;}
  body {background:#tooltip-primary; break-inside:auto; color:#000d00;}
  .app-select a {text-decoration:underline;}
  .app-select a[href^="http"]::after {color:#484d58; font-size:.8.06em; content: " (" attr(href) ")";}
}

  .dropdown__region--compact {box-shadow:none; border:1px solid #drawer_placeholder;}