/* ===== Hero ===== */
.hero-xyrrovelq {
  background: linear-gradient(180deg, var(--color-bg-alt) 0%, var(--color-bg) 70%);
  border-bottom: 1px solid var(--color-border);
  padding: 3.6rem 0 2.4rem;
}
.hero-xyrrovelq__inner { display: flex; flex-wrap: wrap; gap: 2.5rem; align-items: center; }
.hero-xyrrovelq__copy { flex: 1 1 460px; min-width: 0; }
.hero-xyrrovelq__lede { font-size: 1.05rem; max-width: 520px; }
.hero-xyrrovelq__actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1.6rem; }
.hero-xyrrovelq__art { flex: 1 1 280px; min-width: 0; display: flex; justify-content: center; }

.dojo-deco { width: 100%; max-width: 260px; }
.dojo-deco svg { width: 100%; height: auto; }

/* ===== Tameshiwari crack-reveal widget ===== */
.force-widget {
  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius);
  padding: 2rem; display: flex; flex-wrap: wrap; gap: 2.2rem;
}
.force-widget__controls { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 1.6rem; }
.force-slider__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.4rem; }
.force-slider__name { font-family: var(--ff-head); font-weight: 700; font-size: 0.9rem; letter-spacing: 0.01em; }
.force-slider__value { font-family: var(--ff-head); font-weight: 700; color: var(--color-red); font-size: 1.1rem; }
.force-slider__hint { font-size: 0.86rem; margin: 0.4rem 0 0; }
input[type="range"] {
  -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 3px;
  background: var(--color-border); padding: 0; cursor: pointer;
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%;
  background: var(--color-ink); border: 3px solid #ffffff; box-shadow: 0 0 0 1px var(--color-ink);
  cursor: pointer;
}
input[type="range"]::-moz-range-thumb {
  width: 20px; height: 20px; border-radius: 50%; background: var(--color-ink);
  border: 3px solid #ffffff; box-shadow: 0 0 0 1px var(--color-ink); cursor: pointer;
}

.force-widget__display { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 1.2rem; align-items: center; }
.force-board-wrap { background: var(--color-bg-alt); border-radius: var(--radius); padding: 0.8rem; display: flex; align-items: center; justify-content: center; width: 100%; }
.force-board-wrap svg.force-board { flex: 0 0 auto; height: 160px; width: auto; display: block; max-width: 100%; }
.force-board__plank { fill: #e8ddc4; stroke: var(--color-ink); stroke-width: 3; }
.force-board__crack { fill: none; stroke: var(--color-red); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }

.force-readout { display: flex; gap: 1.4rem; flex-wrap: wrap; width: 100%; justify-content: center; }
.force-readout__item { flex: 1 1 100px; min-width: 0; text-align: center; }
.force-readout__num { display: block; font-family: var(--ff-head); font-weight: 700; font-size: 1.5rem; color: var(--color-red); }
.force-readout__label { display: block; font-size: 0.72rem; color: var(--color-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-top: 0.2rem; }
.force-category {
  display: inline-block; background: var(--color-ink); color: #ffffff;
  font-family: var(--ff-head); font-weight: 700; letter-spacing: 0.01em;
  font-size: 0.92rem; padding: 0.5em 1.1em; border-radius: var(--radius);
}
