/* ============================================================
   theme-override.css
   新デザインガイドライン上書き用
   ※ 元の style.css の後に読み込む
   ============================================================ */

/* ---------- カラー変数の上書き ---------- */
:root {
  /* ベース */
  --color-bg:           #FBFAF7;
  --color-card:         #FFFFFF;
  --color-text:         #33373A;
  --color-muted:        #7B7F82;
  --color-border:       #E6E2DD;

  /* アクセント */
  --color-primary:      #1E98A5;
  --color-secondary:    #F26F5B;
  --color-accent:       #1E98A5;
  --accent:             #1E98A5;
  --color-teal:         #1E98A5;
  --color-coral:        #F26F5B;
  --color-blue-light:   #9BCBD2;
  --color-purple:       #8B7BC0;
  --color-orange-light: #F2B37D;

  /* グラデーション */
  --grad-cta: linear-gradient(90deg, #1E98A5 0%, #F26F5B 100%);
  --gradient: linear-gradient(90deg, #1E98A5 0%, #F26F5B 100%);

  /* シャドウ */
  --shadow-card:   0 12px 30px rgba(60, 60, 60, 0.08);
  --shadow-button: 0 16px 32px rgba(242, 111, 91, 0.24);

  /* 角丸 */
  --radius-sm:   18px;
  --radius-md:   24px;
  --radius-lg:   40px;
  --radius-pill: 999px;
}

/* ---------- フォント ---------- */
body {
  font-family: 'Noto Sans JP', 'M PLUS Rounded 1c', 'Hiragino Sans', sans-serif !important;
  background-color: #FBFAF7 !important;
  color: #33373A !important;
}

/* ---------- 背景色 ---------- */
body,
.noise-overlay + * {
  background-color: #FBFAF7;
}

/* ノイズオーバーレイを無効化（不要なら） */
.noise-overlay {
  display: none;
}

/* ---------- Intro ---------- */

.container{
  background-color: #fff;
}

/* バッジ */
.logo{
  background: #fff;
  text-align: center;
  padding: .8rem 0 .4rem;
  margin-bottom: .8rem;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  box-shadow: 0 12px 30px rgba(20, 20, 20, 0.04);
  z-index: 10000;
}
.logo img{
  width: 120px;
  height: auto;
  display: inline-block;
}
.intro-content{
  padding: 6rem 0 3.6rem;
}
.intro-badge {
  background: #FFFFFF;
  color: #1E98A5;
  border: 1px solid #E6E2DD;
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(60, 60, 60, 0.08);
}

/* ヒーロー画像枠 */
.hero-image{
  img{
    width: 100%;
    height: auto;
  }
}
.hero-image,
.character-hero {
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.86);
}

/* サブタイトル */
.intro-subtitle {
  color: #1E98A5;
  background: none;
  -webkit-text-fill-color: #1E98A5;
}

/* 説明文 */
.intro-description {
  color: #222;
  padding: 2.8rem 0 0rem;
}
.intro-note{
  color: #F26F5B!important;
  font-size: .9rem!important;
  padding-top: .8rem;
}


/* 情報カード */
.intro-info,
.intro-info-card {
  padding: 1.6rem 2.4rem;
  background: #FFFFFF;
  border: 1px solid #E6E2DD;
  border-radius: 12px;
  gap: 0;
}

.info-item{
  flex-direction: column;
  flex: 1;
}
.info-item:nth-of-type(1),.info-item:nth-of-type(2){
  border-right: 1px solid #E6E2DD;
}

.info-item svg,
.info-svg,
.info-icon {
  color: #1E98A5;
}

.info-item span{
  font-weight: bold;
}

.info-divider {
  background: #E6E2DD;
}

/* 回答方法カード */
.intro-howto,
.howto-card {
  background: #FFFFFF;
  border: 1px solid #E6E2DD;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(60, 60, 60, 0.08);
}

.howto-title {
  color: #1E98A5;
}

.howto-text {
  color: #7B7F82;
}

.btn-start{
  background: none!important;
  background-color: #F26F5B!important;
}



/* ABC選択肢 */
.preview-item,
.abc-item {
  background: #FBFAF7;
  border: 1px solid #E6E2DD;
  border-radius: 18px;
}

.abc-preview{
  gap: 1.6rem;
}

.abc-preview .preview-item {
    min-width: 88px;
    height: 88px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 1000px;
    padding-bottom: .4rem;
    font-weight: bold;
}

.preview-label{
  font-size: .8rem;
}

/* A = ティール */
.preview-item:nth-child(1) .preview-num,
.abc-item:nth-child(1) .abc-letter,
.abc-a .abc-letter {
  color: #1E98A5;
}
.abc-a,
.preview-item:nth-child(1) {
  border-color: rgba(30, 152, 165, 0.2);
}
.abc-a .abc-label { color: #1E98A5; }
.abc-a .abc-heart,
.abc-a .abc-dot { color: #1E98A5; }

/* B = コーラル */
.preview-item:nth-child(2) .preview-num,
.abc-item:nth-child(2) .abc-letter,
.abc-b .abc-letter {
  color: #F26F5B;
}
.abc-b,
.preview-item:nth-child(2) {
  border-color: rgba(242, 111, 91, 0.2);
}
.abc-b .abc-label { color: #F26F5B; }
.abc-b .abc-heart,
.abc-b .abc-dot { color: #F26F5B; }

/* C = パープル */
.preview-item:nth-child(3) .preview-num,
.abc-item:nth-child(3) .abc-letter,
.abc-c .abc-letter {
  color: #8B7BC0;
}
.abc-c,
.preview-item:nth-child(3) {
  border-color: rgba(139, 123, 192, 0.2);
}
.abc-c .abc-label { color: #8B7BC0; }
.abc-c .abc-heart,
.abc-c .abc-dot { color: #8B7BC0; }

/* CTAボタン */
.btn-start {
  background: linear-gradient(90deg, #1E98A5 0%, #F26F5B 100%);
  border-radius: 999px;
  box-shadow: 0 16px 32px rgba(242, 111, 91, 0.24);
  color: #FFFFFF;
}

.btn-start:hover {
  box-shadow: 0 20px 40px rgba(242, 111, 91, 0.30);
}

/* ---------- Quiz ---------- */

#quiz.active{
  padding: 0;
}

#quiz .container{
  padding: 6rem 1.6rem 3.6rem;
  min-height: 100dvh;
}

.progress-bar {
  background: #E6E2DD;
  border-radius: 3px;
}

.progress-fill {
  background: linear-gradient(90deg, #30c9da 0%, #ff634b 100%);
  border-radius: 3px;
}

.progress-text {
  color: #7B7F82;
}

.question-card {
  background: #FFFFFF;
  padding: 0 1.2rem;
}

.question-number {
  color: #1E98A5;
}

.question-text {
  color: #33373A;
}

.choices{
  gap: .8rem;
  box-shadow: 0 12px 30px rgba(60, 60, 60, 0.08);
  border-radius: 12px;
  padding: 1.2rem;
}

.choice-key{
  padding-bottom: .1rem;
}

.choice-btn:nth-of-type(1) .choice-key{
  border-color: rgba(30, 152, 165, 0.2);
  background: #FBFAF7;
}

.choice-btn:nth-of-type(2) .choice-key{
  border-color: rgba(242, 111, 91, 0.2);
  background: #FBFAF7;
  color: #F26F5B;
}

.choice-btn:nth-of-type(3) .choice-key{
  border-color: rgba(139, 123, 192, 0.2);
  background: #FBFAF7;
  color: #8B7BC0;
}

/* ---------- Analyzing ---------- */

#analyzing .container{
  height: 100dvh;
  padding: 0 3.6rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.orb-ring-1 { border-top-color: #1E98A5; }
.orb-ring-2 { border-right-color: #F26F5B; }
.orb-ring-3 { border-bottom-color: #9BCBD2; }
.orb-core   { background: linear-gradient(90deg, #1E98A5 0%, #F26F5B 100%); }

.analyzing-text { color: #33373A; }
.analyzing-sub  { color: #7B7F82; }

/* ---------- Result ---------- */

#result {
  background-color: #FBFAF7;
}

#result.active {
    align-items: flex-start;
    padding-top: 0;
    padding-bottom: 0;
}

#result .container{
  width: 100%;
  padding: 6rem 1.2rem 3.6rem;
}

/* シェアカード */
.share-card {
  background: #FFFFFF;
  border: 1px solid #E6E2DD;
  border-radius: 24px;
  box-shadow: 0 12px 30px rgba(60, 60, 60, 0.08);
}

.share-card-inner{
  background: #fff;
}

.share-card-bg {
  background: #FBFAF7;
}

.result-character-img{
  width: 40%;
  margin: 1.2rem 0;
}

.result-label {
  color: #7B7F82;
}

.character-result {
  background: #FBFAF7;
  border: 2px solid #E6E2DD;
}

.result-type-icon {
  color: #1E98A5;
  display: none;
}

.result-type-name {
  font-family: inherit;
  color: #33373A;
}

.result-type-sub {
  color: #7B7F82;
}

.score-number {
  font-size: 3.2rem;
  background: linear-gradient(90deg, #38cada 0%, #ff6048 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-family: sans-serif;
}

.score-unit {
  color: #1E98A5;
}

.result-catchphrase {
  color: #7B7F82;
}

.result-secondary {
  color: #7B7F82;
}

.share-card-footer {
  border-top-color: #E6E2DD;
}

.share-card-brand {
    color: #888;
}

.share-card {
  background: transparent;
  border: none;
  box-shadow: none;
}

.share-card-inner{
  background: var(--type-primary, #FFFFFF);
  border: 3px solid #33373A;
  border-radius: 24px;
}

.share-card-bg{
  background: #fff;
}

.img-area{
  background: #fff;
  border-radius: 1000px;
  width: 280px;
  height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2.4rem auto;
}

.result-character-img{
  width: 160px;
  margin: 0;
}

.result-label,
.result-type-name,
.result-catchphrase,
.result-secondary,
.secondary-label,
.score-unit {
  color: #fff;
}

.result-type-sub {
  color: rgba(255, 255, 255, 0.6);
}

.score-number{
  background: #fff;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.type-icon{
  background: #fff;
  border-radius: 2000px;
}

.result-secondary{
  border-top: none;
}

.share-card-footer{
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.share-card-brand{
  color: rgba(255, 255, 255, 0.4);
}

/* 合成タイプカード */
.result-composite {
  background: #FBFAF7;
  border-radius: 12px;
  padding: 24px;
  color: #33373A;
}

/* 詳細セクション */
.detail-section {
  background: #FFFFFF;
  border: 2px dotted #E6E2DD;
  border-radius: 12px;;
  padding: 24px 24px;
}

.detail-title {
  color: #1E98A5;
  font-size: .8rem;
}

.detail-list {
  color: #33373A;
}

.detail-list li::before {
  color: #F26F5B;
  background: #F26F5B;
}

.detail-text {
  color: #33373A;
}

.chart-bar-bg{
  background: #f2f1ed;
}

/* 相性タグ */
.compatibility-tags span,
.compatibility-tags .compat-tag {
  border: 1px solid #E6E2DD;
  color: #33373A;
  background: #FBFAF7;
  border-radius: 999px;
}

/* 診断ノート */
.diagnosis-note {
  background: #FFFFFF;
  border: none;
  border-radius: 0px;
  color: #7B7F82;
}

/* スコアチャート */
.score-chart {
  background: #FFFFFF;
  border: 1px solid #E6E2DD;
  border-radius: 24px;
  box-shadow: 0 12px 30px rgba(60, 60, 60, 0.08);
}

.score-chart .detail-title {
  color: #1E98A5;
}

/* タイプ一覧 */
.type-chip {
  grid-template-columns: 40px 1fr;
}
.type-chip.active {
    color: var(--text-primary);
    border: none;
    background: #f2f1ed;
}
.type-chip-img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid #E6E2DD;
}
.type-explorer {
  background: #FFFFFF;
  border: 1px solid #E6E2DD;
  border-radius: 24px;
  box-shadow: 0 12px 30px rgba(60, 60, 60, 0.08);
}

.type-explorer .detail-title {
  color: #1E98A5;
}

.type-explorer-grid .type-card {
  background: #FBFAF7;
  border: 1px solid #E6E2DD;
  border-radius: 16px;
  color: #33373A;
}

.type-explorer-grid .type-card:hover,
.type-explorer-grid .type-card.active {
  border-color: #1E98A5;
  background: rgba(30, 152, 165, 0.04);
}

.type-explorer-grid .type-card .type-card-name {
  color: #33373A;
}

.type-explorer-grid .type-card .type-card-sub {
  color: #7B7F82;
}

.btn-mini {
  background: #FFFFFF;
  border: 1px solid #E6E2DD;
  border-radius: 999px;
  color: #1E98A5;
}

.btn-mini:hover {
  background: #FBFAF7;
}

/* 回答統計 */
.response-stats {
  color: #7B7F82;
}

/* アクションボタン */
.btn-retry {
  background: #FFFFFF;
  border: 1px solid #E6E2DD;
  border-radius: 999px;
  color: #33373A;
}

.btn-retry:hover {
  box-shadow: 0 8px 20px rgba(60, 60, 60, 0.08);
}

.btn-retry.btn-share {
  background: #F26F5B;
  color: #FFFFFF;
  border-color: transparent;
  box-shadow: 0 16px 32px rgba(242, 111, 91, 0.24);
}

.btn-retry.btn-share:hover {
  box-shadow: 0 20px 36px rgba(242, 111, 91, 0.28);
}


@media (max-width: 480px) {
    .abc-preview {
        flex-direction: row;
        gap: 10px;
    }
}
