﻿/*_______________________________________________________________________________________________________________
 * |                                                                                                             |
 * |  ████████╗  ██████╗   ██████╗  ██╗      ███╗   ██╗ ███████╗ ███████╗ ████████╗        ███╗   ███╗ ██████╗   |
 * |  ╚══██╔══╝ ██╔═══██╗ ██╔═══██╗ ██║      ████╗  ██║ ██╔════╝ ██╔════╝ ╚══██╔══╝        ████╗ ████║ ██╔══██╗  |
 * |     ██║    ██║   ██║ ██║   ██║ ██║      ██╔██╗ ██║ █████╗   ███████╗    ██║    █████╗ ██╔████╔██║ ██████╔╝  |
 * |     ██║    ██║   ██║ ██║   ██║ ██║      ██║╚██╗██║ ██╔══╝   ╚════██║    ██║    ╚════╝ ██║╚██╔╝██║ ██╔═══╝   |
 * |     ██║    ╚██████╔╝ ╚██████╔╝ ███████╗ ██║ ╚████║ ███████╗ ███████║    ██║           ██║ ╚═╝ ██║ ██║       |
 * |     ╚═╝     ╚═════╝   ╚═════╝  ╚══════╝ ╚═╝  ╚═══╝ ╚══════╝ ╚══════╝    ╚═╝           ╚═╝     ╚═╝ ╚═╝       |
 * |                                                                                                             |
 * |    ███╗   ███╗  █████╗  ███╗   ███╗ ███████╗ ██████╗  ██╗ ███╗   ██╗      ██████╗  ██████╗  ███╗   ███╗     |
 * |    ████╗ ████║ ██╔══██╗ ████╗ ████║ ██╔════╝ ██╔══██╗ ██║ ████╗  ██║     ██╔════╝ ██╔═══██╗ ████╗ ████║     |
 * |    ██╔████╔██║ ███████║ ██╔████╔██║ █████╗   ██████╔╝ ██║ ██╔██╗ ██║     ██║      ██║   ██║ ██╔████╔██║     |
 * |    ██║╚██╔╝██║ ██╔══██║ ██║╚██╔╝██║ ██╔══╝   ██╔═══╝  ██║ ██║╚██╗██║     ██║      ██║   ██║ ██║╚██╔╝██║     |
 * |    ██║ ╚═╝ ██║ ██║  ██║ ██║ ╚═╝ ██║ ███████╗ ██║      ██║ ██║ ╚████║ ██╗ ╚██████╗ ╚██████╔╝ ██║ ╚═╝ ██║     |
 * |    ╚═╝     ╚═╝ ╚═╝  ╚═╝ ╚═╝     ╚═╝ ╚══════╝ ╚═╝      ╚═╝ ╚═╝  ╚═══╝ ╚═╝  ╚═════╝  ╚═════╝  ╚═╝     ╚═╝     |
 * |                                                                                                             |
 * |                                                                                                             |
 * |                                 (C) 2021- mamepin.com - ALL RIGHTS RESERVED                                 |
 * |                                         Unauthorized use prohibited                                         |
 * |_____________________________________________________________________________________________________________|
 */

