/* SynthV 参数词典：在共用壳上的布局补充 */

.dict-search-group {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.dict-search {
  flex: 1;
  min-width: 140px;
  max-width: 520px;
  height: 28px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--line-strong, rgba(255, 255, 255, 0.14)));
  background: color-mix(in srgb, var(--accent) 8%, var(--panel-2, #2a3140));
  color: var(--text);
  font-size: 13px;
  outline: none;
}

.dict-search:focus {
  border-color: color-mix(in srgb, var(--accent) 70%, white);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent),
    0 0 14px color-mix(in srgb, var(--accent) 22%, transparent);
}

/* 主区自己滚：壳子锁死视口后，这里才是真正的滚动面 */
.workspace {
  overflow: hidden;
  min-height: 0;
}

.main-panel {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.dict-mode-only {
  display: block;
  height: auto;
  min-height: 0;
  overflow: visible;
  padding: 0 10px 12px;
  box-sizing: border-box;
}

.dict-mode-only .dict-singer-hero {
  margin-top: 8px;
}

.dict-mode-only > .panel-head {
  margin-top: 0;
}

.dict-mode-only .dict-mode-grid {
  overflow: visible;
  align-content: start;
  align-items: start;
  justify-content: start;
}

.filter-chips {
  flex-wrap: wrap;
}

.side-singer-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: min(42vh, 360px);
  overflow: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}

.side-singer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  text-align: left;
  padding: 7px 9px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line, rgba(255,255,255,.08)));
  background: color-mix(in srgb, var(--accent) 4%, transparent);
  color: var(--text);
  cursor: pointer;
}

.side-singer:hover {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line, rgba(255,255,255,.08)));
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}

.side-singer.on {
  border-color: color-mix(in srgb, var(--accent) 70%, white);
  background: var(--accent-dim);
  box-shadow: 0 0 12px color-mix(in srgb, var(--accent) 18%, transparent);
}

.side-singer-name {
  font-size: 12px;
  font-weight: 650;
  color: var(--text);
}

.side-singer-meta {
  font-size: 10px;
  color: var(--muted);
}

.ghost-mini {
  font-size: 11px;
}

.dict-singer-hero {
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 48%, rgba(255, 255, 255, 0.1));
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--accent) 12%, rgba(48, 58, 70, 0.96)),
    rgba(24, 28, 36, 0.98)
  );
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent),
    0 0 18px color-mix(in srgb, var(--accent) 16%, transparent);
  padding: 12px 14px;
  margin: 8px 0 10px;
  flex-shrink: 0;
}

.dict-mode-grid {
  min-height: 0;
  overflow: visible;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 196px));
  gap: 8px;
  padding-bottom: 4px;
  align-content: start;
  align-items: start;
  justify-content: start;
}

.mode-card {
  cursor: default;
  height: auto;
  align-self: start;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mode-card .file-label {
  font-size: 11px;
  line-height: 1.3;
}

.mode-card .file-name-full {
  font-size: 13px;
  line-height: 1.35;
  margin-top: 2px;
}

.mode-card .card-origin {
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
}

.dict-mode-grid.panel-pad {
  padding: 8px 10px 12px;
}

.dict-card {
  cursor: pointer;
}

.dict-card .file-label {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.02em;
  color: color-mix(in srgb, var(--accent) 72%, var(--muted));
}

.dict-card .file-name-full {
  font-size: 15px;
}

.dict-detail-wrap {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
}

.dict-detail {
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 48%, rgba(255, 255, 255, 0.1));
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--accent) 12%, rgba(48, 58, 70, 0.96)),
    rgba(24, 28, 36, 0.98)
  );
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent),
    0 0 18px color-mix(in srgb, var(--accent) 16%, transparent),
    0 6px 16px rgba(0, 0, 0, 0.28);
  padding: 14px 16px 16px;
}

.dict-detail-kicker {
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 6px;
}

.dict-detail-en {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--accent);
}

.dict-detail-zh {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}

.dict-detail-tip {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.55;
  color: color-mix(in srgb, var(--text) 88%, var(--muted));
}

.dict-detail-alias {
  margin: 0 0 10px;
  font-size: 12px;
  color: var(--muted);
}

.dict-detail-note {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: color-mix(in srgb, var(--muted) 90%, transparent);
}

.guide-body {
  padding: 4px 16px 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.guide-body p {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--text);
}

