/* 住宅プランナー（構想書16章）
 *
 * ・色は状態に予約する。装飾には使わない
 * ・影は使わない。階層は線と余白で表す
 * ・角丸は2段階だけ（小要素 4px、パネル 12px）
 * ・スペーシングは 8 / 12 / 20 / 32 / 52
 * ・数値は等幅数字
 * ・判定は色だけで伝えない。アイコンとテキストを必ず併記する
 */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  color-scheme: light dark;
}

/* display を持つ要素にも hidden を効かせる */
[hidden] {
  display: none !important;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-family);
  line-height: var(--line-height);
  font-feature-settings: 'palt';
  font-variant-numeric: var(--font-numeric);
  -webkit-text-size-adjust: 100%;
}

:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}

/* --- ヘッダー ------------------------------------------------------- */

.masthead {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--line);
}

.masthead__logo img {
  display: block;
  height: 28px;
  width: auto;
}

.masthead__note {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.8125rem;
}

@media (max-width: 719px) {
  .masthead__note {
    display: none;
  }

}

/* --- レイアウト ----------------------------------------------------- */

.layout {
  display: grid;
  gap: 0;
}

.pane {
  padding: var(--space-3);
  min-width: 0;
}

.pane__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.pane__title {
  margin: 0 0 var(--space-2);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ink-muted);
}

.pane__head .pane__title {
  margin-bottom: 0;
}

.pane__hint {
  margin: var(--space-1) 0 var(--space-2);
  color: var(--ink-muted);
  font-size: 0.8125rem;
  max-width: var(--measure);
}

/* PCは3枚。編集しながら判定が動くのが見えるようにする（16-5） */
@media (min-width: 1080px) {
  .layout {
    grid-template-columns: 22rem minmax(0, 1fr) 24rem;
    align-items: start;
    height: calc(100dvh - 53px);
  }

  .pane {
    height: 100%;
    overflow-y: auto;
  }

  .pane--input {
    border-right: 1px solid var(--line);
  }

  .pane--verdict {
    border-left: 1px solid var(--line);
  }
}

/* --- フォーム ------------------------------------------------------- */

.form {
  display: grid;
  gap: var(--space-3);
}

.field-group {
  margin: 0;
  padding: var(--space-2) var(--space-2) var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  display: grid;
  gap: var(--space-2);
}

.field-group > legend {
  padding: 0 var(--space-1);
  font-size: 0.8125rem;
  font-weight: 700;
}

.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2);
}

.field {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.field label {
  font-size: 0.8125rem;
  color: var(--ink-muted);
}

input[type='text'],
input[type='search'],
input[type='number'],
select {
  font: inherit;
  font-variant-numeric: var(--font-numeric);
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  padding: 6px var(--space-1);
  min-width: 0;
  width: 100%;
}

input:hover,
select:hover {
  border-color: var(--ink-muted);
}

.with-unit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px;
}

.unit {
  font-size: 0.8125rem;
  color: var(--ink-muted);
}

.field__note {
  margin: 0;
  font-size: 0.75rem;
  color: var(--ink-muted);
  min-height: 1.2em;
}

.checks {
  display: grid;
  gap: 4px;
  font-size: 0.8125rem;
}

.checks label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-1);
  align-items: start;
}

.checks input {
  margin: 5px 0 0;
}

/* 住所のサジェスト */
.suggest {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  max-height: 14rem;
  overflow-y: auto;
}

.suggest li button {
  font: inherit;
  text-align: left;
  width: 100%;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  padding: 6px var(--space-1);
  cursor: pointer;
}

.suggest li:last-child button {
  border-bottom: 0;
}

.suggest li button:hover {
  background: color-mix(in srgb, var(--ink) 6%, transparent);
}

.suggest__pref {
  color: var(--ink-muted);
  font-size: 0.75rem;
  margin-left: var(--space-1);
}

/* --- 平面図 --------------------------------------------------------- */

.plan {
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  padding: var(--space-2);
}

.plan svg {
  display: block;
  width: 100%;
  height: auto;
  touch-action: manipulation;
}

.plan__grid {
  stroke: var(--line);
  stroke-width: 1;
}