.tnm-dq7r-lpt {
  --content-scale: 0.8;
  --page-bg:
    radial-gradient(circle at top right, rgba(244, 244, 244, 0.9), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f8f8f8 100%);
  --panel-bg: #ffffff;
  --panel-subtle: #fafafa;
  --panel-strong: #f3f3f3;
  --border: #ececec;
  --border-strong: #dadada;
  --text: #2f2f2f;
  --muted: #6f6f6f;
  --accent: #5f7ea3;
  --accent-soft: #edf3f8;
  --swap-highlight: #c98a2b;
  --swap-highlight-soft: rgba(201, 138, 43, 0.24);
  --swap-highlight-strong: rgba(201, 138, 43, 0.52);
  --focus: #2f7a67;
  --danger: #b84f43;
  --success: #3f8c74;
  --card-size: calc(72px * var(--content-scale));
  --card-radius: calc(8px * var(--content-scale));
  --card-inner-radius: calc(5px * var(--content-scale));
  --card-core-radius: calc(3px * var(--content-scale));
  --card-icon-scale: 0.51;
  --card-icon-free-scale: 0.54;
  --card-icon-wild-scale: 0.59;
  --prompt-icon-size: calc(1.65rem * var(--content-scale));
  --prompt-icon-free-size: calc(1.55rem * var(--content-scale));
  --prompt-icon-metal-slime-size: calc(1.6rem * var(--content-scale));
  --gap: calc(0.78rem * var(--content-scale));
  --shadow: 0 16px 34px rgba(0, 0, 0, 0.06);
  width: min(100%, calc(980px * var(--content-scale)));
  margin: calc(1.25rem * var(--content-scale)) auto;
  color: var(--text);
  font-family: "Segoe UI Variable", "BIZ UDPGothic", "Meiryo", sans-serif;
  font-size: calc(100% * var(--content-scale));
}

.tnm-dq7r-lpt .lpt-shell {
  display: grid;
  gap: calc(0.9rem * var(--content-scale));
  padding: calc(1.35rem * var(--content-scale));
  border: 1px solid #efefef;
  border-radius: calc(1rem * var(--content-scale));
  background: var(--page-bg);
  box-shadow: var(--shadow);
}

.tnm-dq7r-lpt .lpt-title-block,
.tnm-dq7r-lpt .lpt-description-block,
.tnm-dq7r-lpt .lpt-panel,
.tnm-dq7r-lpt .lpt-status-shell,
.tnm-dq7r-lpt .lpt-board-stage {
  background: transparent;
  border: 0;
  border-radius: 0;
}

.tnm-dq7r-lpt .lpt-title-block {
  padding: 0;
}

.tnm-dq7r-lpt .lpt-title-block h1 {
  margin: 0;
  font-family: "Yu Gothic UI", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", sans-serif;
  font-size: 200%;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: 0.05em;
}

.tnm-dq7r-lpt .lpt-description-block {
  padding: 0;
}

.tnm-dq7r-lpt .lpt-description-block p {
  margin: 0;
  color: var(--muted);
  font-size: 90%;
  line-height: 1.75;
}

.tnm-dq7r-lpt .lpt-footer-notice {
  display: flex;
  justify-content: center;
  padding: calc(0.25rem * var(--content-scale)) 0 0;
  text-align: center;
}

.tnm-dq7r-lpt .lpt-footer-notice-text {
  margin: 0;
  color: var(--muted);
  font-size: calc(0.78rem * var(--content-scale));
  line-height: 1.6;
}

.tnm-dq7r-lpt .lpt-panel,
.tnm-dq7r-lpt .lpt-status-shell {
  padding: 0;
}

.tnm-dq7r-lpt .lpt-panel-controls {
  padding-top: 0.2rem;
}

.tnm-dq7r-lpt .lpt-controls {
  display: grid;
  gap: calc(0.9rem * var(--content-scale));
}

.tnm-dq7r-lpt .lpt-control {
  display: grid;
  gap: calc(0.55rem * var(--content-scale));
}

