/* ============================================================
   1017_new_v1 — stylesheet
   ============================================================ */

:root {--on-night: rgba(255, 255, 255, 0.6); --acc-d: #0f766e; --acc-l: #2bb3a3; --night-2: #1d2c28; --bg: #f4f6f6; --dim: #79868c; --edge: #e5e9e9; --edge-2: #eef1f1; --max: 70rem; --display: "Sora", system-ui, sans-serif; --sh: 0 1px 2px rgba(20, 32, 29, 0.04), 0 6px 24px rgba(20, 32, 29, 0.06); --read: 45rem; --rad-s: 8px; --text: #46535a; --night: #14201d; --card: #ffffff; --sh-l: 0 16px 50px rgba(20, 32, 29, 0.18); --band: 62rem; --bg-2: #fafbfb; --acc: #0d9488; --text-font: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; --rad: 12px; --tint: rgba(13, 148, 136, 0.08); --ink: #16221f;}

*, *::before, *::after {padding:0; text-decoration-skip-ink:auto; box-sizing: border-box; margin:0;}

html {scroll-behavior: smooth; -webkit-text-size-adjust:100%;}

html {font-size:111.1%;}body{-webkit-font-smoothing:antialiased; color: var(--text); font-family: var(--text-font); line-height:1.72; font-size:1.04rem; background: var(--bg); print-color-adjust:economy; -moz-osx-font-smoothing:grayscale;}

img, svg {display: block; max-width:100%;}ul, ol{list-style: none;}a{color: var(--acc); text-decoration:none;}a:hover{color: var(--acc-d);}
@media (min-width: 960px) {
  .stepper-close:hover {opacity:1; position:relative; overflow:visible; border-radius:0; display:inline-flex}
  .divider-item.carousel-center {margin-bottom:0; align-items:center; min-width:0; text-decoration:none}
  .carousel-label::before {content:''; transition:opacity 0.15s; gap:10px; box-shadow:0 8px 9px rgba(0,0,0,0.50); height:5px; border-radius:50%}
  .hero--vertical {border-radius:3px; min-height:16px; height:auto}
}


button {shape-margin:0; cursor: pointer; font-family:inherit;}:focus-visible{border-top-left-radius:1px;border-top-right-radius:1px;border-bottom-right-radius:1px;border-bottom-left-radius:1px; perspective:none; shape-margin:0; outline: 2px solid var(--acc); outline-offset:2px;}
h1 {font-family: var(--display); font-weight:700; line-height:1.18; letter-spacing:-0.015em; color: var(--ink);}.o-toggle{border:none; clip:rect(0, 0, 0, 0); padding:0; margin:-1px; overflow: hidden; white-space: nowrap; width:1px; position: absolute; height:1px;}

/* span headings (no h2/h3 anywhere but article content) */
.spinner__trigger, .page__zone, .snackbar__overlay--vertical, .pagination--empty, .timeline__label {font-family: var(--display); color: var(--ink); font-weight:bold; letter-spacing:-0.01em; display: block;}
#badge-preview {padding-right:1.25rem; padding-bottom:30px; text-decoration:none; height:auto; margin-bottom:0; opacity:1}

.spinner__trigger {margin-bottom:1.12rem; font-size:1.38rem;}
.page__zone {font-size:1.01rem; margin-bottom:0.22rem;}.snackbar__overlay--vertical{font-size:1.32rem; margin-bottom:1.21rem;}

/* ---------- topbar ---------- */
.module__preview {border-bottom: 1px solid var(--edge); z-index: 1000; position: sticky; top:0; background:rgba(243, 255, 255, 0.92); backdrop-filter:saturate(150%) blur(8px);}

/* ---------- scroll progress ---------- */
.avatar--danger {z-index: 1200; position: fixed; height:0px; top:0; transition:width 0.128s linear; background: var(--acc); left:0; width:0;}
.comment {min-height:3.9rem; margin-inline:auto; justify-content: space-between; max-width: var(--max); padding:0 1.2rem; width:100%; display: flex; align-items: center; gap:0.93rem;}
.page {display: inline-flex; align-items: center;}
.page img {width:auto; height:26px;}
.divider-item.carousel-center {font-size:38px; margin:0 auto; transition:color 0.5s; background:transparent; border-radius:50%}

#avatar-icon {transition:color 0.45s; display:inline-flex}


.breadcrumb {padding:0.43rem; display: none; flex-direction: column; gap:8px; border:0 none; background:none;}
.breadcrumb span {width:22px; display: block; height:2px; background: var(--ink); border-radius:2px;}

.sidebarTrack {display: flex; gap:1.8rem; align-items: center;}
.page--pressed {display: flex; gap:1.48rem;}
.page--pressed a, .sidebar__group {font-size:0.83rem; letter-spacing:0.03em; color: var(--text); font-weight:600; text-transform:uppercase;}.page--pressed a:hover, html .sidebar__group:hover{color: var(--acc);}
.grid-backdrop-sticky {align-items: center; display: flex; gap:1.03rem;}
.sidebar--compact {transition:background 0.184s; border-radius: var(--rad-s); text-transform:uppercase; font-size:0.8rem; color:#fdffff; letter-spacing:0.03em; background: var(--acc); font-weight:bold; padding:0.53rem 1.08rem;}
.sidebar--compact:hover {color:hsl(323, 100%, 96.7%); background: var(--acc-d);}/* ---------- flow / shell ---------- */
.reply__separator--horizontal:not(.placeholder65){padding-bottom:4rem; isolation:auto;}
.banner-tertiary + .dialog-expand {position:relative; cursor:pointer; gap:4px; transition:color 0.35s; width:100%}
/* ---------- post ---------- */
:where(.drawer__addon){overflow: hidden; max-width: var(--read); background: var(--card); border-radius: var(--rad); margin:1.57rem auto 0; box-shadow: var(--sh); border: 1px solid var(--edge);}
.ui-thread {padding:2.39rem 2.52rem 1.38rem;}
.slider__input--left {margin-bottom:0.84rem; font-size: clamp(1.7rem, 1.2rem + 2.3vw, 2.5rem);}.popover--pressed:not(.unused92){align-items: center; font-size:0.88rem; gap:0.49rem 1.18rem; display: flex; color: var(--dim); flex-wrap: wrap;}
.carousel-label::before {content:''; border:1px solid #404761; min-height:100vh; background:transparent; width:auto}

.tag--fluid {display: inline-flex; font-variant-ligatures:normal; align-items: center; gap:0.38rem;}
.u-modal {font-style:italic;}body .tag--fluid svg{opacity:0.63; flex-shrink: 0;}

/* toc */
.screen__count--primary {padding:0 2.63rem;}
.skeleton__secondary {padding:1.06rem 1.22rem; border-radius: var(--rad-s);}
.reply-bar {transition:opacity 0.35s; max-width:100%; flex:none; position:relative; padding-top:2.5rem; margin-bottom:0}

.skeleton__secondary {background: var(--bg-2); border: 1px solid var(--edge);}
.dialog__area--highlight {display: flex; align-items: center; justify-content: space-between;}
.pagination--empty {font-size:0.87rem; margin:0;}html .select__foot{transition:transform 0.263s, color 0.2s; display: inline-flex; border:0; color: var(--dim); padding:0.28rem; background:none;}
.select__foot:hover {color: var(--acc);}.is-shut.skeleton__secondary .select__foot{transform: rotate(-90deg);}
.skeleton__secondary.is-shut .stepper__number--vertical {display: none; font-variant-ligatures:normal;}.stepper__number--vertical{line-height:1.9; margin-top:0.73rem;}.stepper__number--vertical{font-size:0.86rem; border-top: 1px solid var(--edge); padding-top:0.62rem;}.stepper__number--vertical a{display: block; color: var(--text);}
.stepper__number--vertical a:hover {color: var(--acc);}
.stepper__number--vertical .chip--filled {font-size:0.88rem; padding-left:1.09rem;}/* rich content */
.footer__zone--active{padding:1.57rem 2.57rem 0.24rem;}.reply__region--narrow{line-height:1.8; font-size:1rem; color: var(--text);}
.reply__region--narrow > * + * {margin-top:1.19rem;}
.reply__region--narrow h2 {border-top: 1px solid var(--edge-2); margin-top:2.37rem; padding-top:1.24rem; line-height:1.3; scroll-margin-top:5rem; font-family: var(--display); color: var(--ink); font-size:1.51rem;}
.reply__region--narrow h3 {scroll-margin-top:5rem; font-size:1.24rem; color: var(--ink); font-family: var(--display); margin-top:1.69rem;}.reply__region--narrow h4{margin-top:1.32rem; font-size:1.03rem; color: var(--ink); font-family: var(--display);}
.reply__region--narrow a {text-underline-offset:2px; text-decoration-thickness:1px; hyphens:manual; text-decoration:underline;}
.reply__region--narrow strong, .reply__region--narrow b {color: var(--ink); text-decoration-skip-ink:auto; font-weight:bold;}.reply__region--narrow ul, .reply__region--narrow ol{margin-left:1.23rem;}
.reply__region--narrow ul {list-style: disc;}body .reply__region--narrow ol{list-style: decimal;}
.reply__region--narrow li {margin-top:0.43rem; padding-left:0.38rem;}
.reply__region--narrow img {border-radius: var(--rad-s); margin:1.54rem 0;}
.reply__region--narrow blockquote {border-radius: 0 var(--rad-s) var(--rad-s) 0; color: var(--ink); padding:0.81rem 1.33rem; border-left: 3px solid var(--acc); background: var(--tint); font-style:italic;}*.reply__region--narrow code{padding-top:0.14em;padding-right:0.37em;padding-bottom:0.14em;padding-left:0.37em; border-radius:9px; border: 1px solid var(--edge); background: var(--bg-2); font-family:ui-monospace, "SF Mono", "Courier New", monospace; font-size:0.91em;}.reply__region--narrow pre{font-size:0.81rem; overflow-x: auto; line-height:1.7; border-radius: var(--rad-s); background: var(--night); padding:1.03rem 1.33rem; color:rgb(241, 244, 224);}
.reply__region--narrow pre code {background:none; color:inherit; border:0; padding:0;}html .reply__region--narrow table{font-size:0.87rem; width:100%; border-collapse:collapse;}
.reply__region--narrow th, .reply__region--narrow td {text-align: left; padding-top:0.69rem;padding-right:0.85rem;padding-bottom:0.69rem;padding-left:0.85rem; border: 1px solid var(--edge);}.reply__region--narrow th{color: var(--ink); background: var(--bg-2); font-weight:700;}
.tag-extra .select-block {justify-content:flex-end; height:100%; padding-right:1.25rem; align-items:stretch; background:#d1d1e9; box-shadow:0 16px 2px rgba(0,0,0,0.54)}

.panel-value::before {content:''; min-width:0; height:auto}

.reply__region--narrow hr {will-change:auto; margin:1.99rem 0; print-color-adjust:economy; border:0;}
.reply__region--narrow hr {border-top: 1px solid var(--edge);}
.badge {display: flex;}

/* share */
.tabs__column {padding:1.65rem 2.6rem 2.37rem;}
.badge {flex-wrap: wrap; gap:0.58rem;}html .gridButton{width:35px; color: var(--dim); border-radius:50%; border: 1px solid var(--edge); height:35px; display: inline-flex; background: var(--card);}html .gridButton{transition:background 0.209s, color 0.251s, border-color 0.153s, transform 0.129s; justify-content: center; align-items: center;}.gridButton:hover{border-color: var(--acc); color:#eff2ff; transform: translateY(-1px); background: var(--acc);}

/* ---------- talk / reach (forms) ---------- */
.stepper--sparse, .divider__spacer--dark {max-width: var(--read); padding:2.05rem 2.61rem 2.17rem; background: var(--card); margin:2.13rem auto 0; border: 1px solid var(--edge); box-shadow: var(--sh); border-radius: var(--rad);}
.reply__bar--pressed {font-size:0.97rem; margin-top:-0.63rem; margin-bottom:1.2rem; color: var(--dim);}

/* ---------- more (related) ---------- */
.progress-overlay {max-width: var(--read); margin:2.25rem auto 0;}
.feature-detail .alert-thumb {font-size:2rem; flex-wrap:wrap; max-width:100%; font-weight:400}

.w-screen {box-shadow: var(--sh); transition:transform 0.145s, box-shadow 0.147s, border-color 0.132s; border-radius: var(--rad-s); border: 1px solid var(--edge); background: var(--card); padding:1rem 1.11rem; display: block;}*.panel{display: grid; gap:1.02rem; grid-template-columns: repeat(3, 1fr);}
.w-screen:hover {border-color: var(--acc-l); box-shadow: var(--sh-l); transform: translateY(-2px);}
.card--small {line-height:1.4; font-weight:bold; font-size:0.97rem; font-family: var(--display); color: var(--ink);}/* ---------- forms ---------- */
input[type="text"], input[type="email"], input[type="password"], textarea{border-radius: var(--rad-s); width:100%; border: 1px solid var(--edge); color: var(--ink); transition:border-color 0.257s, box-shadow 0.26s, background 0.219s; padding:0.83rem 0.99rem; font:inherit; background: var(--bg-2);}input::placeholder, textarea::placeholder{print-color-adjust:economy; color: var(--dim);}textarea{min-height:6.58rem; resize: vertical;}
input:focus, textarea:focus {contain:none; box-shadow:0 0 0 7px rgba(17, 157, 141, 0.16); image-rendering:auto; border-color: var(--acc); outline:0em; background: var(--card);}

.tabs--danger {flex-wrap: wrap; display: flex; gap:1rem;}body .badge--large{flex: 1 1 calc(50% - 0.5rem); min-width:0;}
.rating-line .slider-primary {text-decoration:underline; width:fit-content; justify-content:flex-end; display:grid; line-height:1; overflow:visible}

.flex-half {text-underline-offset:auto; image-rendering:auto; flex: 1 1 100%;}

.review {display: flex; hyphens:manual; text-rendering:auto;}.review input{border-radius: var(--rad-s) 0 0 var(--rad-s); border-right:none; min-width:0; flex: 1;}
.review .skeleton--full {border-radius: 0 var(--rad-s) var(--rad-s) 0;}/* ---------- buttons ---------- */
.skeleton--full{min-height:2.86rem; padding-top:0.74rem; padding-right:1.3rem; padding-bottom:0.74rem; padding-left:1.3rem; text-transform:uppercase; font-weight:bold; backface-visibility:visible; font-size:0.74rem; color: var(--ink); gap:0.43rem; border: 1px solid var(--edge); display: inline-flex; justify-content: center; border-radius: var(--rad-s); break-inside:auto; background: var(--card);}/* ---------- buttons ---------- */
.skeleton--full{align-items: center; letter-spacing:0.03em; transition:background 0.163s, color 0.252s, border-color 0.143s;}
.skeleton--full:hover {background: var(--bg-2); border-color: var(--dim); color: var(--ink);}
.accordion {border-color: var(--acc); background: var(--acc); color:#fff1fa;}
.accordion:hover {color:rgb(255, 255, 255); background: var(--acc-d); border-color: var(--acc-d);}
.blockAction {min-width:2.96rem; padding:0.76rem 0.99rem;}body .search__thumb{width:100%;}

/* ---------- decks (newsletter + account) ---------- */
.skeleton--center {grid-template-columns: 1fr 1fr; gap:1.22rem; max-width: var(--band); display: grid; margin:2.55rem auto 0;}
.hero__icon--loading {contain:none; border-radius: var(--rad); box-shadow: var(--sh); text-rendering:auto; background: var(--card); display: flex; padding-top:1.47rem;padding-right:1.58rem;padding-bottom:1.47rem;padding-left:1.58rem; border: 1px solid var(--edge); flex-direction: column;}
.tabs--rounded {gap:0.55rem; display: flex; margin-top:auto; flex-direction: column;}.header__item--hover:not(.nil80){font-size:0.87rem; margin-bottom:0.94rem; orphans:2; color: var(--dim); font-variant-ligatures:normal;}
.tabs--rounded .skeleton--full {width:100%;}

/* ---------- footer ---------- */
.sectionExpand {margin-top:3.33rem; padding:2.67rem 0; widows:2; background: var(--night); color: var(--on-night);}
.counter__item {display: flex; padding:0 1.19rem; margin-inline:auto; justify-content: space-between; flex-wrap: wrap; max-width: var(--max); width:100%;}
.counter__item {gap:1.43rem; align-items: center;}
.tabs img {width:auto; opacity:0.83; filter:brightness(0) invert(1); height:25px;}
.view__backdrop--wide {margin-top:0.62rem; color: var(--on-night); font-size:0.78rem;}
.dropdown {display: flex; gap:1.38rem;}
.dropdown a {color: var(--on-night); transform-style:flat; font-size:0.93rem;}.dropdown a:hover{color:#ffeff7;}
.stepper-close:hover {background-color:#0f1514; max-width:100%}


.action {display: flex; gap:0.63rem;}body .action a{align-items: center; height:36px; width:35px; transition:background 0.244s, color 0.156s, transform 0.171s; color: var(--on-night); display: inline-flex; justify-content: center; border-radius: var(--rad-s); background:rgba(240, 255, 255, 0.14);}
.hero--vertical {transition:transform 0.5s ease-in-out; font-size:inherit}

.action a:hover {color:#ffffff; transform: translateY(-1px); background: var(--acc);}/* ---------- back to top ---------- */
.select__toggle{z-index: 900; transition:background 0.232s, transform 0.235s; border:0 none; color:#fffeff; height:45px; align-items: center; display: none; right:1.54rem; position: fixed; background: var(--acc); box-shadow: var(--sh-l); justify-content: center; bottom:1.62rem; width:43px; border-radius:50%;}
.select__toggle:hover {background: var(--acc-d); transform: translateY(-2px);}
.select__toggle.toolbar__trigger {display: inline-flex;}

/* ---------- cookie ---------- */
.gallery--center {padding:0.85rem 0; background: var(--card); left:0; position: fixed; bottom:0; box-shadow:0 -6px 25px rgba(11, 50, 35, 0.13); z-index: 1100; border-top: 1px solid var(--edge); right:0;}
.gallery--center p {color: var(--text); margin:0; font-size:0.85rem; word-spacing:normal; text-rendering:auto;}body .sidebar{margin-inline:auto; max-width: var(--max); justify-content: space-between; display: flex; width:100%; align-items: center; gap:1.54rem; padding:0 1.19rem;}
.gallery--center .skeleton--full {padding:0.55rem 1.41rem; image-rendering:auto; flex-shrink: 0; min-height:2.32rem;}/* ---------- auth layers (CSS :target modal) ---------- */
:where(.avatar__summary--success){position: fixed; inset:0; z-index: 1300; display: none;}
.avatar__summary--success:target {display: grid;}
.avatar__summary--success:target {padding:1.17rem; place-items: center;}
.list {z-index: 1;}
.rating {inset:0; position: absolute; backdrop-filter:blur(2px); background:rgba(34, 33, 28, 0.51);}
.list {border-radius: var(--rad); box-shadow: var(--sh-l); position: relative; animation:pop 0.169s ease-out; background: var(--card); width: min(94vw, 25rem); border: 1px solid var(--edge); padding:1.77rem 1.73rem 1.53rem;}
@keyframes pop { from {transform: translateY(8px) scale(0.99); opacity:0;} to {transform: none; opacity:1;} }*.grid__track{font-size:1.48rem; position: absolute; text-decoration:none; color: var(--dim); line-height:1; right:0.77rem; top:0.72rem;}
.avatar__summary--success .skeleton--left {display: flex; flex-direction: column; gap:0.89rem;}
.grid__track:hover {color: var(--ink);}
.breadcrumb__section--empty {backface-visibility:visible; text-align: center; font-size:0.88rem; color: var(--dim); margin-top:0.13rem; mix-blend-mode:normal;}

/* ---------- responsive ---------- */
@media (max-width: 860px) {.breadcrumb{display: flex;}
  .sidebarTrack {flex-direction: column; display: none; gap:0rem; position: absolute; left:0; align-items: stretch; background: var(--card); padding:0.54rem 0; border-bottom: 1px solid var(--edge); right:0; box-shadow: var(--sh); top:100%;}
  .sidebarTrack.open {display: flex;}
  .page--pressed {flex-direction: column; padding:0 1.25rem; gap:0;}
  .page--pressed a {border-bottom: 1px solid var(--edge-2); padding:0.83rem 0;}
  .grid-backdrop-sticky {mix-blend-mode:normal; padding:0.9rem 1.3rem 0.48rem; gap:0.83rem; widows:2;}

  .panel {grid-template-columns: 1fr 1fr;}body .skeleton--center{background-blend-mode:normal; grid-template-columns: 1fr;}
}

@media (max-width: 680px) {
  html {font-size:100%;}
  .screen__count--primary {padding:0 1.39rem;}
  .ui-thread {padding:1.87rem 1.48rem 1.03rem;}
  .tabs__column {padding:1.24rem 1.37rem 1.86rem;}
  .footer__zone--active {padding:1.27rem 1.32rem 0.28rem;}
.card-input + .drawer-label {flex-wrap:nowrap; max-width:1220px; font-weight:normal; min-height:25px}
.stepper--sparse:not(.nil38), .divider__spacer--dark{padding:1.54rem 1.44rem 1.82rem;}
  .panel {grid-template-columns: 1fr;}html .counter__item{gap:1.22rem; flex-direction: column; align-items: flex-start;}
  .sidebar {gap:0.74rem; text-align: center; flex-direction: column;}html .select__toggle{right:0.97rem; bottom:1.05rem;}
}

@media (max-width: 460px) {
  .badge--large {flex: 1 1 100%; break-inside:auto;}
}

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

@media print {
  .module__preview, .tabs__column, .stepper--sparse, .progress-overlay, .divider__spacer--dark,
  .skeleton--center, .sectionExpand, .select__toggle, .gallery--center, .avatar__summary--success, .avatar--danger {display: none !important;}
  body {background-color:#ffeeff;}
  .drawer__addon {max-width:none; border:0; box-shadow:none;}
}
