/* ===== 天命AI占星術 - ライトテーマ ===== */

*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#f8f6f1;--bg-warm:#fdf9f3;--bg-card:#ffffff;
  --gold:#9c7c38;--gold-light:#b8943e;--gold-accent:#d4a84b;--gold-bg:rgba(156,124,56,0.06);--gold-border:rgba(156,124,56,0.18);
  --teal:#2d8f6f;--teal-bg:rgba(45,143,111,0.06);--teal-border:rgba(45,143,111,0.2);
  --purple:#6b5b95;--purple-bg:rgba(107,91,149,0.06);--purple-border:rgba(107,91,149,0.15);
  --rose:#c2566e;
  --text:#2c2836;--text-body:#4a4458;--muted:#8a8399;--muted-light:#b0a9c0;
  --border:rgba(156,124,56,0.15);--border-light:rgba(0,0,0,0.06);
  --shadow:0 2px 12px rgba(0,0,0,0.06);--shadow-lg:0 8px 32px rgba(0,0,0,0.08);
}
html,body{min-height:100%;background:var(--bg);}
body{font-family:'Noto Serif JP',serif;color:var(--text);position:relative;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(212,168,75,0.06) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(107,91,149,0.04) 0%,transparent 50%);pointer-events:none;z-index:0;}

/* 星の背景 - ライト版（微かなパーティクル） */
.stars{position:fixed;inset:0;pointer-events:none;z-index:0;}
.star{position:absolute;width:3px;height:3px;background:var(--gold-accent);border-radius:50%;animation:twinkle var(--d,3s) ease-in-out infinite;animation-delay:var(--delay,0s);opacity:0.15;}
@keyframes twinkle{0%,100%{opacity:0.05;transform:scale(1);}50%{opacity:0.25;transform:scale(1.3);}}

.container{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:2rem 1.25rem 4rem;}

/* ヘッダー */
.header{text-align:center;margin-bottom:1.5rem;}
.logo-circle{width:70px;height:70px;border:1.5px solid var(--gold);border-radius:50%;margin:0 auto 0.75rem;display:flex;align-items:center;justify-content:center;position:relative;animation:rotate-slow 20s linear infinite;background:linear-gradient(135deg,rgba(212,168,75,0.08),rgba(107,91,149,0.06));}
.logo-circle::before{content:'';position:absolute;inset:6px;border:0.5px solid rgba(156,124,56,0.2);border-radius:50%;}
@keyframes rotate-slow{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.logo-inner{font-size:24px;animation:rotate-slow 20s linear infinite reverse;color:var(--gold);}
.header h1{font-family:'Shippori Mincho',serif;font-size:1.6rem;font-weight:600;color:var(--gold);letter-spacing:0.15em;margin-bottom:0.3rem;}
.header .subtitle{font-size:0.7rem;color:var(--muted);letter-spacing:0.2em;}

/* ナビゲーション */
.nav-tabs{display:flex;gap:0.5rem;margin-bottom:1.5rem;}
.nav-tab{flex:1;text-align:center;padding:0.65rem 0.5rem;border-radius:12px;font-family:'Noto Serif JP',serif;font-size:0.75rem;letter-spacing:0.1em;text-decoration:none;transition:all 0.3s;border:1px solid var(--border-light);color:var(--muted);background:var(--bg-card);}
.nav-tab:hover{border-color:var(--gold-border);color:var(--gold);background:var(--gold-bg);}
.nav-tab.active{border-color:var(--gold);background:linear-gradient(135deg,rgba(212,168,75,0.1),rgba(156,124,56,0.05));color:var(--gold);font-weight:500;box-shadow:0 2px 8px rgba(156,124,56,0.1);}

/* 共通UI */
.divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;}
.divider-line{flex:1;height:0.5px;background:linear-gradient(90deg,transparent,var(--gold-border),transparent);}
.divider-symbol{color:var(--gold-accent);font-size:0.75rem;letter-spacing:0.3em;}

