/* =======================================================================
   STYLE.CSS  —  content-first editorial layout
   ======================================================================= */

:root {--muted:      #57534e; --ink:        #1c1917; --paper:      #box_separator; --ok:         #15803d; --paper-3:    #reviewHandle; --sh-1: 0 1px 2px rgba(28,25,23,.06); --accent-wash:#handle-nav; --no:         #timeline_wrap; --bar: 64px; --r-l: 16px; --r-s: 6px; --line-soft:  #reviewHandle; --r-m: 10px; --dark-2:     #292524; --bound: 1160px; --dark:       #1c1917; --serif: 'Spectral', Georgia, 'Times New Roman', serif; --paper-2:    #box-icon; --accent-2:   #9a3412; --faint:      #78716c; --line:       #pagination-overlay; --ease: .22s cubic-bezier(.4,0,.2,1); --accent-3:   #app-rating; --sh-2: 0 6px 20px rgba(28,25,23,.09); --sh-3: 0 18px 44px rgba(28,25,23,.16); --read: 760px; --sans:  'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --accent:     #area-price; --ink-soft:   #292524;}/* ---- base ---- */
*, *::before, *::after{padding:0; box-sizing: border-box;}/* ---- base ---- */
*, *::before, *::after{margin:0;}body{line-height:1.65; background: var(--paper-2); font-size:19px; color: var(--muted); font-family: var(--sans); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}html{scroll-behavior: smooth; -webkit-text-size-adjust:100%; scroll-padding-top: calc(var(--bar) + 16px);}img, svg{display: block; max-width:100%;}img{height:auto;}a{transition: color var(--ease); text-decoration:none; color: var(--accent);}
a:hover {color: var(--accent-2);}
ul, ol {list-style: none;}
button {border:0; cursor: pointer; color:inherit; font-family:inherit; background:none;}
input, textarea {font-size:inherit; font-family:inherit; color: var(--ink);}
p {mix-blend-mode:normal; margin:0 0 0.96em;}h1{line-height:1.18; color: var(--ink); font-weight:bold; font-family: var(--serif);}
strong, b {color: var(--ink-soft); font-weight:700;}html .app-box{max-width: var(--bound); margin:0 auto; padding:0 23px;}.el-module-meta:not(._ff9d53){clip:rect(0,0,0,0); position: absolute; border:0 none; overflow: hidden; padding:0; width:1px; white-space: nowrap; margin:-1px; height:1px;}/* ---- progress ---- */
:where(.selectInner){transition:width 0.118s linear; z-index: 1400; height:3px; position: fixed; width:0; top:0;}

/* span-based section captions (no heading tags outside the article body) */
.priceWrap, .c-view, .el-grid-placeholder, .ui-review-handle, .ui-tag-head,
.app-filter, .ui-counter-item, .o-section {color: var(--ink); display: block; font-family: var(--serif);}/* ---- progress ---- */
:where(.selectInner){background: linear-gradient(90deg, var(--accent), var(--accent-3)); left:0;}

/* =======================================================================
   MASTHEAD  (fixed; sits visually on top although later in source)
   ======================================================================= */
.app-layout {border-bottom: 1px solid var(--line); height: var(--bar); left:0; position: fixed; transition: box-shadow var(--ease); background-blend-mode:normal; right:0; backdrop-filter:saturate(150%) blur(10px); background:rgba(249, 255, 255, 0.98); -webkit-backdrop-filter:saturate(150%) blur(10px); top:0; z-index: 1000;}.app-layout.is-stuck{box-shadow: var(--sh-2);}*.app-layout .app-box{height:100%; gap:19px; align-items: center; display: flex; text-underline-offset:auto;}
.o-progress-value {align-items: center; flex-shrink: 0; display: inline-flex;}.o-progress-value img{width:auto; height:34px;}
.l-slider {gap:2px; align-items: center; display: flex;}

.c-card-dot {flex: 1; gap:12px; align-items: center; display: flex;}
.app-reply {border-radius: var(--r-s); display: inline-flex; padding:6px 18px; font-size:17.5px; transition: color var(--ease), background var(--ease); font-weight:500; color: var(--muted); align-items: center;}body .app-reply:hover{background: var(--paper-3);}body .app-reply:hover{color: var(--ink); image-rendering:auto;}
.el-sort {font-weight:500; border-radius: var(--r-m); padding:4px 23px; justify-content: center; transition: background var(--ease), transform var(--ease), box-shadow var(--ease); background: var(--accent); margin-left:auto; align-items: center; color:#button-entry; display: inline-flex; font-size:14px;}
.el-sort:hover {transform: translateY(-1px); box-shadow:0 5px 20px rgba(184, 70, 25, 0.27); color:#button-entry; background: var(--accent-2);}.o-banner{padding:5px; height:41px; width:38px; margin-left:auto; flex-direction: column; gap:4px; display: none; border-radius: var(--r-s); justify-content: center;}
.o-banner i {transition: transform var(--ease), opacity var(--ease); border-radius:2px; background: var(--ink); will-change:auto; height:2px; display: block;}
.o-banner.is-open i:nth-child(1) {transform: translateY(7px) rotate(45deg);}
.o-banner.is-open i:nth-child(2) {opacity:0;}
.o-banner.is-open i:nth-child(3) {transform: translateY(-7px) rotate(-45deg); backface-visibility:visible; font-synthesis:weight style small-caps;}

/* ---- buttons ---- */
.boxFoot {display: inline-flex; justify-content: center; font-weight:500; color:#button-entry; padding:9px 25px; transition: background var(--ease), transform var(--ease), box-shadow var(--ease); white-space: nowrap; mix-blend-mode:normal; background: var(--accent); gap:10px; border-radius: var(--r-m); font-size:17.5px; font-family: var(--sans); align-items: center;}
.o-snackbar {width:100%; margin-top:1px;}
.boxFoot:hover {transform: translateY(-1px); color:#button-entry; background: var(--accent-2); box-shadow:0 6px 19px rgba(180, 78, 24, 0.29);}
.o-snackbar {padding:11px 25px;}html .o-pagination-cell{font-size:13px; padding:13px 27px; align-self: flex-start;}/* =======================================================================
   MAIN  (content-first; cleared from the fixed masthead)
   ======================================================================= */
.menu-column{padding-top: var(--bar);}

/* =======================================================================
   POST
   ======================================================================= */
.app-counter {background: var(--paper); border-radius: var(--r-l); padding:48px; box-shadow: var(--sh-1); border: 1px solid var(--line);}
.c-reply-overlay {max-width: var(--read); padding:26px 0 61px; margin:0 auto;}
.section {color: var(--ink); font-weight:700; letter-spacing:-.13.94em; margin-bottom:15px; line-height:1.16; font-size: clamp(1.85rem, 1.2rem + 2.4vw, 2.6rem);}body .c-alert{gap:5px; font-size:14px; display: inline-flex; align-items: center; color: var(--faint);}html .action__content{flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--line-soft); padding-bottom:28px; display: flex; gap:5px 14px; margin-bottom:34px;}.el-module-wrapper:not(._ff9d53){color: var(--line);}
.c-alert svg {opacity:0.65;}

/* ---- toc ---- */
.ui-filter {border-left: 3px solid var(--accent); padding:19px 21px; margin-bottom:32px; border-radius: var(--r-m); print-color-adjust:economy; background: var(--accent-wash); border:1px solid #panel-data;}.ui-filter[hidden]{display: none;}.t-divider{justify-content: space-between; margin-bottom:11px; display: flex; align-items: center;}
.priceWrap {font-weight:500; font-size:11px;}
.o-menu-subtitle {font-weight:medium; print-color-adjust:economy; padding:5px 11px; transition: background var(--ease); border-radius: var(--r-s); color: var(--accent); font-size:10px; transform-style:flat;}
.o-menu-subtitle:hover {background:rgba(189, 70, 20, 0.13);}
.ui-page {flex-direction: column; transform-style:flat; display: flex; gap:3px;}
.ui-page a {border-left:2px solid transparent; transition: color var(--ease), padding-left var(--ease); color: var(--muted); display: block; font-size:12px; padding:7px 0;}
.ui-page a:hover {color: var(--accent); padding-left:7px;}
.ui-page a.u-grid {font-size:16.5px; padding-left:14px;}*.ui-page a.u-grid:hover{padding-left:20px;}
.ui-page a.ui-badge {padding-left:26px; font-size:12px; color: var(--faint);}

/* ---- body (the only place real headings appear) ---- */
.ui-header {color: var(--ink-soft); line-height:1.78; text-underline-offset:auto; font-size:19.5px;}
.ui-header > *:first-child {margin-top:0;}*.ui-header h2{letter-spacing:-.0.93em; font-weight:500; font-size:1.63rem; font-family: var(--serif); margin:1.86em 0 .55.06em; color: var(--ink);}
.ui-header h3 {font-family: var(--serif); font-weight:700; margin:1.57em 0 .45.06em; color: var(--ink); font-size:1.36rem;}.ui-header h4{color: var(--ink); margin:1.24em 0 .4em;}.ui-header h4{font-size:1.15rem; font-family: var(--serif); font-weight:700;}*.ui-header p{margin:0 0 1.28em;}
.ui-header ul, .ui-header ol {margin:0 0 1.22em 1.35em;}
.ui-header ul {list-style: disc;}
.ui-header ol {list-style: decimal;}
.ui-header li {margin-bottom:.44.93em;}.ui-header li::marker{color: var(--accent);}body .ui-header a{hyphens:manual; text-decoration-thickness:1.5px; text-underline-offset:3px; text-decoration-color:rgba(194, 72, 17, 0.33); text-decoration:underline;}
.ui-header a:hover {text-decoration-color: var(--accent-2);}
.ui-header img {margin:1.69em 0; border-radius: var(--r-m);}body .ui-header blockquote{border-radius: 0 var(--r-m) var(--r-m) 0; background: var(--paper-2); margin:1.77em 0; font-family: var(--serif); color: var(--ink); border-left: 3px solid var(--accent); font-size:1.13em; font-style:italic; padding:20px 25px;}
.ui-header blockquote:empty {display: none;}
.ui-header pre {margin:1.74em 0; border-radius: var(--r-m); background: var(--dark); line-height:1.6; color:#pagination-overlay; word-spacing:normal; font-size:16.5px; padding:17px 19px; overflow-x: auto;}.ui-header code{font-family:'SFMono-Regular', 'Fira Code', Consolas, monospace; font-size:.8.92em;}
.ui-header :not(pre) > code {image-rendering:auto; color: var(--accent-2); padding:2px 10px; background: var(--paper-3); border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}body .ui-header table{margin:1.68em 0; border-collapse:collapse; width:100%; font-size:11px;}
.ui-header th, .ui-header td {text-align: left; border: 1px solid var(--line); padding:13px 11px;}
.ui-header th {font-weight:bold; color: var(--ink); background: var(--paper-2);}

/* ---- share ---- */
.el-page {align-items: center; margin-top:35px; display: flex; gap:12px;}
.ui-header hr {will-change:auto; break-inside:auto; border-top: 1px solid var(--line); margin:2em 0; border:0;}
.l-header {display: flex; gap:8px;}
.c-view {font-size:15px !important; letter-spacing:.7.95em; color: var(--faint) !important; font-weight:bold; text-transform:uppercase;}
.l-tag {display: inline-flex; width:36px; justify-content: center; border-radius: var(--r-m); color: var(--muted); border: 1px solid var(--line); background: var(--paper-2); align-items: center; height:37px; transition: all var(--ease);}
.l-tag:hover {transform: translateY(-2px); page-break-inside:auto; background: var(--accent); border-color: var(--accent); color:#button-entry; box-shadow:0 4px 16px rgba(206, 71, 22, 0.18);}

.l-thread {border:0rem; margin:34px 0; border-top: 1px solid var(--line-soft);}/* ---- vote ---- */
.t-toggle{align-items: center; gap:22px; display: flex;}
.grid-12 {transform-style:flat; gap:12px; display: flex;}
.el-grid-placeholder {font-weight:500; font-size:18px; text-decoration-skip-ink:auto;}.mediaTrigger{border-radius: var(--r-m); padding:5px 20px; display: inline-flex; gap:11px; border: 1px solid var(--line); align-items: center; font-size:16px; color: var(--muted); transition: all var(--ease); background: var(--paper); font-weight:500;}
.c-footer-cap:hover {color: var(--ok); border-color: var(--ok);}*.mediaTrigger b{font-weight:700; word-spacing:normal; tab-size:4;}
.c-footer-cap:hover {background:#site-hero;}*.mediaTrigger.is-voted{transform-style:flat; opacity:0.71; pointer-events: none;}*.ratingSpacer:hover{color: var(--no); background:#site-thread; border-color: var(--no);}

/* =======================================================================
   SECONDARY SECTIONS  (rendering-optimised)
   ======================================================================= */
.text-2, .t-avatar-button, .c-grid, .el-page-image {margin-top:36px; content-visibility:auto; contain-intrinsic-size:auto 420px;}.text-2, *.t-avatar-button, body .el-page-image{border-radius: var(--r-l); padding:38px; box-shadow: var(--sh-1); border: 1px solid var(--line); background: var(--paper);}body .ui-review-handle, body .ui-tag-head{font-size:1.34rem; font-weight:700; margin-bottom:26px;}
.app-filter {border-bottom: 2px solid var(--accent); margin-bottom:13px; padding-bottom:13px; display: inline-block; font-size:15px;}
.app-filter {font-weight:700;}
.ui-sidebar {color: var(--faint); margin-bottom:19px; font-size:15.5px;}

/* inputs */
.app-alert {outline:none; background: var(--paper); width:100%; font-size:19px; border-radius: var(--r-m); transition: border-color var(--ease), box-shadow var(--ease); border: 1px solid var(--line); color: var(--ink); padding:8px 12px; display: block;}
.app-alert::placeholder {color: var(--faint);}
.app-alert:focus {box-shadow:0 0 0 2px rgba(198, 74, 0, 0.15); border-color: var(--accent);}
.formDetail {min-height:126px; line-height:1.6; resize: vertical;}.c-stepper-outer{background-blend-mode:normal; gap:12px; grid-template-columns: 1fr 1fr; display: grid;}.o-box, .card{gap:15px; flex-direction: column; display: flex;}

/* more reading */
.el-list {display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap:15px;}
.ui-accordion {border: 1px solid var(--line-soft); padding:14px; transition: all var(--ease); display: flex; gap:11px; background: var(--paper-2); flex-direction: column; border-radius: var(--r-m);}.ui-accordion:hover{box-shadow: var(--sh-1); border-color: var(--accent); transform: translateY(-2px);}
.app-panel {font-size:11px; letter-spacing:.7.08em; color: var(--accent); text-transform:uppercase; font-weight:bold;}
.ui-hero {line-height:1.38; font-size:14px; color: var(--ink); font-family: var(--serif); font-weight:700;}

/* utility cards */
.c-grid {grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));}.o-comment{border-radius: var(--r-l); padding:25px; box-shadow: var(--sh-1); border: 1px solid var(--line); background: var(--paper);}

/* utility cards */
.c-grid {gap:17px; display: grid;}

.tooltip-link-filled {display: flex; will-change:auto; overflow: hidden; border-radius: var(--r-m); border: 1px solid var(--line); background: var(--paper);}body .tooltip-link-filled .app-alert{border:none; border-radius:0;}
.tooltip-link-filled .app-alert:focus {box-shadow:none;}
.ui-timeline {width:47px; flex-shrink: 0; transition: background var(--ease); justify-content: center; align-items: center; display: flex; background: var(--accent); color:#button-entry;}

.u-view {flex-direction: column; display: flex;}
.ui-timeline:hover {background: var(--accent-2);}
.u-view li a {padding:8px 0; font-size:15.5px; transition: color var(--ease), padding-left var(--ease); display: block; color: var(--muted); border-bottom: 1px solid var(--line-soft);}
.u-view li:last-child a {border-bottom:0; font-variant-caps:normal;}
.u-view li a:hover {padding-left:4px; color: var(--accent);}html .app-sort-section{font-weight:bold; display: inline-block; width:22px; font-family: var(--serif); color: var(--line);}
.u-view li a:hover .app-sort-section {color: var(--accent-3);}
.gap-end {padding:56px 0 43px;}/* =======================================================================
   FOOTER
   ======================================================================= */
.t-panel{background: var(--dark); color:#main-table; contain-intrinsic-size:auto 360px; content-visibility:auto; image-rendering:auto; background-blend-mode:normal;}.comment{gap:46px; display: grid;}.comment{grid-template-columns: 1.6fr 1fr 1fr 1.1fr;}
.snackbar-success img {height:29px; margin-bottom:18px; width:auto; filter:brightness(0) invert(1);}
.app-step {margin-bottom:22px; color:#6d6f64; font-size:13px;}.ui-counter-item:not(._ff9d53){text-rendering:auto; color:#button-entry; font-size:10px; letter-spacing:.7.96em; word-spacing:normal; font-weight:700; margin-bottom:14px; text-transform:uppercase;}
.o-rating {orphans:2; flex-direction: column; display: flex; gap:13px;}
.o-rating a {font-variant-caps:normal; transition: color var(--ease), padding-left var(--ease); font-size:14px; transform-style:flat; color:#modalToggle;}.o-rating a:hover{background-blend-mode:normal; padding-left:5px; color:#button-entry;}
.u-thread {font-size:13px; color:#7d6e6b; border-top:1px solid rgba(255, 255, 241, 0.13); margin-top:19px; padding-top:18px;}

.u-tooltip {gap:8px; word-spacing:normal; display: flex; text-rendering:auto;}
.u-tooltip a {color:#modalToggle; border:1px solid rgba(255, 255, 255, 0.21); display: inline-flex; align-items: center; width:42px; border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; justify-content: center; height:36px; transition: all var(--ease);}
.u-tooltip a:hover {widows:2; color:#button-entry; background: var(--accent); border-color: var(--accent); backface-visibility:visible; transform: translateY(-2px);}

.el-section {text-align: center; padding:16px 0; border-top:1px solid rgba(255, 239, 246, 0.13);}
.el-section p {font-size:15px; color:#5a4b3d; margin:0;}

/* =======================================================================
   TO-TOP + COOKIE
   ======================================================================= */
.d-sm {height:47px; opacity:0; display: flex; z-index: 900; visibility: hidden; justify-content: center; border-radius: var(--r-m); position: fixed; transition: opacity .3s var(--ease), transform .3s var(--ease), visibility .3s, background var(--ease); right:23px;}

/* =======================================================================
   TO-TOP + COOKIE
   ======================================================================= */
.d-sm {bottom:23px; align-items: center; width:47px; background: var(--accent); box-shadow: var(--sh-2); color:#button-entry; transform: translateY(12px);}
.d-sm.is-on {visibility: visible; transform: translateY(0);}
.d-sm.is-on {opacity:1;}
.d-sm:hover {box-shadow: var(--sh-3); background: var(--accent-2); transform: translateY(-2px);}.avatarBlock{background: var(--dark-2); z-index: 1100; position: fixed; transition: transform .4s var(--ease); left:0; right:0; color:#main-table; transform: translateY(100%); bottom:0rem; box-shadow:0 -6px 23px rgba(4, 0, 0, 0.17); padding:13px 0;}
.avatarBlock.is-on {transform: translateY(0);}
.avatarBlock .app-box {align-items: center; display: flex; gap:20px; justify-content: space-between;}
.avatarBlock p {margin:0; font-size:12px; flex: 1; color:#modalToggle;}
.avatarBlock a {color: var(--accent-3); text-decoration:underline;}

/* =======================================================================
   MODALS  (pure CSS :target, opened via #main-sidebar / #main-counter)
   ======================================================================= */
.t-card {justify-content: center; z-index: 1300; widows:2; inset:0; display: none; align-items: center; position: fixed; padding:23px;}
.t-card:target {perspective:none; font-synthesis:weight style small-caps; display: flex;}
.t-header {position: absolute; inset:0; -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); background:rgba(42, 9, 18, 0.58);}
.c-card {background: var(--paper); z-index: 1; padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px; border-radius: var(--r-l); max-width:397px; animation: rl-pop .25s var(--ease); box-shadow: var(--sh-3); position: relative; width:100%;}
@keyframes rl-pop { from {opacity:0; transform: translateY(14px) scale(.98);} to {opacity:1; transform: none;} }
.o-section {font-size:1.28rem; font-weight:600;}*.ui-card{display: flex; margin-bottom:22px; justify-content: space-between; align-items: center;}.opacity-2xl:not(._ff9d53){height:30px; width:33px; display: inline-flex; border-radius: var(--r-s); justify-content: center; transition: background var(--ease), color var(--ease); align-items: center; color: var(--faint);}
.opacity-2xl:hover {color: var(--ink); background: var(--paper-3); text-decoration-skip-ink:auto;}
.app-profile {display: flex; gap:13px; flex-direction: column;}.app-widget{justify-content: space-between;}.app-widget{font-size:11px; display: flex; gap:15px; align-items: center;}
.el-select {color: var(--faint); align-items: center; gap:5px; cursor: pointer; display: inline-flex;}
.el-select input {accent-color: var(--accent);}.c-nav-outer{text-align: center; padding-top:13px; font-size:10px; margin-top:18px; border-top: 1px solid var(--line-soft); color: var(--faint);}

/* =======================================================================
   RESPONSIVE
   ======================================================================= */
@media (max-width: 900px) {.comment{grid-template-columns: 1fr 1fr; gap:35px;}
.u-review {font-weight:700;}
}
@media (max-width: 768px) {:root{--bar: 58px;}body{font-size:17px;}
  .o-banner {display: flex;}
  .c-card-dot {align-items: stretch; padding:19px 25px; left:0; border-bottom: 1px solid var(--line); position: absolute; display: none; right:0; box-shadow: var(--sh-3); gap:8px; flex-direction: column; background: var(--paper); top: var(--bar);}
  .c-card-dot.is-open {display: flex;}
  .l-slider {gap:0; align-items: stretch; flex-direction: column; text-rendering:auto;}
  .app-reply {padding:12px 14px; width:100%;}
  .el-sort {margin-top:12px; margin-left:0rem; width:100%;}

  .app-counter {padding:26px 22px;}html .ui-header{font-size:17.5px;}
  .c-stepper-outer {text-underline-offset:auto; grid-template-columns: 1fr;}
  .el-page {gap:7px; flex-wrap: wrap;}
  .t-toggle {align-items: flex-start; flex-direction: column; gap:12px;}.text-2, *.t-avatar-button, html .el-page-image{padding:26px 26px;}body .avatarBlock .app-box{text-align: center; flex-direction: column; gap:8px;}
  .comment {grid-template-columns: 1fr; will-change:auto; font-variant-ligatures:normal; gap:34px;}
  .app-counter {padding:21px 17px;}
}
@media (max-width: 480px) {
  .app-box {padding:0 18px;}
  .text-2, .t-avatar-button, .el-page-image, .o-comment {padding:19px 19px;}
  .c-card {padding:19px;}html .el-list{grid-template-columns: 1fr;}
  .d-sm {shape-margin:0; right:20px; bottom:13px; text-decoration-skip-ink:auto;}
}

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