/* ============ 另類指標 Oracle ============ */
.composite-box {
  display: flex; flex-direction: column; align-items: center;
  gap: 8px;
  padding: 8px 0 4px;
}
.composite-verdict {
  display: flex; align-items: baseline; gap: 12px;
}
.cv-tag {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 24px; letter-spacing: .2em; font-weight: 700;
  padding: 4px 18px;
  border: 1.5px solid currentColor;
}
.cv-en { font-size: 14px; color: var(--ink-mute); }
.composite-note {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 12px; color: var(--ink-mute);
  letter-spacing: .06em;
}

/* AI 觀測家 */
.oracle-ai {
  display: flex; gap: 22px; align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  background: var(--ink);
  color: var(--paper-bright);
  border-left: 3px solid var(--gold);
  margin-bottom: 14px;
}
.oracle-ai-l { flex: 1; }
.oracle-ai-title {
  font-family: 'Times New Roman', serif;
  font-size: 20px; font-weight: 700;
  display: flex; align-items: baseline; gap: 10px;
  color: var(--paper-bright);
}
.oracle-ai-title .kai { font-family: 'BiauKai', '標楷體', serif; letter-spacing: .12em; color: var(--gold-leaf); }
.oracle-ai-sub {
  margin-top: 8px;
  font-size: 13px; color: var(--paper-line);
  letter-spacing: .06em; line-height: 1.7;
}
.oracle-ai-text {
  margin-top: 10px;
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 14px; line-height: 1.95; letter-spacing: .06em;
  color: var(--paper-bright);
  position: relative;
  padding-left: 28px;
}
.oai-quote {
  position: absolute; left: 0; top: -6px;
  font-family: 'Times New Roman', serif;
  font-style: italic; font-size: 44px; color: var(--gold);
  opacity: .6; line-height: 1;
}
.oracle-ai-sub .dots span { display:inline-block; animation: pickDot 1.4s ease-in-out infinite; }
.oracle-ai-sub .dots span:nth-child(2){ animation-delay:.2s; }
.oracle-ai-sub .dots span:nth-child(3){ animation-delay:.4s; }
.oracle-ai-btn {
  padding: 12px 22px;
  background: transparent;
  color: var(--paper-bright);
  border: 1px solid var(--gold-leaf);
  cursor: pointer;
  font-family: 'Times New Roman', serif;
  font-size: 14px;
  white-space: nowrap;
  transition: all .15s ease;
}
.oracle-ai-btn .kai { font-family: 'BiauKai', '標楷體', serif; letter-spacing: .15em; font-weight: 700; color: var(--gold-leaf); }
.oracle-ai-btn:hover:not(:disabled) { background: var(--gold-deep); border-color: var(--gold-deep); }
.oracle-ai-btn:disabled { opacity: .6; cursor: wait; }

/* Grid */
.oracle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 24px;
}
@media (max-width: 1000px) { .oracle-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .oracle-grid { grid-template-columns: 1fr; } }

.oracle-card {
  position: relative;
  background: var(--paper-bright);
  border: 1px solid var(--ink);
  padding: 18px 18px 14px;
  box-shadow: var(--shadow-sm);
  display: flex; flex-direction: column;
  transition: all .2s ease;
}
.oracle-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.oracle-card::before {
  content: ""; position: absolute; inset: 4px;
  border: 1px solid var(--paper-line); pointer-events: none;
}
.oracle-card > * { position: relative; z-index: 1; }
.oracle-card .corner-tl,
.oracle-card .corner-tr,
.oracle-card .corner-bl,
.oracle-card .corner-br {
  position: absolute; width: 10px; height: 10px;
  border-color: var(--gold); border-style: solid; border-width: 0; z-index: 2;
}
.oracle-card .corner-tl { top: 2px; left: 2px; border-top-width: 1px; border-left-width: 1px; }
.oracle-card .corner-tr { top: 2px; right: 2px; border-top-width: 1px; border-right-width: 1px; }
.oracle-card .corner-bl { bottom: 2px; left: 2px; border-bottom-width: 1px; border-left-width: 1px; }
.oracle-card .corner-br { bottom: 2px; right: 2px; border-bottom-width: 1px; border-right-width: 1px; }

.oracle-card-head {
  display: flex; align-items: flex-start; gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--paper-line);
}
.oracle-icon {
  width: 48px; height: 48px;
  border: 1px solid var(--ink);
  display: flex; align-items: center; justify-content: center;
  background: var(--paper);
  flex-shrink: 0;
}
.oracle-titles { flex: 1; min-width: 0; }
.oracle-cn {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 18px; letter-spacing: .08em; font-weight: 700;
  line-height: 1.25;
}
.oracle-en {
  font-size: var(--fs-nano); color: var(--ink-mute); letter-spacing: .04em;
}
.oracle-origin {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: var(--fs-nano); color: var(--gold-deep);
  letter-spacing: .1em; margin-top: 2px;
}
.oracle-level {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 18px; font-weight: 700;
  width: 32px; height: 32px;
  border: 1.5px solid currentColor;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

.oracle-gauge-row {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 0 4px;
}
.oracle-gauge-meta { flex: 1; }
.ogm-unit {
  font-size: 12px; color: var(--ink-mute);
}
.ogm-needle {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 17px; font-weight: 700; letter-spacing: .08em;
  margin-top: 2px;
}
.ogm-reverse {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: var(--fs-nano); color: var(--mid-tint);
  letter-spacing: .08em; margin-top: 4px;
}

.oracle-blurb {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 12.5px; line-height: 1.85; letter-spacing: .04em;
  color: var(--ink-soft);
  padding: 10px 0;
  border-bottom: 1px dashed var(--paper-line);
}

.oracle-today {
  padding: 10px 0 8px;
}
.ot-label {
  font-family: 'Times New Roman', serif;
  font-variant: small-caps;
  font-size: var(--fs-nano); letter-spacing: .2em;
  color: var(--gold-deep);
  margin-bottom: 4px;
}
.ot-label .kai { font-variant: normal; color: var(--ink); letter-spacing: .12em; font-weight: 700; }
.ot-text {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 13px; line-height: 1.8; letter-spacing: .05em;
  color: var(--ink);
}

.oracle-foot {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--paper-line);
  display: flex; align-items: baseline; gap: 8px;
}
.of-label {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 12px; color: var(--ink-mute); letter-spacing: .1em;
}
.of-sectors {
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 13px; color: var(--gold-deep);
  letter-spacing: .08em; font-weight: 700;
}

.oracle-disclaimer {
  margin-top: 8px;
  padding: 14px 18px;
  background: var(--paper);
  border-left: 3px solid var(--bear);
  font-family: 'BiauKai', '標楷體', serif;
  font-size: 13px; line-height: 1.85; letter-spacing: .05em;
  color: var(--ink-soft);
}
.oracle-disclaimer .kai { font-weight: 700; color: var(--ink); letter-spacing: .12em; }
.oracle-disclaimer b { color: var(--bear); font-weight: 700; }