.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:16px;padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow);}
.card-title{font-size:0.72rem;letter-spacing:0.3em;color:var(--gold);margin-bottom:1rem;font-weight:500;}

/* 占術タイプ選択 */
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-bottom:0.5rem;}
.type-btn{background:var(--bg-warm);border:1px solid var(--border-light);border-radius:12px;padding:0.6rem 0.4rem;color:var(--muted);font-family:'Noto Serif JP',serif;font-size:0.7rem;cursor:pointer;transition:all 0.2s;text-align:center;line-height:1.4;}
.type-btn .icon{font-size:1rem;display:block;margin-bottom:0.25rem;}
.type-btn:hover{border-color:var(--gold-border);color:var(--gold);background:var(--gold-bg);}
.type-btn.active{border-color:var(--gold);background:linear-gradient(135deg,rgba(212,168,75,0.12),rgba(156,124,56,0.06));color:var(--gold);font-weight:500;box-shadow:0 2px 8px rgba(156,124,56,0.1);}

/* フォーム */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;margin-bottom:0.6rem;}
.form-row.single{grid-template-columns:1fr;}
.field label{display:block;font-size:0.68rem;color:var(--muted);letter-spacing:0.12em;margin-bottom:0.35rem;font-weight:400;}
.field input,.field select{width:100%;background:var(--bg-warm);border:1px solid var(--border-light);border-radius:10px;padding:0.55rem 0.8rem;color:var(--text);font-family:'Noto Serif JP',serif;font-size:0.85rem;outline:none;transition:all 0.2s;}
.field input::placeholder{color:var(--muted-light);}
.field input:focus,.field select:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(156,124,56,0.08);}
.field select option{background:#fff;color:var(--text);}

/* 姓名モード */
.name-mode-toggle{display:flex;gap:0.5rem;margin-bottom:0.9rem;}
.mode-tab{flex:1;background:var(--bg-warm);border:1px solid var(--border-light);border-radius:10px;padding:0.5rem;color:var(--muted);font-family:'Noto Serif JP',serif;font-size:0.68rem;cursor:pointer;transition:all 0.2s;text-align:center;letter-spacing:0.08em;}
.mode-tab.active{border-color:var(--gold);background:linear-gradient(135deg,rgba(212,168,75,0.1),rgba(156,124,56,0.04));color:var(--gold);font-weight:500;}
.name-panel{display:none;}
.name-panel.show{display:block;}

/* 画数入力 */
.kanji-input-grid{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:flex-end;}
.kanji-char-block{display:flex;flex-direction:column;align-items:center;gap:0.3rem;}
.kanji-char-block .char-label{font-size:0.65rem;color:var(--muted);letter-spacing:0.05em;}
.kanji-char-block input.stroke-input{width:52px;background:var(--bg-warm);border:1px solid var(--border-light);border-radius:10px;padding:0.5rem 0.4rem;color:var(--gold);font-family:'Shippori Mincho',serif;font-size:1rem;font-weight:500;text-align:center;outline:none;transition:all 0.2s;}
.kanji-char-block input.stroke-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(156,124,56,0.08);}
.kanji-char-block .char-hint{font-size:0.6rem;color:var(--muted-light);}
.add-char-btn{background:var(--gold-bg);border:1px dashed var(--gold-border);border-radius:10px;width:52px;height:52px;color:var(--gold);font-size:1.2rem;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;}
.add-char-btn:hover{background:rgba(156,124,56,0.1);border-style:solid;}
.remove-char-btn{background:transparent;border:none;color:var(--muted-light);font-size:0.7rem;cursor:pointer;padding:0.1rem 0.2rem;transition:color 0.2s;}
.remove-char-btn:hover{color:var(--rose);}

