.core-universe-update {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin: 22px 0 28px;
  padding: 24px 26px;
  border: 1px solid rgba(232, 91, 137, .22);
  background: linear-gradient(135deg, rgba(255, 244, 249, .98), rgba(246, 247, 255, .98));
  box-shadow: 0 14px 34px rgba(80, 58, 92, .08);
}
.core-universe-update::after {
  content: "✨";
  position: absolute;
  right: 18px;
  top: -12px;
  font-size: 78px;
  opacity: .10;
  transform: rotate(12deg);
  pointer-events: none;
}
.core-universe-update .update-kicker { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 7px; color: #d84c83; font-size: .78rem; font-weight: 900; letter-spacing: .08em; }
.core-universe-update h2 { margin: 0 0 8px; font-size: clamp(1.25rem, 3vw, 1.75rem); }
.core-universe-update p { margin: 0; line-height: 1.75; color: #62586a; }
.core-universe-update strong { color: #382d42; }
.core-universe-update .update-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; position: relative; z-index: 1; }

.all-stocks-page { background: #fffafb; }
.all-stocks-page .site-header { background: linear-gradient(135deg, #fff5fa, #f5f7ff); }
.all-stocks-container { padding-top: 24px; padding-bottom: 56px; }
.all-stocks-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(250px, .65fr);
  gap: 20px;
  margin-bottom: 22px;
}
.all-stocks-hero > div {
  border: 1px solid rgba(225, 107, 154, .18);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 36px rgba(83, 52, 72, .07);
  padding: 24px;
}
.all-stocks-hero .eyebrow { color: #d34e84; }
.all-stocks-hero h1 { margin: 5px 0 10px; font-size: clamp(1.65rem, 5vw, 2.55rem); }
.all-stocks-hero p { margin: 0; color: #655c68; line-height: 1.8; }
.all-stocks-total { display: grid; gap: 10px; align-content: center; }
.all-stocks-total > span { color: #796f7d; font-size: .82rem; font-weight: 800; }
.all-stocks-total > strong { color: #c23f78; font-size: clamp(2.1rem, 8vw, 3.45rem); line-height: 1; }
.all-stocks-total > strong small { margin-left: 5px; font-size: .9rem; color: #7b707a; }
.all-stocks-total > small { color: #776d79; line-height: 1.55; }

.guide-panel { margin-bottom: 22px; padding: 22px; }
.character-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.character-filter {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 138px;
  padding: 17px;
  border: 1px solid #e8dfe7;
  border-radius: 18px;
  background: #fff;
  color: #4f4551;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(75, 55, 72, .05);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.character-filter:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(75, 55, 72, .09); }
.character-filter.active { box-shadow: 0 0 0 2px rgba(255,255,255,.9), 0 0 0 4px rgba(216,76,131,.18), 0 12px 30px rgba(75,55,72,.1); }
.character-filter-icon { font-size: 2rem; align-self: start; }
.character-filter-copy { display: grid; gap: 4px; }
.character-filter-copy strong { font-size: 1rem; color: #3f3542; }
.character-filter-copy small { font-size: .78rem; font-weight: 900; }
.character-filter-copy em { font-style: normal; font-size: .76rem; line-height: 1.55; color: #7c717c; }
.character-filter-count { align-self: start; border-radius: 999px; padding: 5px 8px; font-size: .72rem; font-weight: 900; white-space: nowrap; background: #f7f4f7; }
.cosmos-filter { background: linear-gradient(145deg, #fff7fa, #fff); border-color: #f0cbd9; }
.cosmos-filter .character-filter-copy small, .cosmos-filter .character-filter-count { color: #c24776; }
.lumo-filter { background: linear-gradient(145deg, #fffdf2, #fff); border-color: #eee1a9; }
.lumo-filter .character-filter-copy small, .lumo-filter .character-filter-count { color: #9b7714; }
.aile-filter { background: linear-gradient(145deg, #faf7ff, #fff); border-color: #ddd2f1; }
.aile-filter .character-filter-copy small, .aile-filter .character-filter-count { color: #7552aa; }
.guide-note { margin: 13px 0 0; color: #817580; font-size: .8rem; line-height: 1.65; }

.all-stocks-panel { padding: 22px; }
.all-stocks-list-heading { align-items: end; }
.top-search { min-width: min(360px, 100%); }
.top-search label, .all-stocks-search { display: grid; gap: 6px; font-size: .76rem; font-weight: 900; color: #756b78; }
.top-search input, .all-stocks-search input {
  width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #ded5dc; border-radius: 11px; background: #fff; color: #392f3f; font: inherit;
}

.all-stocks-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; margin: 16px 0; }
.all-stocks-summary button {
  border: 1px solid #ebe2e8;
  border-radius: 14px;
  background: #fff;
  padding: 12px;
  text-align: left;
  cursor: pointer;
  color: #574d59;
}
.all-stocks-summary button:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(75,55,72,.07); }
.all-stocks-summary button span { display: block; font-size: .72rem; font-weight: 900; }
.all-stocks-summary button strong { display: block; margin-top: 3px; font-size: 1.25rem; }
.all-stocks-summary .signal-near strong { color: #a67c13; }
.all-stocks-summary .signal-continue strong { color: #5265a8; }
.all-stocks-summary .signal-dc strong { color: #c43e62; }
.all-stocks-summary .signal-out strong, .all-stocks-summary .signal-unknown strong { color: #7d727d; }

.expert-settings {
  margin: 16px 0 18px;
  border: 1px solid #e9e0e7;
  border-radius: 16px;
  background: #fcfafc;
  overflow: hidden;
}
.expert-settings > summary {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 15px 17px;
  cursor: pointer;
  list-style: none;
  color: #514753;
}
.expert-settings > summary::-webkit-details-marker { display: none; }
.expert-settings > summary strong { font-size: .95rem; }
.expert-settings > summary small { margin-left: auto; color: #887d87; }
.expert-settings[open] > summary { border-bottom: 1px solid #ebe3e9; background: #fff; }
.expert-settings-inner { padding: 16px; }
.expert-intro { margin: 0 0 14px; color: #766b76; font-size: .82rem; line-height: 1.7; }
.expert-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 11px; }
.expert-grid label { display: grid; gap: 6px; font-size: .74rem; font-weight: 900; color: #756b78; }
.expert-grid input, .expert-grid select {
  width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #ded5dc; border-radius: 10px; background: #fff; color: #392f3f; font: inherit;
}
.expert-actions { display: flex; justify-content: flex-end; margin-top: 13px; }
.premium-boundary-note {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-left: 3px solid #8465bb;
  border-radius: 9px;
  background: #f8f4ff;
  color: #655973;
  font-size: .8rem;
  line-height: 1.7;
}

.all-stocks-table-wrap { overflow: auto; border: 1px solid #eee4ea; border-radius: 16px; background: #fff; max-height: min(72vh, 900px); }
.all-stocks-table { width: 100%; min-width: 1180px; border-collapse: separate; border-spacing: 0; }
.all-stocks-table th {
  position: sticky; top: 0; z-index: 3; padding: 11px 12px; background: #fdf4f8; color: #665961; font-size: .75rem; text-align: left; white-space: nowrap; border-bottom: 1px solid #eadde4;
}
.all-stocks-table td { padding: 12px; vertical-align: middle; border-bottom: 1px solid #f2e9ee; color: #493e48; white-space: nowrap; }
.all-stocks-table tbody tr:hover { background: #fff9fb; }
.all-stocks-table td.stock-main { min-width: 240px; white-space: normal; }
.all-stock-link { display: grid; gap: 3px; color: #3e3342; text-decoration: none; }
.all-stock-link strong { font-weight: 900; }
.all-stock-link small { color: #8a7d88; font-weight: 600; }
.all-stock-link:hover strong { color: #c63d6b; }
.market-chip, .signal-chip { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: .73rem; font-weight: 900; }
.market-chip { background: #f7f4f8; border: 1px solid #e7dfe7; color: #655a68; }
.signal-chip.signal-near { background: #fff7df; color: #8e6b13; border: 1px solid #f0dda0; }
.signal-chip.signal-continue { background: #eef0ff; color: #5362a1; border: 1px solid #d9def8; }
.signal-chip.signal-dc { background: #fff0f3; color: #c53961; border: 1px solid #f4cbd6; }
.signal-chip.signal-out, .signal-chip.signal-unknown { background: #f4f2f4; color: #7e747d; border: 1px solid #e2dde1; }
.cell-sub { display: block; margin-top: 3px; color: #8b7f88; font-size: .74rem; }
.mini-stack, .finance-mini { display: grid; gap: 2px; font-size: .78rem; }
.finance-mini { min-width: 122px; }
.finance-muted { color: #918791; font-size: .76rem; }
.positive { color: #2e8a66; font-weight: 900; }
.negative { color: #c44064; font-weight: 900; }
.all-stocks-empty { padding: 38px 16px; text-align: center; color: #7d727c; }
.all-stocks-more-wrap { display: flex; justify-content: center; margin-top: 18px; }
.all-stocks-note { margin-top: 16px; color: #7b717a; font-size: .82rem; line-height: 1.75; }

@media (max-width: 1050px) {
  .character-filter-grid { grid-template-columns: 1fr; }
  .character-filter { min-height: 0; }
  .expert-grid { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
}

@media (max-width: 900px) {
  .core-universe-update { grid-template-columns: 1fr; }
  .core-universe-update .update-actions { justify-content: flex-start; }
  .all-stocks-hero { grid-template-columns: 1fr; }
  .all-stocks-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .all-stocks-list-heading { align-items: stretch; }
  .top-search { width: 100%; min-width: 0; }
  .expert-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .core-universe-update { padding: 19px; }
  .all-stocks-hero > div { padding: 19px; }
  .guide-panel, .all-stocks-panel { padding: 16px; }
  .character-filter { grid-template-columns: auto minmax(0,1fr); padding: 15px; }
  .character-filter-count { grid-column: 2; justify-self: start; }
  .all-stocks-summary { grid-template-columns: 1fr 1fr; }
  .expert-grid { grid-template-columns: 1fr; }
  .expert-settings > summary { align-items: flex-start; flex-wrap: wrap; }
  .expert-settings > summary small { width: 100%; margin-left: 30px; }
  .all-stocks-table-wrap { max-height: 68vh; }
}
