/*! StockArchive 用語辞典ページ専用CSS（テーマ style.css から移管・段階2）。
   プラグインが用語辞典ページでのみ enqueue する。共通クラス(.sa-container/.sa-kicker/.sa-anim 等)の土台はテーマ側。 */
.sa-inspire-hero {
  padding: 96px 24px 80px;
  text-align: center;
  background: var(--sa-bg-base);
  border-bottom: 1px solid var(--sa-border);
}.sa-inspire-hero .sa-container { max-width: 1100px; }.sa-inspire-h1 {
  font-size: clamp(36px, 5.5vw, 62px);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.25;
  margin: 12px 0 32px;
}.sa-inspire-hero-lead {
  font-size: clamp(15px, 1.8vw, 17px);
  color: var(--sa-text-sub);
  line-height: 2;
}@media (max-width: 640px) {.sa-inspire-hero { padding: 64px 20px 52px; }.sa-inspire-h1 { margin-bottom: 20px; }}.sa-term-yomi {
  font-size: 16px;
  color: var(--sa-cyan);
  margin-top: 8px;
  font-family: var(--sa-font-mono);
}.sa-term-page { max-width: 760px; margin: 0 auto; }.sa-term-body {
  font-size: 16px;
  line-height: 1.8;
  color: var(--sa-text-sub);
}.sa-term-related {
  margin-top: 44px;
  padding-top: 28px;
  border-top: 1px solid var(--sa-border);
}.sa-term-related-title {
  font-family: var(--sa-font-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--sa-cyan);
  margin: 0 0 16px;
}.sa-term-related-list { display: flex; flex-wrap: wrap; gap: 10px; }.sa-term-related-list a {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: var(--sa-text);
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-border);
  border-radius: 999px;
  padding: 8px 18px;
  transition: border-color 0.15s ease, color 0.15s ease;
}.sa-term-related-list a:hover { border-color: var(--sa-cyan); color: var(--sa-cyan); }.sa-term-back { margin-top: 40px; font-size: 14px; }.sa-term-back a { color: var(--sa-text-sub); }.sa-term-back a:hover { color: var(--sa-cyan); }.sa-glossary-cat { margin-bottom: 40px; }.sa-glossary-cat-title {
  font-family: var(--sa-font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--sa-text);
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--sa-border);
  scroll-margin-top: 90px;
}.sa-glossary-grid { display: flex; flex-wrap: wrap; gap: 7px; }.sa-glossary-link {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: var(--sa-text);
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-border);
  border-radius: var(--sa-radius-md);
  padding: 7px 12px;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}.sa-glossary-link:hover {
  border-color: var(--sa-cyan);
  background: var(--sa-bg-elevated);
  transform: translateY(-2px);
  color: var(--sa-cyan);
}.sa-glossary-count {
  font-family: var(--sa-font-mono);
  font-size: 15px;
  color: var(--sa-cyan);
  margin-top: 10px;
  letter-spacing: 0.02em;
}.sa-glossary-count strong { font-size: 20px; font-weight: 800; }.sa-glossary-cat-count {
  font-family: var(--sa-font-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--sa-text-muted);
  margin-left: 12px;
  vertical-align: middle;
}.sa-term-cta {
  margin-top: 48px;
  padding: 32px 28px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--sa-cyan) 8%, transparent), color-mix(in srgb, var(--sa-cyan) 2%, transparent));
  border: 1px solid var(--sa-border-active);
  border-radius: var(--sa-radius-lg);
  text-align: center;
}.sa-term-cta-lead {
  font-family: var(--sa-font-display);
  font-size: 19px;
  font-weight: 700;
  color: var(--sa-text);
  margin: 0 0 12px;
  line-height: 1.6;
}.sa-term-cta-text {
  font-size: 14.5px;
  color: var(--sa-text-sub);
  line-height: 1.9;
  margin: 0 0 24px;
}.sa-term-cta-btn {
  display: inline-block;
  font-family: var(--sa-font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--sa-bg-base);
  background: var(--sa-cyan);
  border-radius: 999px;
  padding: 15px 40px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 4px 20px color-mix(in srgb, var(--sa-cyan) 25%, transparent);
}.sa-term-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px color-mix(in srgb, var(--sa-cyan) 40%, transparent);
  color: var(--sa-bg-base);
}.sa-term-cta-note {
  font-size: 11.5px;
  color: var(--sa-text-muted);
  margin: 18px 0 0;
  line-height: 1.7;
}.sa-term-inlink {
  color: var(--sa-cyan);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--sa-cyan) 35%, transparent);
  transition: border-color 0.15s ease, color 0.15s ease;
}.sa-term-inlink:hover {
  color: #5FE3FF;
  border-bottom-color: var(--sa-cyan);
}.sa-breadcrumb {
  border-bottom: 1px solid var(--sa-border);
}.sa-breadcrumb .sa-container {
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  color: var(--sa-text-sub);
}.sa-breadcrumb a {
  color: var(--sa-text-sub);
  text-decoration: none;
}.sa-breadcrumb a:hover {
  color: var(--sa-cyan);
  text-decoration: underline;
}.sa-breadcrumb-sep {
  opacity: 0.55;
}.sa-breadcrumb-current {
  color: var(--sa-text);
  font-weight: 600;
}.sa-glossary-search { max-width: 640px; margin: 0 auto 48px; position: relative; }.sa-glossary-search-box {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f4f5f7;
  border: 1px solid #e3e6ea;
  border-radius: 10px;
  padding: 14px 18px;
  transition: border-color 0.15s ease;
}.sa-glossary-search-box:focus-within { border-color: #bcc3cc; }.sa-glossary-search-box svg { color: #888; stroke: currentColor; flex: 0 0 auto; }.sa-glossary-search-input {
  flex: 1 1 auto;
  border: none !important;
  outline: none;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font-size: 16px;
  color: #111 !important;
  font-family: var(--sa-font-base);
}.sa-glossary-search-input:focus {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}.sa-glossary-search-input::placeholder { color: #9aa5b5 !important; }.sa-glossary-search-results {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  background: var(--sa-text);
  border-radius: 10px;
  overflow: hidden;
}.sa-glossary-search-results:empty { background: transparent; }.sa-glossary-search-results li { border-bottom: 1px solid #eee; }.sa-glossary-search-results li:last-child { border-bottom: none; }.sa-glossary-search-results a {
  display: block;
  padding: 14px 16px;
  color: #1a2230;
  text-decoration: none;
  font-size: 16px;
  transition: color 0.15s ease, background 0.15s ease;
}.sa-glossary-search-results a:hover { color: var(--sa-cyan); background: #f4f5f7; }.sa-glossary-search-icon { color: #888; stroke: currentColor; flex: 0 0 auto; }.sa-glossary-search-empty {
  padding: 14px 16px;
  color: #6b7685;
  font-size: 14px;
  background: var(--sa-text);
  border-bottom: none !important;
}.sa-term-cta-mid{margin:36px 0;background:color-mix(in srgb, var(--sa-cyan) 6%, transparent);border:1px solid color-mix(in srgb, var(--sa-cyan) 25%, transparent);}.sa-term-body h2{font-size:clamp(24px,3.6vw,32px);font-weight:800;letter-spacing:-0.02em;line-height:1.45;margin-top:52px;margin-bottom:24px;}.sa-term-body h3{font-size:18px;font-weight:700;line-height:1.5;margin-top:32px;margin-bottom:12px;}.sa-term-body p{font-size:16px;color:var(--sa-text);line-height:1.85;margin:0 0 1.4em;text-align:left;word-break:normal;overflow-wrap:anywhere;}.sa-term-body strong{color:var(--sa-text);font-weight:700;}.sa-guide-cards-wrap{margin:8px 0 40px;scroll-margin-top:110px;}.sa-guide-cards-title{font-size:1.4rem;font-weight:700;margin:0 0 6px;color:var(--sa-text);}.sa-guide-cards-lead{font-size:.92rem;color:var(--sa-text-sub);line-height:1.7;margin:0 0 20px;}.sa-guide-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}.sa-guide-card{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:var(--sa-bg-card,var(--sa-bg-card));border:1px solid color-mix(in srgb, var(--sa-cyan) 20%, transparent);border-radius:14px;text-decoration:none;transition:transform .15s ease,border-color .15s ease,background .15s ease;}.sa-guide-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb, var(--sa-cyan) 60%, transparent);background:color-mix(in srgb, var(--sa-cyan) 6%, transparent);}.sa-guide-card-tag{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:700;color:var(--sa-bg-base);background:var(--sa-cyan);border-radius:6px;padding:3px 10px;}.sa-guide-card-ai .sa-guide-card-tag{background:var(--sa-up);}.sa-guide-card-title{font-size:1.12rem;font-weight:700;color:var(--sa-text);}.sa-guide-card-desc{font-size:.86rem;color:var(--sa-text-sub);line-height:1.6;}@media(max-width:600px){.sa-guide-cards{grid-template-columns:1fr;gap:10px;}.sa-guide-card{padding:13px 16px;gap:4px;}.sa-guide-cards-title{font-size:1.2rem;}.sa-guide-cards-lead{font-size:.85rem;margin-bottom:14px;}.sa-guide-card-title{font-size:1.02rem;}.sa-guide-card-desc{font-size:.8rem;line-height:1.5;}}.sa-popular {
  margin: 0 0 44px;
  padding: 26px 28px;
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-border);
  border-radius: var(--sa-radius-lg);
}.sa-popular-title {
  font-family: var(--sa-font-display);
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--sa-text);
}.sa-popular-lead {
  font-size: 13px;
  color: var(--sa-text-sub);
  margin: 0 0 16px;
}.sa-popular-list {
  list-style: none;
  margin: 0;
  padding: 0;
}.sa-popular-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 11px 4px;
  border-bottom: 1px solid var(--sa-border);
}.sa-popular-item:last-child { border-bottom: 0; }.sa-popular-rank {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  border-radius: 50%;
  font-family: var(--sa-font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--sa-text-sub);
  background: var(--sa-bg-elevated);
  border: 1px solid var(--sa-border);
}.sa-popular-rank-top {
  color: var(--sa-bg-base);
  background: var(--sa-cyan);
  border-color: var(--sa-cyan);
}.sa-popular-link {
  color: var(--sa-text);
  font-weight: 700;
  text-decoration: none;
  transition: color 0.15s ease;
}.sa-popular-link:hover { color: var(--sa-cyan); }@media (max-width: 640px) {.sa-popular { padding: 20px 18px; }}.sa-popular-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 16px;
}.sa-popular-head .sa-popular-title { margin: 0; }.sa-popular-tabs {
  display: inline-flex;
  gap: 4px;
  background: var(--sa-bg-elevated);
  border: 1px solid var(--sa-border);
  border-radius: 999px;
  padding: 3px;
}.sa-popular-tab {
  border: 0;
  background: transparent;
  color: var(--sa-text-sub);
  font-family: var(--sa-font-body);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}.sa-popular-tab.is-active { background: var(--sa-cyan); color: var(--sa-bg-base); }.sa-popular-empty { font-size: 13px; color: var(--sa-text-sub); margin: 8px 0 0; }.sa-term-popular-related { margin-top: 28px; }.sa-new {
  margin: 0 0 44px;
  padding: 26px 28px;
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-border);
  border-radius: var(--sa-radius-lg);
}.sa-new-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 16px;
}.sa-new-title {
  font-family: var(--sa-font-display);
  font-size: 20px;
  font-weight: 800;
  margin: 0;
  color: var(--sa-text);
}.sa-new-sub { font-size: 12px; color: var(--sa-text-sub); }.sa-new-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
}.sa-new-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  background: var(--sa-bg-elevated);
  border: 1px solid var(--sa-border);
  border-radius: var(--sa-radius-md, 10px);
}.sa-new-link {
  color: var(--sa-text);
  font-weight: 700;
  text-decoration: none;
  transition: color 0.15s ease;
}.sa-new-link:hover { color: var(--sa-cyan); }.sa-new-date {
  flex: 0 0 auto;
  font-family: var(--sa-font-mono);
  font-size: 11px;
  color: var(--sa-text-sub);
}@media (max-width: 640px) {.sa-new { padding: 20px 18px; }}.sa-example {
  margin: 26px 0;
  padding: 20px 22px;
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-border);
  border-left: 3px solid var(--sa-cyan);
  border-radius: var(--sa-radius-lg);
}.sa-example-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
}.sa-example-badge {
  flex: 0 0 auto;
  font-family: var(--sa-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--sa-bg-base);
  background: var(--sa-cyan);
  padding: 3px 9px;
  border-radius: 999px;
}.sa-example-title {
  font-family: var(--sa-font-display);
  font-size: 16px;
  font-weight: 800;
  color: var(--sa-text);
}.sa-example-body { font-size: 15px; color: var(--sa-text); }.sa-example-expr {
  font-family: var(--sa-font-mono);
  font-size: 15px;
  color: var(--sa-cyan);
  margin: 0 0 8px;
}.sa-example-calc {
  font-family: var(--sa-font-mono);
  font-size: 15px;
  margin: 0 0 8px;
}.sa-example-desc { color: var(--sa-text-sub); margin: 0; }.sa-example-kv { margin: 0; }.sa-example-kv-row {
  display: flex;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px solid var(--sa-border);
}.sa-example-kv-row:last-child { border-bottom: 0; }.sa-example-kv dt { flex: 0 0 40%; color: var(--sa-text-sub); margin: 0; }.sa-example-kv dd { flex: 1 1 auto; margin: 0; font-weight: 600; }.sa-example-table-wrap { overflow-x: auto; }.sa-example-table { width: 100%; border-collapse: collapse; font-size: 14px; }.sa-example-table th, .sa-example-table td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid var(--sa-border);
}.sa-example-table th { color: var(--sa-text-sub); font-weight: 700; }.sa-example-filings { list-style: none; margin: 0; padding: 0; }.sa-example-filing { padding: 7px 0; border-bottom: 1px solid var(--sa-border); }.sa-example-filing:last-child { border-bottom: 0; }.sa-example-filing-date {
  font-family: var(--sa-font-mono);
  font-size: 13px;
  color: var(--sa-text-muted);
}.sa-example-filing a { color: var(--sa-text); font-weight: 600; }.sa-example-filing a:hover { color: var(--sa-cyan); }.sa-example-note { font-size: 13px; color: var(--sa-text-sub); margin: 12px 0 0; }.sa-example-meta {
  font-size: 12px;
  color: var(--sa-text-muted);
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px dashed var(--sa-border);
}.sa-example-meta a { color: var(--sa-text-sub); text-decoration: underline; }@media (max-width: 640px) {.sa-example { padding: 16px 16px; }.sa-example-kv-row { flex-direction: column; gap: 2px; }.sa-example-kv dt { flex-basis: auto; }}.sa-example-linkwrap { margin: 4px 0 0; }.sa-example-link-btn {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: var(--sa-bg-base);
  background: var(--sa-cyan);
  padding: 9px 18px;
  border-radius: 999px;
  text-decoration: none;
}.sa-example-link-btn:hover { opacity: 0.9; color: var(--sa-bg-base); }/* 計算式・参考例ボックス（formula/example カラム表示・段階3器） */
.sa-term-formula{background:color-mix(in srgb, var(--sa-cyan) 6%, transparent);border:1px solid color-mix(in srgb, var(--sa-cyan) 28%, transparent);border-radius:12px;padding:14px 16px;margin:8px 0 22px;}
.sa-term-box-label{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--sa-cyan);margin:0 0 6px;}
.sa-term-formula-eq{font-size:17px;font-weight:700;color:var(--sa-text);line-height:1.6;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-word;}
.sa-term-example-box{background:var(--sa-bg-card,var(--sa-bg-card));border:1px solid color-mix(in srgb, var(--sa-cyan) 20%, transparent);border-radius:12px;padding:14px 16px;margin:8px 0 22px;}
.sa-term-example-text{font-size:15px;line-height:1.8;color:var(--sa-text);}
.sa-term-example-text p{margin:0 0 .6em;}
.sa-term-example-text p:last-child{margin-bottom:0;}
.sa-term-example-text strong{color:var(--sa-text);font-weight:700;}
@media(max-width:600px){.sa-term-formula-eq{font-size:15px;}.sa-term-example-text{font-size:14px;}}