/* 五格プレビュー */
.gogaku-preview{margin-top:0.75rem;background:var(--gold-bg);border:1px solid var(--gold-border);border-radius:12px;padding:0.75rem;}
.gogaku-title{font-size:0.65rem;color:var(--gold);letter-spacing:0.15em;margin-bottom:0.5rem;font-weight:500;}
.gogaku-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0.4rem;}
.gogaku-item{text-align:center;}
.gogaku-name{font-size:0.58rem;color:var(--muted);margin-bottom:0.2rem;}
.gogaku-val{font-size:0.9rem;color:var(--gold);font-weight:600;}
.gogaku-label{font-size:0.55rem;color:var(--muted-light);margin-top:0.1rem;}

/* 相性セクション */
.compat-section{display:none;}
.compat-section.show{display:block;}

/* 送信ボタン */
.submit-btn{width:100%;background:linear-gradient(135deg,#b8943e,#9c7c38);border:none;border-radius:14px;padding:0.95rem;color:#fff;font-family:'Shippori Mincho',serif;font-size:0.95rem;font-weight:500;letter-spacing:0.2em;cursor:pointer;transition:all 0.3s;box-shadow:0 4px 16px rgba(156,124,56,0.25);}
.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(156,124,56,0.3);}
.submit-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(156,124,56,0.2);}

/* ローディング */
.loading-overlay{display:none;position:fixed;inset:0;background:rgba(248,246,241,0.95);z-index:100;align-items:center;justify-content:center;flex-direction:column;gap:1.25rem;backdrop-filter:blur(8px);}
.loading-overlay.show{display:flex;}
.mandala{width:100px;height:100px;position:relative;}
.mandala-ring{position:absolute;border-radius:50%;border:1.5px solid var(--gold-accent);top:50%;left:50%;transform:translate(-50%,-50%);}
.mandala-ring:nth-child(1){width:34px;height:34px;animation:spin 3s linear infinite;}
.mandala-ring:nth-child(2){width:58px;height:58px;border-style:dashed;animation:spin 5s linear infinite reverse;opacity:0.5;}
.mandala-ring:nth-child(3){width:80px;height:80px;animation:spin 8s linear infinite;opacity:0.3;}
.mandala-ring:nth-child(4){width:100px;height:100px;border-style:dotted;animation:spin 12s linear infinite reverse;opacity:0.15;}
@keyframes spin{from{transform:translate(-50%,-50%) rotate(0deg);}to{transform:translate(-50%,-50%) rotate(360deg);}}
.loading-text{color:var(--gold);font-size:0.82rem;letter-spacing:0.2em;animation:pulse 2s ease-in-out infinite;font-weight:500;}
.loading-methods{display:flex;flex-wrap:wrap;gap:0.4rem;justify-content:center;max-width:300px;}
.method-tag{font-size:0.62rem;color:var(--muted);border:1px solid var(--border-light);border-radius:20px;padding:0.2rem 0.55rem;background:var(--bg-card);}
@keyframes pulse{0%,100%{opacity:0.6;}50%{opacity:1;}}

/* 結果セクション */
.result-section{display:none;}
.result-section.show{display:block;}
.result-header{text-align:center;padding:1.5rem 0 1.25rem;}
.score-ring{width:90px;height:90px;margin:0 auto 0.75rem;position:relative;}
.score-ring svg{transform:rotate(-90deg);}
.score-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Shippori Mincho',serif;font-size:1.5rem;color:var(--gold);font-weight:600;}
.consensus-badge{display:inline-flex;align-items:center;gap:0.4rem;background:var(--teal-bg);border:1px solid var(--teal-border);border-radius:20px;padding:0.3rem 0.8rem;font-size:0.68rem;color:var(--teal);letter-spacing:0.1em;margin-bottom:0.75rem;font-weight:500;}