.tnm-dq7r-lpt .lpt-control > span {
  color: #6b6b6b;
  font-size: calc(0.8rem * var(--content-scale));
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tnm-dq7r-lpt .lpt-control-row {
  display: grid;
}

.tnm-dq7r-lpt .lpt-difficulty-button-group {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: calc(0.7rem * var(--content-scale));
}

.tnm-dq7r-lpt .lpt-difficulty-button,
.tnm-dq7r-lpt .lpt-clue-actions button,
.tnm-dq7r-lpt select {
  appearance: none;
  border: 1px solid var(--border-strong);
  border-radius: calc(0.45rem * var(--content-scale));
  font: inherit;
}

.tnm-dq7r-lpt .lpt-difficulty-button {
  position: relative;
  min-height: calc(40px * var(--content-scale));
  padding: calc(0.8rem * var(--content-scale)) calc(0.9rem * var(--content-scale));
  color: #443a30;
  background: #ffffff;
  font-size: calc(0.92rem * var(--content-scale));
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  transition:
    transform 140ms ease,
    box-shadow 140ms ease,
    border-color 140ms ease,
    background 140ms ease;
}

.tnm-dq7r-lpt .lpt-difficulty-button:hover {
  transform: translateY(-1px);
  border-color: #c9d3dd;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
}

.tnm-dq7r-lpt .lpt-difficulty-button.is-active {
  border-color: var(--diff-accent, var(--accent));
  background: #f8fbfe;
  box-shadow: inset 0 0 0 1px rgba(95, 126, 163, 0.1);
}

.tnm-dq7r-lpt .lpt-difficulty-button.is-active[data-size-id="size1"] {
  --diff-accent: #7f9bbc;
}

.tnm-dq7r-lpt .lpt-difficulty-button.is-active[data-size-id="size2"] {
  --diff-accent: #6a91c3;
}

.tnm-dq7r-lpt .lpt-difficulty-button.is-active[data-size-id="size3"] {
  --diff-accent: #5c84b7;
}

.tnm-dq7r-lpt .lpt-difficulty-button.is-active[data-size-id="size4"] {
  --diff-accent: #4d74a5;
}

.tnm-dq7r-lpt select {
  width: 100%;
  padding: calc(0.78rem * var(--content-scale)) calc(0.95rem * var(--content-scale));
  color: var(--text);
  background: #ffffff;
}

.tnm-dq7r-lpt .lpt-status-shell {
  min-height: 0;
  display: flex;
  align-items: center;
  margin-top: 0.45rem;
}

.tnm-dq7r-lpt .lpt-status-feedback {
  width: 100%;
  min-height: calc(1.4rem * var(--content-scale));
  margin: 0;
  color: var(--danger);
  font-size: calc(0.95rem * var(--content-scale));
  line-height: 1.65;
}

.tnm-dq7r-lpt .lpt-status-feedback:empty::before {
  content: " ";
}

.tnm-dq7r-lpt .lpt-board-stage {
  display: grid;
  gap: calc(1rem * var(--content-scale));
  padding: 0.15rem 0 0;
}

.tnm-dq7r-lpt .lpt-clue-panel {
  padding: 0;
  background: #fafafa;
  border: 1px solid #ededed;
  border-radius: calc(0.55rem * var(--content-scale));
}

.tnm-dq7r-lpt .lpt-clue-row {
  display: grid;
  gap: calc(0.5rem * var(--content-scale));
  padding: calc(0.6rem * var(--content-scale));
}

.tnm-dq7r-lpt .lpt-clue-copy {
  display: grid;
  gap: calc(0.2rem * var(--content-scale));
  padding: calc(0.95rem * var(--content-scale)) calc(1rem * var(--content-scale));
  border: 1px solid #efefef;
  border-radius: calc(0.45rem * var(--content-scale));
  background: #ffffff;
}

.tnm-dq7r-lpt .lpt-clue-prompt-text,
.tnm-dq7r-lpt .lpt-candidate-count,
.tnm-dq7r-lpt .lpt-proposed-label {
  margin: 0;
}

.tnm-dq7r-lpt .lpt-clue-prompt-text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(0.2rem * var(--content-scale));
  color: #44382f;
  font-size: calc(1rem * var(--content-scale));
  font-weight: 700;
  line-height: 1.6;
}

.tnm-dq7r-lpt .lpt-clue-prompt-token {
  display: inline-flex;
  align-items: center;
  gap: calc(0.4rem * var(--content-scale));
  flex-wrap: nowrap;
}

.tnm-dq7r-lpt .lpt-clue-prompt-label {
  display: inline;
}

.tnm-dq7r-lpt .lpt-clue-prompt-token-label,
.tnm-dq7r-lpt .lpt-clue-prompt-separator {
  display: inline;
}

