/* Idea Intelligence (/ideas) — startup-idea briefs. Layers on styles.css (site chrome + tokens)
   + company.css (cc-page / cc-layout / cc-main / cc-aside / cc-bar / cc-w-N / cc-cite / cc-back).
   CSP-safe: external CSS only, all colour via tokens so light/dark track the rest of the site. */

.idea-page { padding-bottom: 2.5rem; }

/* ---- hero ---------------------------------------------------------------- */
.idea-hero { border-bottom: 1px solid var(--line); padding-bottom: 1.4rem; margin-bottom: 1.6rem; }
.idea-hero h1 { font-family: var(--serif); font-size: clamp(1.8rem, 4vw, 2.9rem); line-height: 1.08;
  margin: .35rem 0 .5rem; letter-spacing: -.01em; }
.idea-hero .cc-lead { font-size: 1.15rem; color: var(--ink-soft); max-width: var(--measure); margin: 0; }

.idea-scorerow { display: flex; align-items: baseline; gap: .8rem; margin: 1.1rem 0 .2rem; flex-wrap: wrap; }
.idea-score { font-family: var(--mono); font-weight: 700; font-size: 2.6rem; line-height: 1;
  letter-spacing: -.02em; }
.idea-score-out { font-size: 1rem; color: var(--ink-mute); font-weight: 500; margin-left: .1rem; }
.idea-score-good { color: var(--val-good); }
.idea-score-mid  { color: var(--val-mid); }
.idea-score-bad  { color: var(--val-bad); }
.idea-scorelabel { font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-mute); }

.idea-tags { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: 1rem 0 0; }
.idea-tags li { font-family: var(--mono); font-size: .76rem; color: var(--ink-soft);
  background: var(--bg-band); border: 1px solid var(--line); border-radius: 999px; padding: .2rem .6rem; }
.idea-tags li::before { content: "#"; color: var(--ink-mute); }

/* ---- module sections (the brief) ---------------------------------------- */
.idea-module { margin: 0 0 1.5rem; }
.idea-module h2 { font-family: var(--serif); font-size: 1.35rem; margin: 0 0 .4rem;
  padding-bottom: .25rem; border-bottom: 1px solid var(--line); }
.idea-module p { font-size: 1.02rem; line-height: 1.62; color: var(--ink-soft);
  max-width: var(--measure); margin: 0; white-space: pre-line; }

/* ---- aside: facts + score breakdown ------------------------------------- */
.idea-info, .idea-score-card { background: var(--bg-elev); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 1.1rem 1.2rem; margin-bottom: 1.1rem; box-shadow: var(--shadow); }
.idea-info dl { margin: .4rem 0 .2rem; }
.idea-info dl > div { padding: .5rem 0; border-top: 1px solid var(--line); }
.idea-info dl > div:first-child { border-top: 0; }
.idea-info dt { font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-mute); }
.idea-info dd { margin: .15rem 0 0; color: var(--ink); font-size: .95rem; line-height: 1.4; }

.idea-dimlist { list-style: none; padding: 0; margin: .6rem 0 .4rem; }
.idea-dimlist > li { margin-bottom: .7rem; }
.idea-dim-head { display: flex; justify-content: space-between; align-items: baseline;
  font-size: .9rem; margin-bottom: .25rem; }
.idea-dim-v { font-family: var(--mono); color: var(--ink-soft); }
.idea-dim-total { display: flex; justify-content: space-between; font-weight: 700;
  border-top: 1px solid var(--line-strong); padding-top: .6rem; margin: .5rem 0 0; }

/* ---- index (/ideas) ----------------------------------------------------- */
.idea-index h1 { font-family: var(--serif); font-size: clamp(1.9rem, 4.5vw, 3rem); line-height: 1.08;
  letter-spacing: -.01em; margin: .3rem 0 .5rem; max-width: 18ch; }
.idea-index .cc-lead { color: var(--ink-soft); max-width: var(--measure); }
.idea-grid { list-style: none; padding: 0; margin: 1.8rem 0 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .9rem; }
.idea-card a { display: flex; gap: .9rem; align-items: flex-start; text-decoration: none;
  background: var(--bg-elev); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 1rem 1.1rem; height: 100%; transition: border-color .15s, transform .15s, box-shadow .15s; }
.idea-card a:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: var(--shadow); }
.idea-card-score { font-family: var(--mono); font-weight: 700; font-size: 1.3rem; line-height: 1;
  flex-shrink: 0; min-width: 2.2ch; }
.idea-card-body { display: flex; flex-direction: column; gap: .2rem; }
.idea-card-title { font-family: var(--serif); font-size: 1.08rem; color: var(--ink); line-height: 1.2; }
.idea-card-one { font-size: .9rem; color: var(--ink-soft); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.idea-card-seg { font-family: var(--mono); font-size: .72rem; color: var(--ink-mute); margin-top: .15rem; }