.result-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:14px;padding:1.1rem;margin-bottom:0.85rem;box-shadow:var(--shadow);}
.result-card.oracle-card{border-color:var(--teal-border);background:linear-gradient(135deg,rgba(45,143,111,0.04),rgba(212,168,75,0.04));}
.oracle-text{font-size:0.95rem;line-height:1.9;color:var(--text);text-align:center;padding:0.5rem 0;font-weight:400;}
.result-category{display:flex;align-items:center;gap:0.5rem;font-size:0.68rem;letter-spacing:0.2em;color:var(--gold);margin-bottom:0.65rem;font-weight:500;}
.result-text{font-size:0.85rem;line-height:1.85;color:var(--text-body);}
.methods-used{margin-top:0.65rem;display:flex;flex-wrap:wrap;gap:0.35rem;}
.method-pill{font-size:0.58rem;background:var(--purple-bg);border:1px solid var(--purple-border);border-radius:20px;padding:0.15rem 0.5rem;color:var(--purple);}
.lucky-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-top:0.65rem;}
.lucky-item{background:var(--gold-bg);border:1px solid var(--gold-border);border-radius:12px;padding:0.6rem;text-align:center;}
.lucky-item .lucky-label{font-size:0.58rem;color:var(--muted);letter-spacing:0.1em;margin-bottom:0.25rem;}
.lucky-item .lucky-val{font-size:0.82rem;color:var(--gold);font-weight:500;}

