.ma-yearly-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;flex-wrap:wrap}
.ma-yearly-head .ma-yearly-title strong{margin:0;font-size:1.1rem;font-weight:700}
.ma-yearly-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.ma-yearly-controls label{display:flex;gap:.35rem;align-items:center;font-size:.9rem}
.ma-yearly-controls input[type="number"],.ma-yearly-controls input[type="text"],.ma-yearly-controls select{padding:.35rem .5rem;border:1px solid #ddd;border-radius:.5rem}
.ma-yearly-controls button{padding:.45rem .75rem;border:0;border-radius:.75rem;background:#111;color:#fff;cursor:pointer}
.ma-yearly-status{color:#666;font-size:.9rem;margin:.5rem 0}

.ma-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}
.ma-card{border:1px solid #eee;border-radius:1rem;padding:.75rem;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ma-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.ma-badge{display:inline-block;font-size:.72rem;padding:.15rem .5rem;border-radius:999px;background:#eee}
.ma-badge.ma-ingress{background:#e6f2ff}
.ma-badge.ma-retrograde_start{background:#fff3cd}
.ma-badge.ma-retrograde_end{background:#eaf7e1}
.ma-when{font-size:.9rem;color:#333;margin-bottom:.25rem}

.ma-table{width:100%;
max-width: 100%;
border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #eee;border-radius:.75rem;overflow:hidden;
overflow-x: auto; /* テーブルが広すぎる場合にスクロールできるように */
table-layout: auto
}
.ma-table th,.ma-table td{padding:.6rem .7rem;border-bottom:1px solid #f2f2f2;vertical-align:top}
.ma-table thead th{background:#fafafa;text-align:left;font-weight:600}
.ma-table tr.row-ingress td:nth-child(3){color:#0b6}
.ma-table tr.row-retrograde_start td:nth-child(3){color:#b80}
.ma-table tr.row-retrograde_end td:nth-child(3){color:#096}

.ma-timeline{position:relative;margin-left:1rem}
.ma-timeline:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:#eee}
.ma-tl-item{position:relative;display:flex;gap:.75rem;margin-bottom:1rem}
.ma-tl-item .dot{width:14px;height:14px;border-radius:50%;background:#111;position:relative;top:.2rem}
.ma-tl-item.ingress .dot{background:#2d7}
.ma-tl-item.retrograde_start .dot{background:#fa0}
.ma-tl-item.retrograde_end .dot{background:#3a6}
.ma-tl-item .content{background:#fff;border:1px solid #eee;border-radius:.75rem;padding:.5rem .75rem;flex:1}
.ma-tl-item .badge{margin-left:.5rem;font-size:.72rem;padding:.1rem .5rem;border-radius:999px;background:#eee}

.ma-interpret{margin-top:.5rem; padding:.5rem .75rem; border-left:3px solid #ddd; background:#fafafa; border-radius:.25rem;}
.ma-int-title{font-weight:700; margin-bottom:.25rem;}
.ma-int-actions{margin:.25rem 0 0 .75rem; padding:0;}
.ma-int-actions li{list-style:disc;}



/* 既存ショートコード用の軽いポリッシュ */
.my-astro-today-card{border:1px solid #eee;border-radius:1rem;padding:1rem;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04);margin:1rem 0}
.my-astro-today-card h3{margin-top:0}
.my-astro-today-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}
.my-astro-pill{display:inline-block;background:#f3f4f6;border-radius:999px;padding:.2rem .6rem;margin-right:.35rem;font-size:.82rem}
.my-astro-kv{font-size:.95rem;color:#333}

.my-astro-lunation{margin:1rem 0}
.my-astro-lunation table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #eee;border-radius:.75rem;overflow:hidden}
.my-astro-lunation th,.my-astro-lunation td{padding:.6rem .7rem;border-bottom:1px solid #f5f5f5}
.my-astro-lunation thead th{background:#fafafa;text-align:left}
.my-astro-lunation tr[data-type="new"] td{background:#fff9f0}
.my-astro-lunation tr[data-type="full"] td{background:#f0fbff}


/* ma-weights-panelのスタイル */
.ma-weights-panel {
width:100%;
  margin: .75rem 0 0;
  padding: .75rem;
  border: 1px solid #e5e7eb;
  border-radius: .5rem;
  background: #fafafa;
}

/* ma-weights-panel内のh4スタイル */
.ma-weights-panel h4 {
  margin: .5rem 0;
  font-size: 14px;
}

/* ma-wt-tableのスタイル */
.ma-wt-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: .75rem;
}

/* ma-wt-tableのthとtdのスタイル */
.ma-wt-table th,
.ma-wt-table td {
  border: 1px solid #e5e7eb;
  padding: .4rem .5rem;
  font-size: 13px;
}

/* ma-wt-tableのtr.overriddenスタイル */
.ma-wt-table tr.overridden td {
  background: #fff8dd;
  font-weight: 600;
}

/* ma-weights-noteのスタイル */
.ma-weights-note {
  margin-bottom: .5rem;
  color: #555;
}

/* ma-weights-toggleのスタイル */
.ma-weights-toggle {
  margin-left: .5rem;

}

/* ma-yearly-head: 親要素の幅を固定して内容が収まるように */
.ma-yearly-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0;
  flex-wrap: wrap;
  width: 100%;  /* 親要素の幅を100%にして、子要素が収まるように */
}

/* ma-yearly-controls: 繰り返し表示される要素が正しく配置されるように調整 */
.ma-yearly-controls {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  width: 100%;  /* 横並びにするため、幅を100%に */
}

/* グリッドレイアウトを調整 */
.ma-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); /* 1カラムずつの表示を調整 */
  gap: .75rem;
  width: 100%;  /* 親要素の幅に合わせる */
}

/* テーブルの幅調整 */
.ma-table {
  width: 100%;
  max-width: 100%;  /* テーブルが親要素に収まるように */
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid #eee;
  border-radius: .75rem;
  overflow: hidden;
  table-layout: auto;
}

/* テーブル内のセルのスタイル */
.ma-table th,
.ma-table td {
  padding: .6rem .7rem;
  border-bottom: 1px solid #f2f2f2;
  vertical-align: top;
}

.ma-table thead th {
  background: #fafafa;
  text-align: left;
  font-weight: 600;
}

/* ma-badgeの表示を改善 */
.ma-badge {
  display: inline-block;
  font-size: .72rem;
  padding: .15rem .5rem;
  border-radius: 999px;
  background: #eee;
}

/* スマホや小さい画面向けに調整 */
@media (max-width: 768px) {
  .ma-cards {
    grid-template-columns: 1fr;  /* 小さい画面では1カラムに */
  }
  .ma-yearly-head {
    flex-direction: column;  /* 小さい画面での折り返し */
  }
}



.is-loading{animation:pulse 1.2s infinite ease-in-out;background:linear-gradient(90deg,#fafafa,#f3f3f3,#fafafa);background-size:200% 100%;color:transparent}
@keyframes pulse{0%{background-position:200% 0}100%{background-position:-200% 0}}