/* ===== 用語ページ リデザイン（可読幅・見出しアクセント・関連ピル・段階3） ===== */
.sa-term-page{max-width:680px;margin:0 auto;padding:0 4px;}
.sa-inspire-hero{padding:60px 20px 34px;}
.sa-inspire-h1{margin-bottom:12px;}
.sa-term-body>p:first-of-type{font-size:17px;line-height:1.9;color:var(--sa-text);}
.sa-term-body p{line-height:1.9;}
.sa-term-body h2{font-size:clamp(20px,2.6vw,26px);font-weight:800;letter-spacing:-0.01em;line-height:1.45;margin-top:46px;margin-bottom:16px;padding-left:16px;border-left:3px solid var(--sa-cyan);}
.sa-term-body a{color:var(--sa-cyan);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--sa-cyan) 40%,transparent);}
.sa-term-body a:hover{border-bottom-color:var(--sa-cyan);}
.sa-term-related{margin-top:48px;padding-top:26px;border-top:1px solid var(--sa-border);}
.sa-term-related-title{font-size:15px;color:var(--sa-text-sub);font-weight:700;margin:0 0 14px;letter-spacing:0;border-left:0;padding-left:0;}
.sa-term-related-list a{display:inline-block;border:1px solid color-mix(in srgb,var(--sa-cyan) 30%,transparent);border-radius:999px;padding:7px 16px;color:var(--sa-cyan);font-size:14px;text-decoration:none;transition:background .15s,border-color .15s;}
.sa-term-related-list a:hover{background:color-mix(in srgb,var(--sa-cyan) 10%,transparent);border-color:var(--sa-cyan);}
.sa-breadcrumb{border-bottom:1px solid color-mix(in srgb,var(--sa-cyan) 15%,transparent);}
@media(max-width:600px){
  .sa-inspire-hero{padding:42px 18px 26px;}
  .sa-inspire-h1{font-size:32px;margin-bottom:10px;}
  .sa-term-body h2{font-size:19px;margin-top:36px;padding-left:12px;}
  .sa-term-body>p:first-of-type{font-size:16px;}
  .sa-term-page{padding:0 2px;}
}