.plan__room {
  fill: color-mix(in srgb, var(--ink) 4%, transparent);
}

/* 壁があるかないかは、太さと有無で分かるようにする。色には頼らない */
.plan__edge {
  stroke: transparent;
  stroke-width: 14;
  stroke-linecap: round;
  cursor: pointer;
}

.plan__edge:hover {
  stroke: color-mix(in srgb, var(--ink) 14%, transparent);
}

.plan__wall {
  stroke: var(--ink);
  stroke-width: 5;
  stroke-linecap: square;
  pointer-events: none;
}

.plan__label {
  fill: var(--ink-muted);
  font-size: 11px;
  font-family: var(--font-family);
}

.plan__legend {
  display: flex;
  gap: var(--space-3);
  margin: var(--space-2) 0 0;
  font-size: 0.75rem;
  color: var(--ink-muted);
}

.plan__legend > div {
  display: flex;
  align-items: center;
  gap: 6px;
}

.plan__legend dt,
.plan__legend dd {
  margin: 0;
}

.swatch {
  display: inline-block;
  width: 20px;
  height: 0;
  border-top: 5px solid var(--ink);
}

.swatch--empty {
  border-top: 1px dashed var(--line);
}

/* --- 立体ビュー（構想書3-3・16-7） ---------------------------------- */

.view3d {
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  height: min(58vh, 460px);
  min-height: 240px;
  overflow: hidden;
  background: var(--paper);
}

.solid-controls {
  display: grid;
  gap: var(--space-1);
  margin-top: var(--space-2);
}

.solid-controls label {
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  gap: 6px;
}

.slant-legend {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 2px;
  font-size: 0.75rem;
  color: var(--ink-muted);
}

.slant-legend li {
  display: grid;
  grid-template-columns: 1.2em 1fr;
  gap: 4px;
}

.slant-legend li[data-state='stop'] {
  color: var(--state-stop);
}

/* 方位。カメラを回しても常に読める位置に置く。回るのは矢印だけ */
.view3d__compass {
  position: absolute;
  top: var(--space-2);
  right: var(--space-2);
  width: 28px;
  color: var(--ink-muted);
  display: grid;
  justify-items: center;
  gap: 1px;
  pointer-events: none;
}

.view3d__compass svg {
  width: 14px;
  height: 18px;
  display: block;
}

.view3d__compass span {
  font-size: 0.6875rem;
  line-height: 1;
}

.view3d canvas {
  display: block;
  width: 100%;
  height: 100%;
  cursor: grab;
}

.view3d canvas:active {
  cursor: grabbing;
}

.view3d canvas:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: -2px;
}

.floor-tabs {
  display: flex;
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  overflow: hidden;
}

.floor-tabs button {
  font: inherit;
  font-size: 0.8125rem;
  background: none;
  border: 0;
  color: var(--ink-muted);
  padding: 4px var(--space-2);
  cursor: pointer;
}

.floor-tabs button[aria-selected='true'] {
  background: var(--ink);
  color: var(--paper);
}

.floor-tabs button[hidden] {
  display: none;
}

/* --- 判定 ----------------------------------------------------------- */

.verdict {
  display: grid;
  gap: var(--space-2);
}

.verdict__headline {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-2);
  align-items: start;
  padding: var(--space-2);
  border: 1px solid var(--state-color, var(--line));
  border-radius: var(--radius-panel);
  transition: border-color var(--duration-state) var(--easing);
}

.verdict__headline strong {
  color: var(--state-color, var(--ink));
  font-size: 1.0625rem;
}

.verdict__headline p {
  margin: 2px 0 0;
  font-size: 0.8125rem;
  color: var(--ink-muted);
}

.verdict__cost {
  font-variant-numeric: var(--font-numeric);
  font-size: 1.375rem;
  margin: var(--space-1) 0 0;
}

.verdict__cost small {
  display: block;
  font-size: 0.75rem;
  color: var(--ink-muted);
  font-weight: 400;
}

.check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-2);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--line);
}

.check:last-child {
  border-bottom: 0;
}