/* シェア・リトライ */
.share-row{display:flex;gap:0.6rem;margin-top:1rem;}
.share-btn{flex:1;border-radius:12px;padding:0.65rem;font-family:'Noto Serif JP',serif;font-size:0.75rem;cursor:pointer;transition:all 0.2s;letter-spacing:0.08em;border:1px solid;}
.share-btn.x-btn{background:#1a1a1a;border-color:#1a1a1a;color:#fff;}
.share-btn.x-btn:hover{background:#333;}
.share-btn.line-btn{background:#06c755;border-color:#06c755;color:#fff;}
.share-btn.line-btn:hover{background:#05b04b;}
.share-btn.copy-btn{background:var(--gold-bg);border-color:var(--gold-border);color:var(--gold);}
.share-btn.copy-btn:hover{background:rgba(156,124,56,0.12);}
.retry-btn{width:100%;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;padding:0.7rem;color:var(--muted);font-family:'Noto Serif JP',serif;font-size:0.78rem;cursor:pointer;letter-spacing:0.1em;margin-top:0.85rem;transition:all 0.2s;box-shadow:var(--shadow);}
.retry-btn:hover{border-color:var(--gold);color:var(--gold);}
.disclaimer{text-align:center;font-size:0.63rem;color:var(--muted-light);margin-top:1.5rem;line-height:1.6;letter-spacing:0.05em;}
.footer{text-align:center;margin-top:2rem;font-size:0.65rem;color:var(--muted-light);letter-spacing:0.15em;}

/* ===== 24占術一覧ページ ===== */

.methods-hero{text-align:center;margin-bottom:1.5rem;}
.methods-hero-title{font-family:'Shippori Mincho',serif;font-size:1.3rem;color:var(--gold);letter-spacing:0.2em;margin-bottom:0.5rem;}
.methods-hero-desc{font-size:0.72rem;color:var(--muted);line-height:1.8;letter-spacing:0.06em;}
.methods-stats{display:flex;justify-content:center;gap:2rem;margin-top:1rem;}
.methods-stat-item{display:flex;flex-direction:column;align-items:center;gap:0.15rem;}
.methods-stat-num{font-family:'Shippori Mincho',serif;font-size:1.4rem;color:var(--gold);font-weight:600;}
.methods-stat-label{font-size:0.6rem;color:var(--muted);letter-spacing:0.15em;}

/* カテゴリフィルター */
.category-filter{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1.25rem;justify-content:center;}
.filter-btn{background:var(--bg-card);border:1px solid var(--border-light);border-radius:20px;padding:0.4rem 0.75rem;color:var(--muted);font-family:'Noto Serif JP',serif;font-size:0.65rem;cursor:pointer;transition:all 0.25s;letter-spacing:0.05em;white-space:nowrap;box-shadow:0 1px 4px rgba(0,0,0,0.04);}
.filter-btn:hover{border-color:var(--gold-border);color:var(--gold);background:var(--gold-bg);}
.filter-btn.active{border-color:var(--gold);background:linear-gradient(135deg,rgba(212,168,75,0.1),rgba(156,124,56,0.05));color:var(--gold);font-weight:500;box-shadow:0 2px 8px rgba(156,124,56,0.1);}
.filter-count{font-size:0.58rem;opacity:0.6;margin-left:0.15rem;}

/* カテゴリヘッダー */
.method-category-header{display:flex;align-items:center;gap:0.6rem;margin:1.25rem 0 0.75rem;padding-bottom:0.5rem;border-bottom:1px solid var(--border-light);}
.method-category-icon{font-size:1.1rem;}
.method-category-title{font-family:'Shippori Mincho',serif;font-size:0.85rem;color:var(--gold);letter-spacing:0.15em;font-weight:500;}
.method-category-count{font-size:0.6rem;color:var(--muted);margin-left:auto;letter-spacing:0.1em;}

/* 占術カード */
.method-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:14px;margin-bottom:0.6rem;overflow:hidden;cursor:pointer;transition:all 0.3s ease;box-shadow:0 1px 6px rgba(0,0,0,0.04);}
.method-card:hover{border-color:var(--gold-border);transform:translateY(-1px);box-shadow:var(--shadow-lg);}
.method-card.expanded{border-color:var(--gold);box-shadow:0 4px 20px rgba(156,124,56,0.12);}
.method-card-header{display:flex;align-items:center;gap:0.65rem;padding:0.85rem 1rem;}
.method-card-num{width:28px;height:28px;border-radius:50%;border:1px solid var(--gold-border);display:flex;align-items:center;justify-content:center;font-size:0.6rem;color:var(--gold);font-weight:600;flex-shrink:0;background:var(--gold-bg);}
.method-card-icon{font-size:1.3rem;flex-shrink:0;width:28px;text-align:center;}
.method-card-info{flex:1;min-width:0;}
.method-card-name{font-family:'Shippori Mincho',serif;font-size:0.85rem;color:var(--text);letter-spacing:0.08em;margin-bottom:0.15rem;font-weight:500;}
.method-card-origin{font-size:0.6rem;color:var(--muted);letter-spacing:0.05em;}
.method-card-arrow{color:var(--muted-light);font-size:0.7rem;transition:transform 0.3s;flex-shrink:0;}
.method-card.expanded .method-card-arrow{transform:rotate(180deg);color:var(--gold);}

/* 占術カード詳細 */
.method-card-detail{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.3s ease;}
.method-card.expanded .method-card-detail{max-height:600px;padding:0 1rem 1rem;}
.method-detail-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-light),transparent);margin-bottom:0.85rem;}
.method-detail-desc{font-size:0.78rem;line-height:1.85;color:var(--text-body);margin-bottom:0.85rem;}
.method-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-bottom:0.75rem;}
.method-detail-item{background:var(--bg-warm);border:1px solid var(--border-light);border-radius:10px;padding:0.5rem 0.65rem;}
.method-detail-label{font-size:0.58rem;color:var(--gold);letter-spacing:0.1em;margin-bottom:0.2rem;font-weight:500;}
.method-detail-value{font-size:0.72rem;color:var(--text-body);line-height:1.5;}
.method-detail-tags{display:flex;flex-wrap:wrap;gap:0.3rem;}
.method-detail-tag{font-size:0.58rem;background:var(--teal-bg);border:1px solid var(--teal-border);border-radius:15px;padding:0.15rem 0.5rem;color:var(--teal);font-weight:400;}

/* 占術カード 非表示 */
.method-card.hidden{display:none;}
.method-category-header.hidden{display:none;}

/* スコアリングSVG */
.score-ring circle:first-child{stroke:rgba(156,124,56,0.12);}
.score-ring circle:last-child{stroke:var(--gold-accent);}

