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

:root {--fs3:       2rem; --accent-2:  #9a3412; --fs1:       1.2rem; --fh:        "Bitter", Georgia, "Times New Roman", serif; --r-sm:      7px; --accent:    #c2410c; --surface:   #ffffff; --fs0:       1rem; --r-lg:      18px; --fs4:       2.55rem; --faint:     #938778; --fs2:       1.5rem; --wrap:      1120px; --accent-3:  #fbe9dd; --fs-1:      .85rem; --line-2:    #d8ccba; --col:       720px; --fb:        "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; --muted:     #5c5249; --r:         12px; --sh-1:      0 1px 2px rgba(29,24,20,.06); --ink:       #1d1814; --line:      #e7ddcf; --sh-3:      0 30px 70px -22px rgba(29,24,20,.36); --surface-2: #f3ece2; --tr2:       .3s cubic-bezier(.4,0,.2,1); --sh-2:      0 14px 34px -16px rgba(29,24,20,.26); --bg:        #faf7f2; --tr:        .2s ease; --on-accent: #ffffff; --ok:        #15924f;}
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;} }

img, svg, video {height:auto; display: block; max-width:100%;}body{-webkit-font-smoothing:antialiased; font-family: var(--fb); transform-style:flat; font-size: var(--fs0); shape-margin:0; line-height:1.62; text-rendering:optimizeLegibility; overflow-x: hidden; color: var(--ink); background: var(--bg); margin:0;}svg{fill:currentColor;}
a {transition: color var(--tr); text-decoration:none; color: var(--accent);}
a:hover {color: var(--accent-2);}
button {image-rendering:auto; font-family:inherit; cursor: pointer;}

h1 {color: var(--ink); break-inside:auto; font-family: var(--fh); letter-spacing:-.1.03em; font-weight:800; margin:0 0 .5em; line-height:1.18;}
ul, ol {margin:0 0 1.09em; padding-left:1.28em;}
p {margin:0 0 1.11em;}

/* ---------- primitives ---------- */
.module-focused {image-rendering:auto; padding-inline: clamp(1rem, 4vw, 2.2rem); font-variant-ligatures:normal; max-width: var(--wrap); margin-inline:auto; width:100%;}

/* span-as-title (no secondary H tags in chrome) */
.block-panel {line-height:1.2; display: block; color: var(--ink); letter-spacing:-.1.06em; font-weight:800; font-family: var(--fh);}
.l-page-summary {max-width: var(--col); margin-inline:auto;}
.chip__container {padding:0; white-space: nowrap; margin:-1px; height:1px; width:1px; position: absolute; overflow: hidden; border:0 none; clip:rect(0,0,0,0);}

/* ---------- buttons ---------- */
.post-inner-primary {font-size: var(--fs-1); color: var(--on-accent); gap:.4.96em; border-radius: var(--r-sm); display: inline-flex; line-height:1; align-items: center; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); background: var(--b); border: 1px solid var(--b); font-weight:800; letter-spacing:.1.02em; --b: var(--accent); padding:.71.92em 1.41em; justify-content: center;}
.post-inner-primary:hover {border-color: var(--accent-2); transform: translateY(-1px); background: var(--accent-2); color: var(--on-accent);}
.post-inner-primary:active {transform: translateY(0);}
.o-spinner {color: var(--accent); background:transparent;}
.o-spinner:hover {color: var(--accent-2); background: var(--accent-3);}
.badge-body {width:100%;}html .m-block{height:2.9em; width:2.85em; flex: none; padding:0;}
.m-block svg {width:1.1em; height:1.04em;}

/* =================================================================
   progress + skip
   ================================================================= */