.check__label {
  font-size: 0.875rem;
  font-weight: 700;
  margin: 0;
}

.check__reason {
  margin: 2px 0 0;
  font-size: 0.8125rem;
  max-width: var(--measure);
}

.check__numbers {
  margin: 4px 0 0;
  font-size: 0.75rem;
  color: var(--ink-muted);
  font-variant-numeric: var(--font-numeric);
}

.check__source-wrap {
  margin: 8px 0 0;
}

.check__source-wrap > summary {
  font-size: 0.6875rem;
  color: var(--ink-muted);
  cursor: pointer;
  list-style: none;
}

.check__source-wrap > summary::before {
  content: '＋ ';
}

.check__source-wrap[open] > summary::before {
  content: '− ';
}

.check__source-wrap > summary::-webkit-details-marker {
  display: none;
}

.check__source {
  margin: 4px 0 0;
  font-size: 0.6875rem;
  color: var(--ink-muted);
}

/* 状態は「しるし＋文字＋色」の3つで伝える（16-7・禁止事項8） */
.mark {
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  flex: none;
}

.mark--ok {
  color: var(--state-ok);
}

.mark--warn,
.mark--escalate {
  color: var(--state-warn);
}

.mark--stop {
  color: var(--state-stop);
}

.state-ok {
  --state-color: var(--state-ok);
}

.state-warn,
.state-escalate {
  --state-color: var(--state-warn);
}

.state-stop {
  --state-color: var(--state-stop);
}

.disclaimer {
  margin: 0;
  font-size: 0.75rem;
  color: var(--ink-muted);
  max-width: var(--measure);
  border-top: 1px solid var(--line);
  padding-top: var(--space-2);
}

/* --- モバイルの下部シート（16-5） ------------------------------------ */

.sheet-toggle {
  display: none;
}

@media (max-width: 1079px) {
  .layout {
    padding-bottom: 4.5rem;
  }

  /*
   * 狭い画面では、見出しと操作を1行に詰めるとタブの文字が縦に折れる
   * （「平 面 図」のようになる）。見出しを上に逃がして、操作は横に並べる
   */
  .pane__head {
    display: block;
  }

  .pane__head .pane__title {
    margin-bottom: var(--space-1);
  }

  .pane__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
  }

  .floor-tabs button {
    white-space: nowrap;
  }

  /*
   * 画面の主役を先に出す（構想書16-5：モバイルは「見る・確認する」）。
   * 条件は初期値が入っているので、開いた時点で見るものがある。
   * 40項目のフォームを先に見せると、自分の家が出るまでスクロールが要る
   */
  .pane--plan {
    order: -1;
  }

  .pane--verdict {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 72dvh;
    overflow-y: auto;
    background: var(--paper);
    border-top: 1px solid var(--line);
    border-radius: var(--radius-panel) var(--radius-panel) 0 0;
    padding-top: 2.75rem;
    transform: translateY(calc(100% - 3.5rem));
    transition: transform var(--duration-state) var(--easing);
  }

  .pane--verdict[data-open='true'] {
    transform: translateY(0);
  }

  .pane--verdict .pane__title {
    position: absolute;
    top: var(--space-2);
    left: var(--space-3);
  }

  .sheet-toggle {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-2);
    width: 100%;
    min-height: 3.5rem;
    padding: var(--space-1) var(--space-3);
    font: inherit;
    font-size: 0.875rem;
    text-align: left;
    color: var(--ink);
    background: transparent;
    border: 0;
    cursor: pointer;
    z-index: 2;
  }

  /* 帯は1行。あふれたら畳まず切る。伸びると下の本文に重なる */
  #sheet-summary {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .sheet-toggle__grip {
    width: 2rem;
    height: 3px;
    border-radius: 2px;
    background: var(--ink-muted);
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition-duration: 0.01ms !important;
  }
}

/* --- 会員 ----------------------------------------------------------- */

.account {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: 0.8125rem;
}