/* ===== 24占術 個別診断セクション ===== */
.detail-section-header{text-align:center;margin:1.5rem 0 1rem;padding-top:0.5rem;}
.detail-section-title{display:flex;align-items:center;justify-content:center;gap:0.5rem;font-size:0.78rem;letter-spacing:0.2em;color:var(--gold);font-weight:500;margin-bottom:0.4rem;}
.detail-section-desc{font-size:0.65rem;color:var(--muted);letter-spacing:0.05em;}

.md-cat-label{font-size:0.7rem;color:var(--gold);letter-spacing:0.15em;font-weight:500;margin:1rem 0 0.5rem;padding-left:0.2rem;}

.md-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;margin-bottom:0.5rem;overflow:hidden;cursor:pointer;transition:all 0.25s ease;box-shadow:0 1px 4px rgba(0,0,0,0.03);}
.md-card:hover{border-color:var(--gold-border);box-shadow:var(--shadow);}
.md-card.open{border-color:var(--gold);box-shadow:0 3px 16px rgba(156,124,56,0.1);}

.md-card-header{display:flex;align-items:center;gap:0.5rem;padding:0.65rem 0.8rem;}
.md-card-icon{font-size:1.1rem;flex-shrink:0;width:24px;text-align:center;}
.md-card-info{flex:1;min-width:0;}
.md-card-name{font-family:'Shippori Mincho',serif;font-size:0.75rem;color:var(--text);letter-spacing:0.06em;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.md-card-symbol{font-size:0.58rem;color:var(--muted);letter-spacing:0.03em;margin-top:0.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.md-card-badges{display:flex;gap:0.3rem;flex-shrink:0;}
.md-verdict{font-size:0.55rem;padding:0.12rem 0.4rem;border-radius:10px;font-weight:600;letter-spacing:0.05em;}
.md-verdict-daikichi{background:rgba(212,168,75,0.15);color:#9c7c38;border:1px solid rgba(212,168,75,0.3);}
.md-verdict-kichi{background:rgba(45,143,111,0.1);color:var(--teal);border:1px solid rgba(45,143,111,0.25);}
.md-verdict-chukichi{background:rgba(107,91,149,0.1);color:var(--purple);border:1px solid rgba(107,91,149,0.2);}
.md-verdict-shokichi{background:rgba(138,131,153,0.1);color:var(--muted);border:1px solid rgba(138,131,153,0.2);}
.md-verdict-kyo{background:rgba(194,86,110,0.08);color:var(--rose);border:1px solid rgba(194,86,110,0.2);}

.md-dir{font-size:0.5rem;padding:0.1rem 0.35rem;border-radius:8px;letter-spacing:0.05em;}
.md-dir-consensus{background:var(--teal-bg);color:var(--teal);border:1px solid var(--teal-border);}
.md-dir-divergent{background:rgba(138,131,153,0.06);color:var(--muted);border:1px solid rgba(138,131,153,0.15);}

.md-card-score{display:flex;align-items:center;gap:0.3rem;flex-shrink:0;width:60px;}
.md-score-bar{flex:1;height:4px;background:var(--border-light);border-radius:2px;overflow:hidden;}
.md-score-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-accent));border-radius:2px;transition:width 0.6s ease;}
.md-score-num{font-size:0.55rem;color:var(--gold);font-weight:600;width:18px;text-align:right;}

.md-card-arrow{color:var(--muted-light);font-size:0.6rem;transition:transform 0.3s;flex-shrink:0;margin-left:0.2rem;}
.md-card.open .md-card-arrow{transform:rotate(180deg);color:var(--gold);}

.md-card-body{max-height:0;overflow:hidden;transition:max-height 0.35s ease,padding 0.25s ease;}
.md-card.open .md-card-body{max-height:400px;padding:0 0.8rem 0.75rem;}
.md-body-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-light),transparent);margin-bottom:0.6rem;}
.md-summary{font-size:0.78rem;line-height:1.7;color:var(--text);margin-bottom:0.5rem;font-weight:500;}
.md-detail{font-size:0.72rem;line-height:1.8;color:var(--text-body);}