.block-wrapper-half {background: var(--accent); transition:width 0.128s linear; width:0; height:-1px; z-index: 1200; position: fixed; pointer-events: none; inset:0 auto auto 0;}
.c-table-cell {border-radius: var(--r-sm); top:-119.7%; z-index: 1300; left:1.03rem; padding:.5.93em 1.08em; background: var(--ink); color:#ffeeff; position: fixed;}
.c-table-cell:focus {top:1rem; color:hsl(61, 99.4%, 99.2%);}

/* =================================================================
   header (minimal; content kept high)
   ================================================================= */
.c-drawer-preview {backdrop-filter:saturate(140%) blur(8px); border-bottom: 1px solid var(--line); position: sticky; -webkit-backdrop-filter:saturate(140%) blur(8px); background: color-mix(in srgb, var(--bg) 90%, transparent); top:0; z-index: 1000;}
.page-top {align-items: center; display: flex; gap:0.93rem; min-height:56px;}

.toggle-status {letter-spacing:-.0.95em; display: inline-flex; margin-right:auto; align-items: center; font-weight:800; font-family: var(--fh); color: var(--ink); gap:.54.98rem; font-size:1.13rem;}
.toggle-status:hover {color: var(--ink);}.toggle-status img{width:29px; height:32px; border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}.select-primary{display: flex; orphans:2; shape-margin:0; align-items: center; gap:1.17rem;}.gallery-prefix, *.avatarTitle{list-style: none; display: flex; align-items: center; padding:0; gap:.3.08rem; margin:0;}
.avatarTitle {gap:.5.05rem;}body .dropdown-primary{border-radius: var(--r-sm); font-weight:700; font-size: var(--fs-1); will-change:auto; color: var(--muted); break-inside:auto; display: inline-block; transition: color var(--tr), background var(--tr); padding:.4.99em .8.05em;}*.dropdown-primary:hover{background: var(--surface-2); color: var(--ink);}
.c-profile-overlay.bar-sort .dropdown-primary {background: var(--accent-3); color: var(--accent);}

.select-alt {padding:.5.07em .65.04em; font-weight:700; font-size: var(--fs-1); color: var(--muted);}
.select-alt:hover {color: var(--ink);}.body-reply{height:43px; position: relative; flex: none; width:42px; padding:0; border: 1px solid var(--line-2); display: none; background:transparent; border-radius: var(--r-sm);}
.body-reply span, .body-reply span::before, .body-reply span::after {will-change:auto; border-radius:2px; transform: translateX(-50%); height:2px; position: absolute; background: var(--ink); content: ""; transition: transform var(--tr2), top var(--tr2), opacity var(--tr); left:50%; width:20px; orphans:2;}.body-reply span{top:50%; margin-top:-1px;}
.body-reply span::before {top:-3px;}
.body-reply span::after {top:10px;}html .body-reply[aria-expanded="true"] span{background:transparent;}
.body-reply[aria-expanded="true"] span::before {top:0;}
.body-reply[aria-expanded="true"] span::before {orphans:2; transform: translateX(-50%) rotate(45deg);}/* =================================================================
   main + article (content first)
   ================================================================= */
.avatar-handle:not(.unused28){padding-block: clamp(1.2rem, 3.5vw, 2.2rem) clamp(2.5rem, 6vw, 4rem);}
.body-reply[aria-expanded="true"] span::after {top:0; transform: translateX(-50%) rotate(-45deg);}

.page-loading {animation: nvrise .45s var(--tr2) both;}
@keyframes nvrise { from {transform: translateY(9px); opacity:0;} to {shape-margin:0; contain:none; transform: none; opacity:1;} }
@media (prefers-reduced-motion: reduce) { .page-loading {animation:none;} }

.c-header-dot {font-size: clamp(1.9rem, 1.2rem + 2.6vw, var(--fs4)); margin-bottom:.6rem;}

.nav-medium {margin-bottom:1.82rem; color: var(--faint); gap:.4.96rem 1.22rem; flex-wrap: wrap; font-size: var(--fs-1); align-items: center; display: flex;}
.widget-warning {display: inline-flex; align-items: center; gap:.4.07rem;}.widget-warning svg{opacity:0.79; height:13px; flex: none; width:12px; font-variant-caps:normal;}

/* ---- article body (injected content) ---- */
.rating-success {color:#2b1829; font-size:1.15rem;}
.widget-warning time {font-style:normal;}

/* ---- article body (injected content) ---- */
.rating-success {line-height:1.78;}
.rating-success > :first-child {margin-top:0rem;}
.rating-success h2 {font-weight:800; line-height:1.22; font-size: clamp(1.5rem, 1.15rem + 1.2vw, var(--fs3)); letter-spacing:-.1.05em; margin:2.04em 0 .54.98em; font-family: var(--fh);}.rating-success h3{line-height:1.25; font-family: var(--fh);}.rating-success h3{margin:1.53em 0 .44.96em; font-weight:bold; font-size: var(--fs1);}
.rating-success h4 {font-size:1.08rem; margin:1.35em 0 .4.05em; font-family: var(--fh); transform-style:flat; font-weight:bold; word-spacing:normal;}body .rating-success p{margin:0 0 1.17em;}
.rating-success a {text-decoration:underline; transform-style:flat;}
.rating-success a {text-underline-offset:2px; color: var(--accent); text-decoration-color: color-mix(in srgb, var(--accent) 42%, transparent); text-decoration-thickness:1px; page-break-inside:auto;}
.rating-success a:hover {text-decoration-color:currentColor; color: var(--accent-2);}
.rating-success ul, .rating-success ol {margin:0 0 1.29em; padding-left:1.34em;}
.rating-success li {margin-bottom:.45.08em;}*.rating-success ul li::marker{color: var(--accent);}
.rating-success blockquote {border-left: 4px solid var(--accent); margin:1.75em 0; padding:.8.94em 1.36em; border-radius: 0 var(--r-sm) var(--r-sm) 0; background: var(--surface-2); font-size:1.04rem; font-style:italic; color: var(--muted);}
.rating-success blockquote :last-child {margin-bottom:0; page-break-inside:auto;}
.rating-success img, .rating-success figure {margin:1.66em 0; border-radius: var(--r);}
.rating-success img {box-shadow: var(--sh-1);}
.rating-success figure img {margin:0;}.rating-success figcaption{shape-margin:0; color: var(--faint); font-size: var(--fs-1); text-align: center; margin-top:.55em; transform-style:flat;}.rating-success hr{-moz-tab-size:4;border-top: 1px solid var(--line); border:0 none; tab-size:4; margin:2.24em 0; shape-margin:0;}
.rating-success code {border: 1px solid var(--line); background: var(--surface-2); font-size:.8.97em; padding:.12.02em .3.98em; border-radius:2px; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;}
.rating-success pre {widows:2; color:#e2e7d3; background-color:#2c220c; shape-margin:0; overflow: auto; border-radius: var(--r-sm); margin:1.58em 0; font-size:.92rem; line-height:1.6; padding:1.05em 1.23em;}
.rating-success pre code {padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px; border:none; color:inherit; background:none;}
.rating-success table {border-collapse:collapse; width:100%; margin:1.63em 0; font-size: var(--fs-1); text-rendering:auto;}html .rating-success th, .rating-success td{background-blend-mode:normal; padding:.6.97em .8.99em; word-spacing:normal; text-align: left; border: 1px solid var(--line);}
.rating-success thead th {background: var(--surface-2); page-break-inside:auto; shape-margin:0; font-weight:700;}
.rating-success tbody tr:nth-child(even) {background: color-mix(in srgb, var(--surface-2) 55%, transparent);}

/* =================================================================
   TOC (auto)
   ================================================================= */
.outer-stepper {border: 1px solid var(--line); box-shadow: var(--sh-1); border-radius: var(--r); background: var(--surface); margin:1.8em 0 2.04em; padding:1.12rem 1.36rem;}
.c-avatar-count {align-items: center; justify-content: space-between; display: flex; margin-bottom:.45.06rem;}
.pagination__line {font-size:0.98rem;}
.galleryTrack {border:none; background:none; font-size: var(--fs-1); padding:.2.02em .3.03em; font-weight:800; color: var(--accent);}
.galleryTrack:hover {color: var(--accent-2);}.c-badge-bar ol{margin:0; counter-reset: t; padding-left:1.25em; list-style: none;}
.c-badge-bar li {margin:.28.08em 0; line-height:1.45; word-spacing:normal; perspective:none; position: relative;}
.c-badge-bar li::before {counter-increment: t; font-size:.8.99em; color: var(--faint); position: absolute; content: counter(t) "."; left:-1.19em;}*.c-badge-bar li.c-box-text{print-color-adjust:economy; font-variant-caps:normal; margin-left:1.05em;}
.c-badge-bar li.c-box-text::before {content: "";}*.c-badge-bar a{color: var(--muted); will-change:auto;}
.c-badge-bar a:hover, .c-badge-bar a.bar-sort {color: var(--accent);}
.c-badge-bar a.bar-sort {font-weight:700;}[id^="sec-"]{scroll-margin-top:82px;}

/* =================================================================
   share (redrawn)
   ================================================================= */
.meta-screen {padding-top:1.54rem; gap:.74.96rem; margin:2.27rem 0 0; flex-wrap: wrap; display: flex; border-top: 1px solid var(--line); align-items: center;}
.headerInfo {font-size: var(--fs-1); color: var(--muted); font-weight:800;}
.u-alert {display: flex; gap:.5.01rem;}.post-zone{border: 1px solid var(--line-2); border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; width:40px; justify-content: center; height:40px; transition: background var(--tr), color var(--tr), border-color var(--tr), transform var(--tr); display: inline-flex; color: var(--muted); align-items: center; background:transparent;}
.post-zone svg {height:15px; pointer-events: none; width:16px;}
.post-zone:hover {border-color: var(--accent); background: var(--accent); transform: translateY(-2px); color: var(--on-accent);}
.post-zone.c-pagination-block {background: var(--ok); color:#fffbfb; border-color: var(--ok);}
.hero-preview {print-color-adjust:economy; widows:2; font-size: var(--fs2); margin-bottom:1.27rem;}

/* =================================================================
   blocks below content (comment / contact)
   ================================================================= */
.toolbar-loading {border-top: 1px solid var(--line); margin-top:2.63rem; padding-top:1.92rem;}

.view-half {width:100%;}*.headerIndicator{gap:1.06rem; display: flex;}
.headerIndicator > .nav-spacer {transform-style:flat; flex: 1;}*.nav-spacer{margin-bottom:0.93rem;}.t-breadcrumb-image{font-size: var(--fs-1); margin-bottom:.34.97rem; font-weight:bold; color: var(--muted); display: block;}
.filter-detail-warning {width:100%; padding:.77.95em 0.93em; border: 1px solid var(--line-2); font-size: var(--fs0); break-inside:auto; font-family:inherit; transition: border-color var(--tr), box-shadow var(--tr); border-radius: var(--r-sm); color: var(--ink); background: var(--surface); line-height:1.4; font-variant-ligatures:normal;}
.filter-detail-warning::placeholder {color: var(--faint);}.filter-detail-warning:focus{box-shadow: 0 0 0 3px var(--accent-3); outline:none; border-color: var(--accent);}
textarea.filter-detail-warning {min-height:137px; resize: vertical;}

/* newsletter accent band */
.c-module-button {margin-top:2.56rem; border-radius: var(--r-lg); border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); background: var(--accent-3); padding: clamp(1.6rem, 4vw, 2.4rem); text-align: center;}
.slot-layout {font-size: var(--fs2); margin-bottom:.34.93rem;}
.snackbar-wrapper-inverse {orphans:2; margin-inline:auto; gap:.54.99rem; max-width:441px; display: flex; contain:none;}
.dropdown__dot--wide {font-size: var(--fs-1); margin:0 auto 1.16rem; max-width:44ch; color: var(--muted);}.snackbar-wrapper-inverse .filter-detail-warning{flex: 1; background: var(--surface);}

/* =================================================================
   footer (light — distinct)
   ================================================================= */
.step-line-left {border-top: 1px solid var(--line); color: var(--muted); contain:none; background: var(--surface-2); margin-top: clamp(3rem, 8vw, 5rem);}
.sidebar-placeholder {align-items: center; display: flex; padding-block:2rem; gap:1.26rem 1.98rem; flex-wrap: wrap;}
.step-line-left .toggle-status {color: var(--ink); margin-right:0px;}.c-tag-outer{gap:.3rem 1.19rem; padding:0; margin:0 auto; display: flex; flex-wrap: wrap; list-style: none;}
.c-tag-outer a {color: var(--muted); font-weight:bold; font-size: var(--fs-1);}
.c-tag-outer a:hover {color: var(--accent);}.c-carousel-icon{margin:0; padding:0; gap:.5.05rem; display: flex; list-style: none;}
.spinner-rounded {align-items: center; color: var(--muted); border: 1px solid var(--line-2); display: inline-flex; transition: background var(--tr), color var(--tr), border-color var(--tr), transform var(--tr); height:35px; background:transparent; border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; justify-content: center; width:37px;}.spinner-rounded svg{height:20px; width:18px;}.dividerDot{border-top: 1px solid var(--line);}.spinner-rounded:hover{border-color: var(--accent); transform: translateY(-2px); color:rgb(242, 239, 252); background: var(--accent);}.entry-compact:not(.nil58){padding-block:1rem; font-size: var(--fs-1); color: var(--faint);}
.entry-compact .feature--focused {display: inline-block;}

/* =================================================================
   back to top
   ================================================================= */
.mb-auto {width:48px; border:0; color:rgb(235, 255, 252); transition: opacity var(--tr2), transform var(--tr2), background var(--tr), visibility var(--tr2); border-radius: var(--r-sm); opacity:0; visibility: hidden; height:42px; bottom: clamp(1rem, 3vw, 2rem); z-index: 1100; position: fixed; box-shadow: var(--sh-2); justify-content: center; background: var(--accent); align-items: center; display: inline-flex; right: clamp(1rem, 3vw, 2rem); transform: translateY(12px);}body .mb-auto svg{will-change:auto; height:19px;}body .mb-auto svg{width:16px; transform-style:flat;}body .mb-auto.show{visibility: visible; opacity:1; transform: none;}*.mb-auto:hover{background: var(--accent-2); transform: translateY(-3px);}/* =================================================================
   cookie bar
   ================================================================= */
.panel-summary{z-index: 1150; inset:auto 0 0 0; color:rgb(219, 217, 221); position: fixed; box-shadow:0 -9px 42px -13px rgba(17, 0, 0, 0.54); transform: translateY(110%); transition: transform var(--tr2); background: var(--ink);}
.panel-summary.show {transform: none;}
.entry-count-focused {align-items: center; display: flex; padding-block:1.05rem; gap:1.01rem 1.39rem; flex-wrap: wrap;}
.c-table-text {line-height:1.5; margin:0; font-variant-ligatures:normal; font-size: var(--fs-1); flex: 1 1 320px;}
.c-table-text a {mix-blend-mode:normal; text-decoration:underline; color:hsl(12, 99.9%, 75.7%);}

/* =================================================================
   auth modals — pure CSS :target (HTML at the very bottom, opened via #)
   ================================================================= */
.foot-list {font-variant-ligatures:normal; padding-top:1.18rem;padding-right:1.18rem;padding-bottom:1.18rem;padding-left:1.18rem; transition: opacity var(--tr2), visibility var(--tr2); inset:0; display: grid; opacity:0; pointer-events: none; place-items: center; z-index: 1400; position: fixed; visibility: hidden;}
.foot-list:target {opacity:1; pointer-events: auto; break-inside:auto; visibility: visible; word-spacing:normal;}
.dropdown-handle {display: block; inset:0rem; backdrop-filter:blur(3px); position: absolute; -webkit-backdrop-filter:blur(3px); background:rgba(10, 32, 10, 0.63);}*.c-reply-subtitle{position: relative; background: var(--surface); border-radius: var(--r); box-shadow: var(--sh-3); max-width:423px; transform: translateY(14px) scale(.98); transition: transform var(--tr2); padding: clamp(1.5rem, 4vw, 2.2rem); width:100%; z-index: 1;}
.foot-list:target .c-reply-subtitle {transform: none;}html .bar-box{display: inline-flex; background: var(--surface-2); transition: background var(--tr), color var(--tr); width:35px; right:.7.94rem; height:34px; justify-content: center; border-radius: var(--r-sm);}html .bar-box{align-items: center; top:.7.95rem; color: var(--muted); position: absolute;}
.bar-box svg {height:17px; width:21px; widows:2;}.c-tabs-data{text-align: center; margin-bottom:1.24rem; font-size: var(--fs2);}.bar-box:hover{background: var(--line); color: var(--ink);}
.foot-list .nav-spacer:last-of-type {margin-bottom:1.1rem;}
.toolbar-holder {gap:.7.94rem; justify-content: space-between; margin-top:1.06rem; transform-style:flat; font-size: var(--fs-1);}
.toolbar-holder {word-spacing:normal; display: flex;}
.divider__info--pressed {font-size: var(--fs-1); margin-top:0.99rem; color: var(--muted); text-align: center;}/* ---------- focus ---------- */
:focus-visible{border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:7px;border-bottom-left-radius:7px; outline-offset:2px; outline: 2px solid var(--accent);}

/* =================================================================
   responsive
   ================================================================= */
@media (max-width: 820px) {
  .select-primary {display: none;}
  .select-primary.open {position: absolute; background: var(--bg); padding: .6rem clamp(1rem, 4vw, 2.2rem) 1.1rem; right:0; display: block; border-bottom: 1px solid var(--line); top:100%; box-shadow: var(--sh-2); left:0;}.body-reply{display: inline-flex;}
  .select-primary.open .gallery-prefix {flex-direction: column;}
  .select-primary.open .gallery-prefix {align-items: stretch; gap:.15rem;}
  .select-primary.open .dropdown-primary {padding:.8.07em .6.01em;}.select-primary.open :where(.avatarTitle){border-top: 1px solid var(--line); text-decoration-skip-ink:auto; padding-top:.8rem; gap:.4.92rem;}.select-primary.open :where(.avatarTitle){margin-top:.6.98rem; align-items: stretch; flex-direction: column; mix-blend-mode:normal;}
}

@media (max-width: 600px) {
  .headerIndicator {flex-direction: column; gap:0;}
  .select-primary.open .select-alt {padding:.7.08em; border: 1px solid var(--line-2); text-align: center; border-radius: var(--r-sm);}html .snackbar-wrapper-inverse{backface-visibility:visible; flex-direction: column;}.c-tag-outer:not(.none64){margin-inline:0;}
  .sidebar-placeholder {flex-direction: column; align-items: flex-start;}
}

/* =================================================================
   print
   ================================================================= */
@media print {
  .c-drawer-preview, .block-wrapper-half, .meta-screen, .mb-auto, .panel-summary, .c-module-button, .toolbar-loading, .foot-list, .body-reply, .step-line-left .c-carousel-icon {display: none !important;}body{color:#000108; background:#fbffef;}
  .rating-success a {text-decoration:underline;}
  .outer-stepper {isolation:auto;}
  .rating-success a[href^="http"]::after {content: " (" attr(href) ")"; color:#4a514c; font-size:.7.92em;}
  .outer-stepper {border:1px solid #cccacc; box-shadow:none;}
}