.account__who {
  color: var(--ink-muted);
  max-width: 16ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.button {
  font: inherit;
  font-size: 0.8125rem;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  padding: 5px var(--space-2);
  cursor: pointer;
}

.button:hover {
  border-color: var(--ink-muted);
}

/* 目立たせるのは色ではなく面積と位置（16-3） */
.button--primary {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
  padding: var(--space-1) var(--space-3);
  width: 100%;
}

.button--quiet {
  color: var(--ink-muted);
  border-color: transparent;
  padding-left: 0;
}

.button--quiet:hover {
  color: var(--state-stop);
  border-color: transparent;
  text-decoration: underline;
}

.dialog {
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--paper);
  color: var(--ink);
  padding: var(--space-3);
  max-width: 24rem;
  width: calc(100vw - var(--space-4));
}

.dialog::backdrop {
  background: color-mix(in srgb, var(--ink) 40%, transparent);
}

.dialog h2 {
  margin: 0 0 var(--space-1);
  font-size: 1.0625rem;
}

.dialog__lead,
.dialog__fine {
  color: var(--ink-muted);
  font-size: 0.8125rem;
  max-width: var(--measure);
}

.dialog__fine {
  margin: var(--space-3) 0 0;
  font-size: 0.75rem;
  border-top: 1px solid var(--line);
  padding-top: var(--space-2);
}

.dialog__form {
  display: grid;
  gap: var(--space-1);
  margin-top: var(--space-2);
}

.dialog__close-form {
  float: right;
  margin: calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0 0;
}

.dialog__close {
  font: inherit;
  font-size: 1.25rem;
  line-height: 1;
  background: none;
  border: 0;
  color: var(--ink-muted);
  cursor: pointer;
  padding: var(--space-1);
}

.external-buttons {
  display: grid;
  gap: var(--space-1);
  margin: var(--space-2) 0;
}

.external-buttons a {
  display: block;
  text-align: center;
  text-decoration: none;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  padding: var(--space-1) var(--space-2);
  font-size: 0.875rem;
}

.external-buttons a:hover {
  border-color: var(--ink);
}

.plans-list {
  list-style: none;
  margin: var(--space-2) 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.plans-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: var(--space-1);
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: var(--space-1) 0;
}

.plans-list__title {
  font-size: 0.875rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.plans-list__when {
  font-size: 0.6875rem;
  color: var(--ink-muted);
}

.rule {
  border: 0;
  border-top: 1px solid var(--line);
  margin: var(--space-3) 0 var(--space-2);
}

.pane__actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

/* --- 計測の同意 ------------------------------------------------------ */

.consent {
  position: fixed;
  left: var(--space-2);
  right: var(--space-2);
  bottom: var(--space-2);
  z-index: 5;
  display: grid;
  gap: var(--space-2);
  max-width: 34rem;
  margin: 0 auto;
  padding: var(--space-2) var(--space-3);
  background: var(--paper);
  border: 1px solid var(--ink);
  border-radius: var(--radius-panel);
}

.consent__text {
  margin: 0;
  font-size: 0.8125rem;
}

.consent__actions {
  display: flex;
  gap: var(--space-2);
  justify-content: flex-end;
}

.consent__actions .button--primary {
  width: auto;
}

/* --- 提携先 ---------------------------------------------------------- */

.handoff {
  border-top: 1px solid var(--line);
  padding-top: var(--space-2);
  margin-top: var(--space-2);
  display: grid;
  gap: var(--space-2);
  justify-items: start;
}

.handoff__title {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
}

.handoff__note {
  margin: 0;
  font-size: 0.75rem;
  color: var(--ink-muted);
  max-width: var(--measure);
}

.handoff__note:empty {
  display: none;
}

.partners {
  border-top: 1px solid var(--line);
  padding-top: var(--space-2);
  margin-top: var(--space-2);
  display: grid;
  gap: var(--space-2);
}

.partners__title {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
}

.partners__lead {
  margin: 0;
  font-size: 0.75rem;
  color: var(--ink-muted);
  max-width: var(--measure);
}

.partner {
  display: grid;
  gap: 2px;
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  padding: var(--space-2);
}

.partner__head {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}

/* 広告であることは必ず見える形で出す（景品表示法） */
.partner__ad {
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  border: 1px solid var(--ink-muted);
  border-radius: var(--radius-small);
  color: var(--ink-muted);
  padding: 0 4px;
  flex: none;
}

.partner__name {
  font-size: 0.875rem;
  font-weight: 700;
}

.partner__summary {
  margin: 0;
  font-size: 0.75rem;
  color: var(--ink-muted);
}

.partner__link {
  justify-self: start;
  font-size: 0.8125rem;
  margin-top: 4px;
}

/* 直し方（構想書5章の原則2）。指摘だけで終わらせない */
.check__remedy {
  margin: var(--space-1) 0 0;
  padding: 6px var(--space-1);
  border-left: 2px solid var(--ink);
  background: color-mix(in srgb, var(--ink) 4%, transparent);
  border-radius: 0 var(--radius-small) var(--radius-small) 0;
  font-size: 0.8125rem;
  max-width: var(--measure);
}

.check__remedy-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
}

