/* Final interface layer. Loaded last so the launch UI stays consistent with older feature styles. */
.breadcrumbs { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:10px; }
.breadcrumbs a { color:var(--green); font-weight:750; }

/* Topic detail */
.topic-page-head { padding:36px 0 32px; color:#fff; background:linear-gradient(130deg,var(--forest-950),#15543f); }
.topic-context { position:relative; }
.topic-page-head .breadcrumbs { color:#91ad9f; margin-bottom:17px; }
.topic-page-head .breadcrumbs a { color:#c5ddd2; }
.topic-state-row { display:flex; align-items:center; gap:7px; margin-bottom:9px; }
.topic-state-row .category-dot { color:#b9cec4; font-size:10px; }
.topic-page-head h1 { max-width:870px; margin:0 0 23px; font-family:var(--serif); font-size:clamp(31px,4vw,45px); line-height:1.25; letter-spacing:-1px; }
.topic-intro-meta { display:flex; align-items:center; gap:20px; }
.topic-author-link { display:flex; align-items:center; gap:9px; padding-right:20px; border-right:1px solid rgba(255,255,255,.12); }
.topic-author-link>span:last-child,.post-author>span:last-child,.topic-byline>span:last-child { display:flex; flex-direction:column; }
.topic-author-link strong { font-size:11px; }
.topic-author-link small { color:#a8c0b5; font-size:8px; }
.topic-intro-stat { color:#aac1b6; font-size:9px; }
.topic-intro-stat strong { color:#fff; font-size:13px; margin-right:3px; }
.topic-bookmark { margin-left:auto; }
.topic-bookmark .button { min-height:36px; padding:6px 12px; background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.16); color:#fff; box-shadow:none; }
.topic-shell { grid-template-columns:minmax(0,1fr) 245px; align-items:start; }
.post-card { padding:0; overflow:visible; }
.post-card-head { min-height:61px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 19px; border-bottom:1px solid var(--line); background:#fbfcfb; border-radius:var(--radius-md) var(--radius-md) 0 0; }
.post-author { color:var(--ink); }
.post-author strong { font-size:11px; }
.post-author small { color:var(--muted); font-size:8px; }
.post-position { display:flex; align-items:center; gap:10px; color:#98a29d; font-size:8px; }
.accepted-post { border-color:#9dcbb8; box-shadow:0 5px 22px rgba(29,122,88,.08); }
.accepted-post .post-card-head { background:#f0f8f4; }
.accepted-mark { color:var(--green); font-weight:800; }
.post-body { min-height:105px; margin:0; padding:25px 25px 29px; color:#30423a; font-size:14px; line-height:1.85; }
.post-body>*:first-child { margin-top:0; }
.post-body>*:last-child { margin-bottom:0; }
.post-actions { min-height:47px; margin:0; padding:10px 20px; background:#fcfdfc; }
.inline-report { margin-left:auto; }
.reply-card { padding:25px; }
.reply-card-heading h2,.login-prompt h2 { margin:6px 0 2px; font-family:var(--serif); font-size:25px; }
.reply-card-heading p,.login-prompt p { color:var(--muted); margin:0 0 17px; font-size:10px; }
.reply-submit { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.reply-submit small { color:var(--muted); font-size:8px; }
.login-prompt { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.topic-guide { display:block !important; text-align:left !important; }
.topic-guide ol,.download-guide ol { margin:0; padding:0; list-style:none; counter-reset:guide; }
.topic-guide li,.download-guide li { counter-increment:guide; padding:9px 0 9px 25px; border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:10px; position:relative; }
.topic-guide li:before,.download-guide li:before { content:counter(guide); position:absolute; left:0; width:17px; height:17px; display:grid; place-items:center; border-radius:50%; background:var(--green-soft); color:var(--green); font-size:7px; font-weight:800; }

/* EA detail */
.ea-profile-head { padding:35px 0 40px; color:#fff; background:linear-gradient(130deg,var(--forest-950),#15543f); }
.ea-profile-head .breadcrumbs { color:#91ad9f; margin-bottom:24px; }
.ea-profile-head .breadcrumbs a { color:#c5ddd2; }
.ea-title-row { grid-template-columns:minmax(0,1fr) 310px; gap:70px; align-items:end; }
.ea-title-row h1 { max-width:820px; margin:13px 0 8px; color:#fff; font-size:clamp(38px,5vw,54px); }
.ea-title-row p { color:#bdd0c7; font-size:13px; line-height:1.8; margin:0; }
.ea-labels .badge { background:rgba(255,255,255,.1); color:#d9e7e0; }
.ea-labels .badge-success { background:#dff3e8; color:#227151; }
.ea-labels .platform-pill { background:#fff; color:var(--forest-900); }
.ea-labels .risk-low { color:#8fd4b9; }.ea-labels .risk-medium { color:#f0bd7f; }.ea-labels .risk-high,.ea-labels .risk-extreme { color:#ffaaa2; }
.ea-hero-actions { display:flex; gap:8px; margin-top:23px; }
.ea-hero-facts { display:grid; grid-template-columns:1fr 1fr; margin:0; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(255,255,255,.06); overflow:hidden; }
.ea-hero-facts div { min-height:73px; padding:14px 16px; border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.ea-hero-facts div:first-child { grid-column:1/-1; }
.ea-hero-facts div:nth-child(2),.ea-hero-facts div:nth-child(3) { border-bottom:0; }
.ea-hero-facts div:last-child { border-right:0; }
.ea-hero-facts dt { color:#9db8ab; font-size:8px; }
.ea-hero-facts dd { margin:4px 0 0; color:#fff; font-size:17px; font-weight:800; }
.ea-profile-grid { align-items:start; }
.ea-profile-grid main>.detail-card { overflow:hidden; padding:0; }
.ea-profile-grid .section-heading.compact { align-items:center; padding:21px 23px 15px; margin:0; border-bottom:1px solid var(--line); }
.ea-profile-grid .section-heading.compact>p { max-width:330px; text-align:right; }
.ea-profile-grid .fact-grid { padding:5px 10px 14px; }
.ea-overview-card .fact-grid>div { padding:17px 15px; }
.version-list { padding:0 23px 8px; }
.version-row { grid-template-columns:95px minmax(0,1fr) auto; gap:20px; padding:18px 2px; font-size:11px; }
.version-number,.version-notes,.version-actions { display:flex; flex-direction:column; }
.version-number span,.version-notes small { color:var(--muted); font-size:8px; }
.version-number strong { font-size:16px; }
.version-notes strong { color:var(--ink-soft); font-weight:700; }
.version-actions { align-items:flex-end; gap:7px; }
.version-actions form { margin:0; }
.version-actions .download-button { border:1px solid var(--line); background:#fff; }
.security-status { font-size:8px; }
.rating-summary { display:flex; align-items:baseline; gap:4px; }
.rating-summary strong { color:var(--green); font-size:25px; }
.rating-summary span { color:var(--muted); font-size:9px; }
.rating-list { padding:0 23px; }
.ea-rating { padding:18px 0; }
.ea-rating header,.ea-rating header>div { display:flex; align-items:center; gap:9px; }
.ea-rating header { justify-content:space-between; }
.ea-rating p { margin:9px 0; font-size:11px; line-height:1.75; }
.rating-form { margin:5px 23px 23px; padding:21px; border:1px solid var(--line); border-radius:11px; background:#f8faf8; }
.rating-form h3 { margin:0 0 15px; font-size:14px; }
.rating-form .form-row { grid-template-columns:160px minmax(0,1fr); }
.ea-detail-sidebar { display:flex; flex-direction:column; gap:13px; position:sticky; top:96px; }
.ea-detail-sidebar .author-card { margin:0; }
.ea-detail-sidebar .topic-byline span:last-child small { color:var(--muted); font-size:8px; }
.owner-actions { display:grid; gap:8px; margin-top:17px; }
.owner-actions .button { margin:0; }
.download-guide { background:#f6f8f5; }

/* Profile overrides older governance styles. */
.profile-hero { padding:43px 0; background:linear-gradient(125deg,var(--forest-950),#185843); }
.profile-heading { grid-template-columns:88px minmax(0,1fr) auto auto; gap:22px; }
.profile-avatar { width:auto; height:auto; border-radius:0; font-size:inherit; }
.profile-avatar-large { width:84px; height:84px; border-radius:22px; font-size:32px; }
.profile-identity h1 { margin:5px 0 0; font-size:37px; }
.profile-handle { color:#b9d0c6; }
.profile-grid { grid-template-columns:minmax(0,1fr) 255px; gap:22px; }
.profile-ea-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

@media (max-width:820px) {
  .topic-shell,.ea-profile-grid,.profile-grid { grid-template-columns:1fr; }
  .topic-sidebar { display:none; }
  .ea-detail-sidebar { position:static; display:grid; grid-template-columns:1fr 1fr; }
  .ea-detail-sidebar>.report-box { grid-column:1/-1; }
  .profile-heading { grid-template-columns:84px minmax(0,1fr) auto; }
  .profile-stats { grid-column:1/-1; }
}
@media (max-width:620px) {
  .topic-page-head { padding:28px 0 25px; }
  .topic-page-head h1 { font-size:30px; }
  .topic-intro-meta { flex-wrap:wrap; gap:11px; }
  .topic-author-link { width:100%; border:0; padding:0; }
  .topic-bookmark { margin-left:auto; }
  .post-card-head { align-items:flex-start; }
  .post-position time { display:none; }
  .post-body { padding:21px 18px 24px; }
  .reply-submit,.login-prompt { align-items:stretch; flex-direction:column; }
  .reply-submit .button { width:100%; }
  .ea-title-row { grid-template-columns:1fr; gap:25px; }
  .ea-title-row h1 { font-size:37px; }
  .ea-hero-facts { width:100%; }
  .ea-hero-actions .button { flex:1; }
  .version-row { grid-template-columns:63px minmax(0,1fr); gap:12px; }
  .version-actions { grid-column:1/-1; align-items:flex-start; padding-left:75px; }
  .rating-form .form-row { grid-template-columns:1fr; }
  .ea-detail-sidebar { grid-template-columns:1fr; }
  .profile-heading { grid-template-columns:64px minmax(0,1fr); gap:15px; }
  .profile-avatar-large { width:62px; height:62px; border-radius:17px; font-size:24px; }
  .profile-stats,.profile-actions { grid-column:1/-1; }
  .profile-ea-grid { grid-template-columns:1fr; }
}