.tnm-dq7r-lpt .lpt-clue-prompt-separator {
  margin: 0 calc(0.12rem * var(--content-scale));
}

.tnm-dq7r-lpt .lpt-prompt-icon {
  display: block;
  width: var(--prompt-icon-size);
  height: var(--prompt-icon-size);
  object-fit: contain;
  flex-shrink: 0;
}

.tnm-dq7r-lpt .lpt-prompt-icon--free {
  width: var(--prompt-icon-free-size);
  height: var(--prompt-icon-free-size);
}

.tnm-dq7r-lpt .lpt-prompt-icon--metal-slime {
  width: var(--prompt-icon-metal-slime-size);
  height: var(--prompt-icon-metal-slime-size);
}

.tnm-dq7r-lpt .lpt-candidate-count,
.tnm-dq7r-lpt .lpt-proposed-label {
  margin-top: calc(0.35rem * var(--content-scale));
  color: #6e7e74;
  font-size: calc(0.9rem * var(--content-scale));
  line-height: 1.55;
}

.tnm-dq7r-lpt .lpt-clue-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: calc(0.6rem * var(--content-scale));
}

.tnm-dq7r-lpt .lpt-clue-actions button {
  min-height: calc(40px * var(--content-scale));
  padding: calc(0.72rem * var(--content-scale)) calc(0.9rem * var(--content-scale));
  color: #4c4035;
  background: #ffffff;
  font-size: calc(0.9rem * var(--content-scale));
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  transition:
    transform 140ms ease,
    box-shadow 140ms ease,
    border-color 140ms ease,
    opacity 140ms ease;
}

.tnm-dq7r-lpt .lpt-clue-actions button:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #c9d3dd;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
}

.tnm-dq7r-lpt .lpt-clue-actions button:disabled {
  opacity: 0.44;
  cursor: default;
  box-shadow: none;
}

.tnm-dq7r-lpt .lpt-layout-hidden {
  display: none;
}

.tnm-dq7r-lpt .lpt-board-wrap {
  width: 100%;
  min-height: calc(540px * var(--content-scale));
  display: grid;
  place-items: center;
  overflow: auto;
  padding: calc(1.5rem * var(--content-scale));
  border: 1px solid #ececec;
  border-radius: calc(0.6rem * var(--content-scale));
  background: #fbfbfb;
}

.tnm-dq7r-lpt .lpt-card-grid {
  display: grid;
  grid-template-columns: var(--grid-template, repeat(4, var(--card-size)));
  grid-auto-rows: var(--card-size);
  gap: var(--gap);
  justify-content: center;
  align-content: center;
  width: max-content;
  max-width: 100%;
}

.tnm-dq7r-lpt .lpt-card {
  position: relative;
  width: var(--card-size);
  height: var(--card-size);
  padding: 0;
  border: 1px solid #d8d8d8;
  border-radius: var(--card-radius);
  background: linear-gradient(180deg, #ffffff 0%, #f9f9f9 100%);
  color: var(--card-color, #24507c);
  font-family: "Georgia", "Yu Mincho", serif;
  font-size: clamp(calc(1.3rem * var(--content-scale)), calc(2.4vw * var(--content-scale)), calc(1.9rem * var(--content-scale)));
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 8px 16px rgba(0, 0, 0, 0.06);
  transition:
    transform 140ms ease,
    box-shadow 140ms ease,
    border-color 140ms ease,
    opacity 140ms ease;
}

.tnm-dq7r-lpt .lpt-card::before,
.tnm-dq7r-lpt .lpt-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.tnm-dq7r-lpt .lpt-card::before {
  inset: 6px;
  border: 1px solid rgba(54, 80, 103, 0.18);
  border-radius: var(--card-inner-radius);
}

.tnm-dq7r-lpt .lpt-card::after {
  top: 8px;
  left: 8px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: rgba(36, 80, 124, 0.12);
}

.tnm-dq7r-lpt .lpt-card:hover:not(:disabled) {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 14px 24px rgba(0, 0, 0, 0.08);
}

@keyframes lpt-swap-selection-pulse {
  0% {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.98),
      0 0 0 4px var(--swap-highlight-strong),
      0 0 0 10px rgba(201, 138, 43, 0.12),
      0 18px 28px rgba(124, 78, 18, 0.2);
  }

  100% {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.98),
      0 0 0 6px rgba(201, 138, 43, 0.66),
      0 0 0 14px rgba(201, 138, 43, 0.18),
      0 22px 32px rgba(124, 78, 18, 0.26);
  }
}