.check__relaxations-wrap {
  margin-top: var(--space-1);
  font-size: 0.8125rem;
  max-width: var(--measure);
}

.check__relaxations-wrap > summary {
  cursor: pointer;
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.check__relaxations {
  margin-top: 6px;
  padding: 6px var(--space-1);
  border-left: 2px solid var(--line);
}

.check__relaxations-lead {
  margin: 2px 0 var(--space-1);
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.check__relaxations ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--space-2);
}

.check__relaxations li p {
  margin: 2px 0 0;
}

.check__relaxation-when {
  color: var(--ink-muted);
  font-size: 0.75rem;
}

/* --- 脚注 ------------------------------------------------------------- */

.site-foot {
  border-top: 1px solid var(--line);
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-3) var(--space-5);
  display: grid;
  gap: 4px;
  font-size: 0.75rem;
  color: var(--ink-muted);
}

.site-foot p {
  margin: 0;
  max-width: var(--measure);
}

.consent-box__link {
  margin: var(--space-1) 0 0;
  font-size: 0.75rem;
  color: var(--ink-muted);
}

/* --- 資料の一括請求 --------------------------------------------------- */

.dialog--wide {
  max-width: 36rem;
}

.steps {
  display: flex;
  gap: var(--space-1);
  list-style: none;
  margin: var(--space-2) 0;
  padding: 0;
  font-size: 0.75rem;
  color: var(--ink-muted);
}

.steps li {
  flex: 1;
  border-top: 2px solid var(--line);
  padding-top: 4px;
}

.steps li[aria-current='step'] {
  border-top-color: var(--ink);
  color: var(--ink);
  font-weight: 700;
}

.steps li[data-done='true'] {
  border-top-color: var(--ink);
}

.summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px var(--space-2);
  margin: 0 0 var(--space-2);
  font-size: 0.8125rem;
}

.summary dt {
  color: var(--ink-muted);
}

.summary dd {
  margin: 0;
  font-variant-numeric: var(--font-numeric);
}

/* 同意は既定でオフ。何が誰に渡るかを、チェックの真上に置く */
.consent-box {
  border: 1px solid var(--ink);
  border-radius: var(--radius-small);
  padding: var(--space-2);
  display: grid;
  gap: var(--space-1);
}

.consent-box__text {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.6;
}

.consent-box__check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-1);
  align-items: center;
  font-size: 0.875rem;
  font-weight: 700;
}

.dialog__actions {
  display: flex;
  gap: var(--space-2);
  justify-content: flex-end;
  margin-top: var(--space-2);
}

.dialog__actions .button--primary {
  width: auto;
}

.partner__request {
  margin-top: var(--space-2);
}

/* 問題のなかった項目は、たたんでおく。直すところが下へ流れないようにするため */
.checks-ok {
  margin-top: var(--space-2);
  border-top: 1px solid var(--line);
  padding-top: var(--space-2);
}

.checks-ok > summary {
  font-size: 0.8125rem;
  color: var(--ink-muted);
  cursor: pointer;
  padding: 4px 0;
  list-style: none;
}

.checks-ok > summary::before {
  content: '＋ ';
}

.checks-ok[open] > summary::before {
  content: '− ';
}

.checks-ok > summary::-webkit-details-marker {
  display: none;
}