/* ===== 占術プロフィールセクション ===== */
.profile-section{margin-top:1.5rem;margin-bottom:0.5rem;}
.profile-header{display:flex;align-items:center;justify-content:center;gap:0.5rem;font-family:'Shippori Mincho',serif;font-size:0.95rem;color:var(--gold);letter-spacing:0.15em;font-weight:600;margin-bottom:0.4rem;}
.profile-desc{text-align:center;font-size:0.65rem;color:var(--muted);letter-spacing:0.05em;margin-bottom:1.25rem;}

/* 動物占いカード */
.animal-card{background:var(--bg-card);border:1px solid var(--gold-border);border-radius:18px;padding:1.4rem 1.2rem;margin-bottom:1.25rem;box-shadow:0 4px 20px rgba(156,124,56,0.08);position:relative;overflow:hidden;}
.animal-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-accent),var(--teal),var(--purple));opacity:0.7;}
.animal-card-badge{display:inline-block;font-size:0.6rem;color:var(--gold);letter-spacing:0.15em;font-weight:500;background:var(--gold-bg);border:1px solid var(--gold-border);border-radius:20px;padding:0.2rem 0.7rem;margin-bottom:1rem;}

/* メインビジュアル */
.animal-card-hero{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:0 0.5rem;}
.animal-card-emoji{font-size:3.5rem;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.1));animation:animalBounce 3s ease-in-out infinite;}
@keyframes animalBounce{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
.animal-card-title{flex:1;}
.animal-card-60name{font-family:'Shippori Mincho',serif;font-size:1.3rem;color:var(--text);letter-spacing:0.08em;font-weight:600;line-height:1.4;margin-bottom:0.25rem;}
.animal-card-no{font-size:0.68rem;color:var(--muted);letter-spacing:0.1em;}

/* 3ステップ階層表示 */
.animal-steps{display:flex;flex-direction:column;gap:0;}
.animal-step{position:relative;}
.animal-step-num{position:absolute;left:0;top:0;font-size:0.5rem;color:var(--muted-light);letter-spacing:0.15em;font-weight:700;text-transform:uppercase;}
.animal-step-box{margin-left:0;padding:0.85rem;border-radius:14px;border:1px solid var(--border-light);background:var(--bg-warm);transition:all 0.3s;}
.animal-step-base{border-color:var(--gold-border);background:linear-gradient(135deg,rgba(212,168,75,0.06),rgba(156,124,56,0.02));}
.animal-step-60{border-color:var(--teal-border);background:linear-gradient(135deg,rgba(45,143,111,0.04),rgba(45,143,111,0.01));}
.animal-step-group{border-color:color-mix(in srgb, var(--group-color, var(--purple)) 30%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--group-color, var(--purple)) 6%, transparent),color-mix(in srgb, var(--group-color, var(--purple)) 2%, transparent));}
.animal-step-label{font-size:0.62rem;color:var(--muted);letter-spacing:0.12em;font-weight:500;margin-bottom:0.45rem;display:flex;align-items:center;gap:0.4rem;}
.animal-step-count{font-size:0.55rem;background:rgba(0,0,0,0.04);border-radius:8px;padding:0.08rem 0.35rem;color:var(--muted-light);}
.animal-step-main{font-family:'Shippori Mincho',serif;font-size:1.05rem;color:var(--text);font-weight:600;letter-spacing:0.05em;margin-bottom:0.35rem;display:flex;align-items:center;gap:0.4rem;flex-wrap:wrap;}
.animal-step-emoji{font-size:1.4rem;}
.animal-step-desc{font-size:0.7rem;color:var(--text-body);line-height:1.75;letter-spacing:0.02em;}

/* コネクター */
.animal-step-connector{display:flex;flex-direction:column;align-items:center;padding:0.25rem 0;position:relative;}
.animal-step-line{width:2px;height:12px;background:linear-gradient(180deg,var(--gold-border),var(--border-light));border-radius:1px;}
.animal-step-arrow{font-size:0.5rem;color:var(--gold-accent);line-height:1;margin-top:-2px;}