.tnm-dq7r-lpt .lpt-card:focus-visible,
.tnm-dq7r-lpt .lpt-difficulty-button:focus-visible,
.tnm-dq7r-lpt .lpt-clue-actions button:focus-visible,
.tnm-dq7r-lpt select:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

.tnm-dq7r-lpt .lpt-card.is-selected {
  transform: translateY(-4px);
  border-color: #9db6cf;
  box-shadow: 0 0 0 3px rgba(95, 126, 163, 0.14), 0 14px 24px rgba(0, 0, 0, 0.08);
}

.tnm-dq7r-lpt .lpt-card.is-swap-selected {
  transform: translateY(-5px) scale(1.04);
  border-color: var(--swap-highlight);
  background:
    radial-gradient(circle at top, rgba(255, 250, 233, 0.96), transparent 44%),
    linear-gradient(180deg, #fff9ea 0%, #ffe6ba 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.98),
    0 0 0 4px var(--swap-highlight-strong),
    0 0 0 10px rgba(201, 138, 43, 0.12),
    0 18px 28px rgba(124, 78, 18, 0.2);
  animation: lpt-swap-selection-pulse 780ms ease-in-out infinite alternate;
}

.tnm-dq7r-lpt .lpt-card.is-swap-selected::before {
  inset: 4px;
  border: 2px solid rgba(170, 105, 18, 0.55);
  box-shadow: inset 0 0 0 1px rgba(255, 244, 210, 0.7);
}

.tnm-dq7r-lpt .lpt-card.is-swap-selected::after {
  width: 14px;
  height: 14px;
  background: linear-gradient(180deg, #ffe9a8 0%, #d88d17 100%);
  box-shadow: 0 0 12px var(--swap-highlight-soft);
}

.tnm-dq7r-lpt .lpt-card.is-facedown {
  border-color: #a4504d;
  background:
    linear-gradient(135deg, #b84f4b 0%, #a23f3d 100%);
  box-shadow: 0 8px 16px rgba(129, 70, 67, 0.14);
}

.tnm-dq7r-lpt .lpt-card.is-facedown::before {
  inset: 6px;
  border: 2px solid rgba(255, 255, 255, 0.84);
  border-radius: var(--card-inner-radius);
  background:
    repeating-linear-gradient(
      45deg,
      rgba(255, 255, 255, 0.22) 0 6px,
      rgba(255, 255, 255, 0.08) 6px 12px
    );
}

.tnm-dq7r-lpt .lpt-card.is-facedown::after {
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  border: 2px solid rgba(255, 255, 255, 0.88);
  border-radius: var(--card-core-radius);
  background: rgba(255, 255, 255, 0.14);
  transform: translate(-50%, -50%) rotate(45deg);
}

.tnm-dq7r-lpt .lpt-card.is-free {
  --card-color: #c49324;
  color: #8b6512;
  background: linear-gradient(180deg, #fff7d8 0%, #f8deb0 100%);
}

.tnm-dq7r-lpt .lpt-card.is-wild {
  --card-color: #7c57c6;
  color: #5a3e99;
  background: linear-gradient(180deg, #f3eaff 0%, #d8c4ff 100%);
}

.tnm-dq7r-lpt .lpt-card.is-pair-clue {
  color: var(--card-color, #24507c);
}

.tnm-dq7r-lpt .lpt-card.is-valid-target {
  transform: translateY(-2px);
  border-color: #7aa896;
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.9), transparent 46%),
    linear-gradient(180deg, #fbfffd 0%, #eef8f3 100%);
  box-shadow:
    0 0 0 3px rgba(122, 168, 150, 0.28),
    0 0 0 6px rgba(122, 168, 150, 0.08),
    0 14px 24px rgba(0, 0, 0, 0.08);
}

.tnm-dq7r-lpt .lpt-card.is-facedown.is-valid-target {
  border-color: #7aa896;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 38%),
    linear-gradient(135deg, #c56b67 0%, #b14f49 62%, #a0423d 100%);
  box-shadow:
    0 0 0 3px rgba(122, 168, 150, 0.34),
    0 0 0 6px rgba(122, 168, 150, 0.1),
    0 12px 22px rgba(0, 0, 0, 0.08);
}

.tnm-dq7r-lpt .lpt-card.is-facedown.is-valid-target::before {
  border-color: rgba(255, 255, 255, 0.9);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.03) 100%),
    repeating-linear-gradient(
      45deg,
      rgba(255, 255, 255, 0.22) 0 6px,
      rgba(255, 255, 255, 0.08) 6px 12px
    );
  box-shadow:
    inset 0 0 0 1px rgba(122, 168, 150, 0.28),
    inset 0 0 14px rgba(255, 255, 255, 0.08);
}

.tnm-dq7r-lpt .lpt-card.is-facedown.is-valid-target::after {
  border-color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.24);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.18);
}

.tnm-dq7r-lpt .lpt-card.is-blocked {
  cursor: not-allowed;
}

.tnm-dq7r-lpt .lpt-card:disabled {
  cursor: not-allowed;
}

.tnm-dq7r-lpt .lpt-card-face {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.tnm-dq7r-lpt .lpt-card-icon {
  display: block;
  width: calc(var(--card-size) * var(--card-icon-scale));
  height: calc(var(--card-size) * var(--card-icon-scale));
  object-fit: contain;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.12));
}

.tnm-dq7r-lpt .lpt-card-icon--free {
  width: calc(var(--card-size) * var(--card-icon-free-scale));
  height: calc(var(--card-size) * var(--card-icon-free-scale));
}

.tnm-dq7r-lpt .lpt-card-icon--wild {
  width: calc(var(--card-size) * var(--card-icon-wild-scale));
  height: calc(var(--card-size) * var(--card-icon-wild-scale));
}

.tnm-dq7r-lpt .lpt-card-swap-markers {
  position: absolute;
  right: 6px;
  bottom: 6px;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
  max-width: calc(100% - 12px);
  pointer-events: none;
}

.tnm-dq7r-lpt .lpt-card-swap-marker {
  min-width: calc(1.25rem * var(--content-scale));
  height: calc(1.25rem * var(--content-scale));
  padding: 0 calc(0.18rem * var(--content-scale));
  border: 1px solid rgba(67, 52, 36, 0.2);
  border-radius: 999px;
  background: rgba(255, 251, 242, 0.96);
  color: #574434;
  font-family: "Segoe UI Variable", "BIZ UDPGothic", "Meiryo", sans-serif;
  font-size: calc(0.68rem * var(--content-scale));
  font-weight: 700;
  line-height: calc(1.25rem * var(--content-scale));
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.tnm-dq7r-lpt .lpt-how-to-use {
  margin-top: 0.2rem;
  padding: calc(1rem * var(--content-scale)) calc(1.1rem * var(--content-scale));
  border: 1px solid #ebe4d5;
  border-radius: calc(0.7rem * var(--content-scale));
  background: linear-gradient(180deg, #fffdf7 0%, #fbf6ea 100%);
  color: #4d4031;
}

.tnm-dq7r-lpt .lpt-how-to-use-title,
.tnm-dq7r-lpt .lpt-how-to-use-note {
  margin: 0;
}

.tnm-dq7r-lpt .lpt-how-to-use-title {
  font-size: calc(0.96rem * var(--content-scale));
  font-weight: 700;
  line-height: 1.5;
}

.tnm-dq7r-lpt .lpt-how-to-use-list {
  margin: 0.65rem 0 1rem;
  padding-left: calc(1.4rem * var(--content-scale));
  color: #5a4c3c;
  font-size: calc(0.88rem * var(--content-scale));
  line-height: 1.8;
}

.tnm-dq7r-lpt .lpt-how-to-use-list--dots {
  list-style: none;
  padding-left: 0;
}

.tnm-dq7r-lpt .lpt-how-to-use-list--dots li {
  position: relative;
  padding-left: 1em;
}

.tnm-dq7r-lpt .lpt-how-to-use-list--dots li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.tnm-dq7r-lpt .lpt-how-to-use-list li + li {
  margin-top: 0.35rem;
}

.tnm-dq7r-lpt .lpt-how-to-use-note {
  margin-top: 0.75rem;
  color: #6b5d4d;
  font-size: calc(0.95rem * var(--content-scale));
  line-height: 1.75;
}

@media (max-width: 860px) {
  .tnm-dq7r-lpt .lpt-difficulty-button-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tnm-dq7r-lpt .lpt-board-wrap {
    min-height: calc(420px * var(--content-scale));
  }
}

@media (max-width: 640px) {
  .tnm-dq7r-lpt {
    --gap: calc(0.42rem * var(--content-scale));
    margin: calc(0.9rem * var(--content-scale)) auto;
  }

  .tnm-dq7r-lpt .lpt-shell {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

/*
  .tnm-dq7r-lpt .lpt-title-block,
  .tnm-dq7r-lpt .lpt-description-block,
  .tnm-dq7r-lpt .lpt-panel,
  .tnm-dq7r-lpt .lpt-status-shell,
  .tnm-dq7r-lpt .lpt-board-stage {
    padding-left: 0.95rem;
    padding-right: 0.95rem;
  }
*/
  .tnm-dq7r-lpt .lpt-title-block {
    padding-top: 1rem;
    padding-bottom: 0.8rem;
  }

  .tnm-dq7r-lpt .lpt-title-block h1 {
    font-size: clamp(calc(1.65rem * var(--content-scale)), calc(8vw * var(--content-scale)), calc(2.2rem * var(--content-scale)));
  }

  .tnm-dq7r-lpt .lpt-difficulty-button-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tnm-dq7r-lpt .lpt-clue-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .tnm-dq7r-lpt .lpt-how-to-use {
    padding: 0.9rem 0.95rem;
  }

  .tnm-dq7r-lpt .lpt-how-to-use-list {
    padding-left: 1.2rem;
  }

  .tnm-dq7r-lpt .lpt-clue-actions.has-redo-action {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tnm-dq7r-lpt .lpt-difficulty-button {
    min-height: calc(52px * var(--content-scale));
    padding: calc(0.72rem * var(--content-scale)) calc(0.5rem * var(--content-scale));
    font-size: calc(0.84rem * var(--content-scale));
  }

  .tnm-dq7r-lpt .lpt-clue-actions button {
    width: 100%;
    min-height: calc(42px * var(--content-scale));
    padding: calc(0.65rem * var(--content-scale)) calc(0.45rem * var(--content-scale));
    font-size: calc(0.8rem * var(--content-scale));
  }

  .tnm-dq7r-lpt .lpt-board-stage {
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
  }

  .tnm-dq7r-lpt .lpt-board-wrap {
    min-height: 0;
    padding: calc(0.55rem * var(--content-scale));
  }

  .tnm-dq7r-lpt .lpt-clue-row {
    padding: 0.2rem;
  }
}

.tnm-dq7r-lpt,
.tnm-dq7r-lpt * {
  box-sizing: border-box;
}

.tnm-dq7r-lpt [hidden] {
  display: none !important;
}