/* 许愿池页面样式（Case 1 Phase 2 + P1/P3） */
:root {
  --wp-accent: #7c5cff;
  --wp-accent-soft: #efeaff;
  --wp-ok: #1a9e5c;
  --wp-gap-index: #d97706;
  --wp-gap-ai: #dc2626;
  --wp-gap-market: #0e7490;
}

main { max-width: 1080px; margin: 0 auto; padding: 16px; }

.intro { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 14px 0; }
.intro-card { background: var(--wp-accent-soft); border: 1px solid #ddd6fe; border-radius: 10px; padding: 12px 14px; font-size: 13px; line-height: 1.7; color: #333; }

.panel { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 18px 20px; margin: 14px 0; box-shadow: 0 1px 3px rgba(0,0,0,.04); }
.panel h2 { margin: 0 0 4px; font-size: 18px; }
.subtitle { color: #666; font-size: 12.5px; margin-bottom: 12px; }
.muted { color: #999; font-weight: normal; font-size: 13px; }
.hidden { display: none; }

.wish-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 18px; }
label { display: block; font-size: 13px; font-weight: 600; margin: 10px 0 4px; color: #333; }
textarea, input[type=text], input[type=email], input[type=password] { width: 100%; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 8px; padding: 10px 12px; font-size: 14px; font-family: inherit; }
textarea:focus, input:focus { outline: 2px solid var(--wp-accent); border-color: transparent; }
#submitBtn { margin-top: 14px; background: var(--wp-accent); color: #fff; border: 0; border-radius: 8px; padding: 10px 22px; font-size: 15px; cursor: pointer; }
#submitBtn:disabled { opacity: .55; cursor: wait; }
.error { color: #dc2626; font-size: 13px; margin-top: 8px; }

.questions { font-size: 13px; display: flex; flex-direction: column; gap: 8px; }
.questions summary { cursor: pointer; font-weight: 600; color: #444; }
.questions textarea { resize: vertical; }

/* 结果区 */
.result-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.wish-quote { font-size: 15px; font-weight: 600; color: #1f2937; }
.badge { border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.badge-matched { background: #dcfce7; color: var(--wp-ok); }
.badge-index_gap { background: #fef3c7; color: var(--wp-gap-index); }
.badge-ai_gap { background: #fee2e2; color: var(--wp-gap-ai); }
.badge-market_gap { background: #cffafe; color: var(--wp-gap-market); }
.badge-status { background: #f3f4f6; color: #4b5563; }
.badge-ai { background: #ede9fe; color: #5b21b6; }

.app-card { border: 1px solid #e5e7eb; border-radius: 10px; padding: 10px 14px; margin: 8px 0; background: #fafafa; }
.app-top { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.app-name { font-weight: 600; font-size: 14px; }
.app-meta { color: #777; font-size: 12px; }
.score-row { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.score-bar { height: 6px; border-radius: 3px; background: #e5e7eb; flex: 1; overflow: hidden; }
.score-fill { height: 100%; background: linear-gradient(90deg, #a78bfa, var(--wp-accent)); }
.score-label { font-size: 11.5px; color: #555; min-width: 180px; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.chip { background: #eef2ff; color: #4338ca; border-radius: 6px; font-size: 11.5px; padding: 2px 8px; }

.gap-card { border: 1px dashed #d1d5db; border-radius: 10px; padding: 12px 14px; margin: 8px 0; background: #fffbeb; }
.gap-card.index_gap { background: #fffbeb; border-color: #fcd34d; }
.gap-card.ai_gap { background: #fef2f2; border-color: #fca5a5; }
.gap-card.market_gap { background: #ecfeff; border-color: #67e8f9; }
.gap-evidence { font-size: 12.5px; color: #444; margin-top: 6px; line-height: 1.7; }

.route-line { margin-top: 10px; font-size: 13px; color: #333; background: #f9fafb; border-radius: 8px; padding: 8px 12px; }

/* Round 12：新需求评估（合并 / 可行性） */
.eval-card { margin-top: 10px; border: 1px solid #ddd6fe; background: #faf8ff; border-radius: 10px; padding: 10px 14px; }
.eval-line { font-size: 13px; color: #333; line-height: 1.7; }
.eval-line b { color: #5b21b6; }
.eval-sub { color: #555; font-size: 12.5px; padding-left: 8px; }

/* P1/P3：反馈、运营指标与供给面板 */
.feedback-card { margin-top: 10px; border: 1px solid #d1fae5; background: #f0fdf4; border-radius: 10px; padding: 10px 14px; }
.feedback-card .chip { cursor: pointer; border: 0; margin-right: 6px; }
.metrics-line { margin-top: 10px; font-size: 12.5px; color: #555; background: #f9fafb; border-radius: 8px; padding: 8px 12px; }
.supply-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 10px; }
.developer-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.developer-row input { flex: 1; min-width: 150px; }
.developer-row .chip { border: 0; cursor: pointer; }
.small { font-size: 11px; }
.actions-cell { white-space: nowrap; }

/* 愿望池表 */
.pool-table table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pool-table th, .pool-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #f0f1f3; vertical-align: top; }
.pool-table th { color: #666; font-weight: 600; background: #fafafa; position: sticky; top: 0; }
.wish-cell { max-width: 300px; }
.wish-cell b { display: block; font-size: 13px; }
.wish-cell span { color: #888; font-size: 11.5px; }
.status-btn { border: 1px solid #cbd5e1; background: #fff; border-radius: 6px; font-size: 12px; padding: 3px 8px; cursor: pointer; color: #334155; }
.status-btn:hover { border-color: var(--wp-accent); color: var(--wp-accent); }
.status-btn:disabled { opacity: .4; cursor: default; }

@media (max-width: 800px) {
  .intro { grid-template-columns: 1fr; }
  .wish-grid { grid-template-columns: 1fr; }
  .pool-table { overflow-x: auto; }
}

/* v0.13: unify Wish Pool with the site's refined dark surface system */
.intro-card {
  background: linear-gradient(180deg, rgba(124,92,255,.13), rgba(17,26,41,.92));
  border-color: rgba(124,92,255,.24);
  color: #c9ceea;
  border-radius: 14px;
  box-shadow: var(--shadow-soft);
}
.panel {
  background: var(--panel-raised);
  border-color: rgba(124,92,255,.13);
  border-radius: 18px;
  box-shadow: var(--shadow-soft);
}
.panel h2 { color: #fff; letter-spacing: -.025em; }
.subtitle,
.muted { color: var(--muted); }
label { color: #a9b3ca; }
textarea,
input[type=text],
input[type=email],
input[type=password] {
  background: rgba(11,17,28,.72);
  border-color: rgba(124,92,255,.18);
  color: var(--text);
  border-radius: 10px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
textarea::placeholder,
input::placeholder { color: rgba(139,152,173,.65); }
textarea:focus,
input:focus {
  border-color: rgba(124,92,255,.68);
  box-shadow: 0 0 0 4px rgba(124,92,255,.11);
  outline: none;
}
#submitBtn {
  background: linear-gradient(135deg, #8b6dff, #7c5cff);
  border-radius: 999px;
  font-weight: 800;
  box-shadow: 0 12px 28px rgba(124,92,255,.20);
  transition: transform .18s ease, box-shadow .18s ease;
}
#submitBtn:hover { transform: translateY(-1px); box-shadow: 0 16px 36px rgba(124,92,255,.25); }
.wish-quote { color: #fff; }
.badge {
  background: rgba(17,26,41,.78);
  border: 1px solid rgba(124,92,255,.20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.badge-matched { color: #a7f3c3; border-color: rgba(26,158,92,.40); background: rgba(26,158,92,.10); }
.badge-index_gap { color: #ffd8a8; border-color: rgba(217,119,6,.40); background: rgba(217,119,6,.10); }
.badge-ai_gap { color: #ffb8b8; border-color: rgba(220,38,38,.38); background: rgba(220,38,38,.09); }
.badge-market_gap { color: #a5f3fc; border-color: rgba(14,116,144,.42); background: rgba(14,116,144,.10); }
.badge-status { color: #c3cddf; border-color: rgba(139,152,173,.28); }
.badge-ai { color: #ddd6fe; border-color: rgba(124,92,255,.38); background: rgba(124,92,255,.10); }
.app-card,
.gap-card,
.eval-card,
.feedback-card,
.route-line,
.metrics-line {
  background: rgba(11,17,28,.48);
  border-color: rgba(124,92,255,.12);
  border-radius: 13px;
  color: var(--muted);
}
.app-name { color: #fff; }
.app-meta,
.score-label,
.gap-evidence,
.eval-line,
.eval-sub { color: var(--muted); }
.eval-line b { color: #c4b5fd; }
.score-bar { background: rgba(124,92,255,.14); }
.chip {
  background: rgba(124,92,255,.10);
  border: 1px solid rgba(124,92,255,.20);
  color: #ddd6fe;
}
.pool-table th,
.pool-table td { border-bottom-color: rgba(124,92,255,.09); }
.pool-table th { background: rgba(13,20,32,.96); color: var(--muted); }
.wish-cell b { color: #fff; }
.wish-cell span { color: var(--muted); }
.status-btn {
  background: rgba(17,26,41,.70);
  border-color: rgba(124,92,255,.20);
  color: #c9ceea;
}
.status-btn:hover { color: #ddd6fe; border-color: rgba(124,92,255,.48); }
