.kyz-root {
  display: block;
  max-width: 860px;
  margin: 18px auto;
  padding: 0 0px;
  font-family: inherit;
}

.kyz-card {
  background: var(--kyz-card-bg, #fff);
  border-radius: 10px;
  border: 1px solid var(--kyz-card-border, rgba(0,0,0,0.08));
  box-shadow: none;
  overflow: hidden;
}

.kyz-card {
  border: 0 !important;
  box-shadow: none !important;
}

.kyz-head {
  padding: 14px 16px 12px 16px;
  background: var(--kyz-head-bg, #fff);
  border-bottom: 1px solid var(--kyz-head-border, rgba(0,0,0,0.06));
  text-align: center;
}

.kyz-head {
  border-bottom: 0 !important;
}

.kyz-title {
  font-size: var(--kyz-title-size, 16px);
  color: var(--kyz-title-color, #333);
  line-height: 1.4;
}

.kyz-subtitle {
  margin-top: 4px;
  font-size: var(--kyz-subtitle-size, 13px);
  color: var(--kyz-subtitle-color, #666);
  line-height: 1.4;
}

.kyz-body {
  padding: 16px;
}

.kyz-question {
  border: 1px solid var(--kyz-question-border, rgba(0,0,0,0.08));
  border-radius: 14px;
  padding: 14px 12px;
  color: var(--kyz-question-color, #333);
  text-align: center;
  background: var(--kyz-question-bg, #fff);
}

.kyz-qtext {
  font-size: var(--kyz-question-size, 16px);
  line-height: 1.6;
}

.kyz-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 14px;
}

.kyz-btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;
  padding: 10px 18px;
  min-width: 120px;
  font-size: var(--kyz-btn-size, 15px);
  cursor: pointer;
  background: #fff;
  color: #222;
}

.kyz-btn.kyz-yes {
  background: var(--kyz-btn-yes-bg, #fff);
  border-color: var(--kyz-btn-yes-border, rgba(0,0,0,0.10));
  color: var(--kyz-btn-yes-color, #222);
}

.kyz-btn.kyz-no {
  background: var(--kyz-btn-no-bg, #fff);
  border-color: var(--kyz-btn-no-border, rgba(0,0,0,0.10));
  color: var(--kyz-btn-no-color, #222);
}

.kyz-btn:active {
  transform: translateY(1px);
}

.kyz-btn[disabled] {
  opacity: 0.5;
  cursor: default;
}

.kyz-helper {
  margin-top: 10px;
  text-align: center;
  font-size: var(--kyz-helper-size, 12px);
  color: var(--kyz-helper-color, #777);
}

.kyz-result {
  margin-top: 14px;
  border: 1px solid var(--kyz-result-border, rgba(0,0,0,0.08));
  border-radius: 14px;
  padding: 14px 12px 0px 12px;
  background: var(--kyz-result-bg, #fff);
}

.kyz-result {
  border: 0 !important;
}

@keyframes kyzFadeDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.kyz-result.kyz-anim-in {
  animation: kyzFadeDown 360ms ease both;
}

.kyz-rwrap {
  display: grid;
  gap: 3px;
  justify-items: center;
}

.kyz-rimg img {
  width: 100%;
  max-width: 200px;
  height: auto;
  display: block;
  border-radius: 12px;
  border: 0;
}

.kyz-rsign {
  font-size: var(--kyz-result-sign-size, 18px);
  font-weight: 700;
  text-align: center;
  color: var(--kyz-result-sign-color, #222);
  background: #F0ECE6;
  padding: 2px 20px;
  border-radius: 999px;
  display: inline-block;
}

.kyz-rdesc {
  font-size: var(--kyz-result-desc-size, 14px);
  line-height: 1.4;
  text-align: left;
  color: var(--kyz-result-desc-color, #444);
  margin-top: 0;
  margin-bottom: 10px;
  max-width: 640px;
  width: 100%;
  margin: 0 auto;
}

.kyz-blogcards {
  width: 100%;
  display: grid;
  gap: 5px;
  justify-items: stretch;
}

.kyz-blogcard {
  width: 100%;
  max-width: 700px;
}

.kyz-blogcards .kyz-blogcard {
  max-width: 700px !important;
  width: 100% !important;
}

.kyz-fallback-card {
  width: 100%;
  max-width: 520px;
  border: 1px solid #ABB8C3;
  border-radius: 10px;
  padding: 12px;
}

.kyz-fallback-link {
  display: block;
  text-align: center;
  color: #333;
  text-decoration: none;
  word-break: break-all;
}

.kyz-footer {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 0px 12px 4px 12px;
  color: #777;
}

.kyz-link {
  border: 0;
  background: transparent;
  color: var(--kyz-link-color, #666);
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 10px;
  font-size: var(--kyz-link-size, 13px);
}

.kyz-link:hover {
  background: rgba(0,0,0,0.05);
}

.kyz-dot {
  opacity: 0.5;
}

.kitsune-settings-page .form-table th,
.kitsune-settings-page .form-table td {
    padding: 8px 10px;
}

.kitsune-settings-page h2 {
    margin-top: 20px;
    margin-bottom: 10px;
}

.kyz-title {
    font-weight: 700;
}

.kyz-blogcards .kyz-blogcard .blogcard-wrap {
  margin: 0 0 1px 0 !important;
  display: block;
}

.kyz-blogcards .kyz-blogcard .blogcard {
  margin: 0 !important;
}

.kyz-blogcards .blogcard {
  border: 1px solid #ABB8C3 !important;
}

/* tarotプラグインのシェアUIと同じ見た目を流用 */
.tt-share{
  display:none;
  margin-top:0;
  margin-bottom:5px;
  padding-bottom:0;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  align-items:center;
}

.tt-share.is-visible{
  display:flex;
}

.tt-share-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(0,0,0,0.06);
  color:#444;
  font-size:12px;
  font-weight:700;
  line-height:1;
}

.tt-share-btn{
  appearance:none;
  border:0;
  padding:10px 14px;
  border-radius:10px;
  cursor:pointer;
  font-size:13px;
  line-height:1;
  color:#fff;
  font-weight:700;
  -webkit-tap-highlight-color:transparent;
  outline:none;
}

.tt-share-btn:focus{ outline:none; }

.tt-share-btn:active{ filter:brightness(0.92); }

.kitsune-kyz-root .tt-el-share-x{ background:#111; }
.kitsune-kyz-root .tt-el-share-line{ background:#06C755; }

.kitsune-kyz-root .tt-el-share-x,
.kitsune-kyz-root .tt-el-share-line{
  min-width:55px;
  text-align:center;
}

.kitsune-kyz-root .tt-el-share-copy{
  background:#666;
  width:44px;
  padding-left:0;
  padding-right:0;
}

.kitsune-kyz-root .tt-share-btn:hover{ filter:brightness(0.92); }

.tt-toast{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%) translateY(8px);
  z-index:99999;
  background:rgba(0,0,0,0.78);
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1;
  padding:10px 14px;
  border-radius:999px;
  opacity:0;
  pointer-events:none;
  transition:opacity 180ms ease, transform 180ms ease;
}

.tt-toast.is-visible{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.kitsune-kyz-root {
  max-width: none !important;
}

/* 結果ブロックだけ横幅制限の外に出す */
.kitsune-kyz-root .kyz-resultbox,
.kitsune-kyz-root .kyz-result,
.kitsune-kyz-root .kyz-rwrap {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
padding-left: min(20vw, 32px);
padding-right: min(20vw, 32px);
  box-sizing: border-box;
}

/* その中で、テキスト表示幅を広げる */
.kitsune-kyz-root .kyz-rdesc {
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
}

/* PCだけ：100vwの全幅指定を無効化して中央寄せに戻す */
@media (min-width: 1024px){

  .kitsune-kyz-root{
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .kitsune-kyz-root .kyz-resultbox,
  .kitsune-kyz-root .kyz-result,
  .kitsune-kyz-root .kyz-rwrap{
    width: 100% !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }

  /* 結果テキストが左寄りに見えるのを止める */
  .kitsune-kyz-root .kyz-rdesc{
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* ブログカードの左見切れを止める */
  .kitsune-kyz-root .kyz-blogcards,
  .kitsune-kyz-root .kyz-blogcards .kyz-blogcard,
  .kitsune-kyz-root .kyz-blogcards .blogcard-wrap{
    width: 100% !important;
    max-width: 700px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}