/* グループ一覧チップ */
.animal-group-icon{font-size:1.4rem;}
.animal-group-all{display:flex;gap:0.4rem;margin-top:0.65rem;flex-wrap:wrap;}
.animal-group-chip{font-size:0.62rem;padding:0.25rem 0.55rem;border-radius:16px;border:1px solid rgba(0,0,0,0.06);background:rgba(0,0,0,0.02);color:var(--muted);transition:all 0.2s;white-space:nowrap;}
.animal-group-chip.active{border-color:color-mix(in srgb, var(--chip-color, var(--gold)) 35%, transparent);background:color-mix(in srgb, var(--chip-color, var(--gold)) 10%, transparent);color:var(--chip-color, var(--gold));font-weight:600;box-shadow:0 2px 8px color-mix(in srgb, var(--chip-color, var(--gold)) 15%, transparent);}

/* 計算式フッター */
.animal-card-footer{margin-top:1.25rem;padding-top:0.85rem;border-top:1px solid var(--border-light);}
.animal-card-formula{display:flex;align-items:center;justify-content:center;gap:0.35rem;flex-wrap:wrap;}
.formula-part{font-size:0.68rem;color:var(--muted);letter-spacing:0.05em;display:flex;align-items:baseline;gap:0.2rem;}
.formula-num{font-family:'Shippori Mincho',serif;font-size:1.1rem;color:var(--gold);font-weight:700;}
.formula-op{font-size:0.75rem;color:var(--muted-light);font-weight:300;}
.formula-eq{font-size:0.85rem;color:var(--gold-accent);font-weight:600;}
.formula-result{color:var(--teal);font-weight:500;}
.formula-result .formula-num{color:var(--teal);}

/* 占術プロフィールグリッド */
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;}
.profile-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;padding:0.65rem 0.55rem;text-align:center;transition:all 0.2s;box-shadow:0 1px 4px rgba(0,0,0,0.03);}
.profile-item:hover{border-color:var(--gold-border);box-shadow:var(--shadow);}
.profile-item-icon{font-size:1.15rem;margin-bottom:0.3rem;}
.profile-item-label{font-size:0.55rem;color:var(--muted);letter-spacing:0.08em;margin-bottom:0.3rem;font-weight:400;}
.profile-item-val{font-family:'Shippori Mincho',serif;font-size:0.78rem;color:var(--text);font-weight:600;margin-bottom:0.15rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-item-sub{font-size:0.55rem;color:var(--muted-light);letter-spacing:0.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* レスポンシブ */
@media(max-width:480px){
  .form-row{grid-template-columns:1fr;}
  .type-grid{grid-template-columns:repeat(2,1fr);}
  .lucky-grid{grid-template-columns:repeat(2,1fr);}
  .gogaku-grid{grid-template-columns:repeat(3,1fr);}
  .share-row{flex-direction:column;}
  .method-detail-grid{grid-template-columns:1fr;}
  .methods-stats{gap:1.2rem;}
  .category-filter{gap:0.3rem;}
  .filter-btn{padding:0.35rem 0.6rem;font-size:0.6rem;}
  .md-card-header{gap:0.35rem;padding:0.55rem 0.65rem;}
  .md-card-score{width:50px;}
  .md-card-name{font-size:0.7rem;}
  .profile-grid{grid-template-columns:repeat(2,1fr);}
  .animal-card{padding:1rem 0.9rem;}
  .animal-card-emoji{font-size:2.8rem;}
  .animal-card-60name{font-size:1.1rem;}
  .animal-step-main{font-size:0.9rem;}
  .animal-card-formula{gap:0.25rem;}
  .formula-num{font-size:0.95rem;}
  .formula-part{font-size:0.6rem;}
  .animal-group-all{gap:0.3rem;}
  .animal-group-chip{font-size:0.56rem;padding:0.2rem 0.45rem;}
}