/* ===== 一覧ページ：人気／新着を2カラム、カテゴリ一覧をカードで（5,000語に耐える構造） ===== */
.sa-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;margin-bottom:44px;}
/* 左右の高さを揃える：カード自体を伸ばし、中身のリストが余白を埋める */
.sa-two-col>div{margin:0!important;height:100%;display:flex;flex-direction:column;}
.sa-two-col .sa-popular-panel,
.sa-two-col .sa-new-list{flex:1 1 auto;align-content:start;}
.sa-cat-toc{margin:0 0 48px;}
.sa-cat-toc-title{font-size:22px;font-weight:800;color:var(--sa-text);margin:0 0 6px;font-family:var(--sa-font-display);}
.sa-cat-toc-lead{font-size:14px;color:var(--sa-text-sub);margin:0 0 18px;}
.sa-cat-toc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;}
.sa-cat-toc-item{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:13px 15px;border:1px solid var(--sa-border);border-radius:var(--sa-radius-md);
  background:var(--sa-bg-card);color:var(--sa-text);font-size:14px;font-weight:600;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;}
.sa-cat-toc-item:hover{border-color:var(--sa-cyan);background:var(--sa-bg-elevated);color:var(--sa-cyan);transform:translateY(-2px);}
.sa-cat-toc-item .n{font-family:var(--sa-font-mono);font-size:12px;color:var(--sa-text-muted);flex:0 0 auto;}
.sa-cat-toc-item:hover .n{color:var(--sa-cyan);}
@media(max-width:820px){
  /* 1カラムに戻すときは高さ揃えを解除し、カード間の余白を戻す */
  .sa-two-col{grid-template-columns:1fr;gap:0;}
  .sa-two-col>div{height:auto;display:block;margin:0 0 24px!important;}
  .sa-cat-toc-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
}
