.guide-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

.guide-flow article {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px;
  border-radius: 14px;
  background: var(--ink);
  color: #fff;
}

.guide-flow b {
  display: grid;
  place-items: center;
  flex: 0 0 29px;
  height: 29px;
  border-radius: 8px;
  background: var(--lime);
  color: var(--ink);
}

.guide-flow strong,
.guide-flow span { display: block; }
.guide-flow span {
  margin-top: 4px;
  color: #afbeb4;
  font-size: 12px;
  line-height: 1.4;
}

.guide-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.guide-grid details {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--card);
  box-shadow: var(--shadow);
}

.guide-grid summary {
  padding: 17px 19px;
  cursor: pointer;
  font-weight: 850;
  list-style-position: inside;
}

.guide-grid details[open] summary {
  border-bottom: 1px solid var(--line);
  background: #f0f5dd;
}

.guide-body {
  padding: 17px 19px;
  color: #3e4941;
  font-size: 13px;
  line-height: 1.55;
}

.guide-body p:last-child,
.guide-body ul:last-child { margin-bottom: 0; }
.guide-body ul { padding-left: 19px; }
.guide-body li + li { margin-top: 5px; }
.guide-body dl { margin: 0; display: grid; gap: 10px; }
.guide-body dl div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; }
.guide-body dt { color: var(--green); font-weight: 900; }
.guide-body dd { margin: 0; }

.formula {
  display: flex;
  flex-direction: column;
  margin-top: 16px;
  padding: 13px;
  border-radius: 10px;
  background: var(--ink);
  color: #fff;
}

.formula span {
  color: var(--lime);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.formula strong { margin-top: 4px; }
.guide-note { padding: 11px; border-left: 4px solid var(--orange); background: #f8eee2; }
.source-note { margin: 14px 0 0; color: var(--muted); font-size: 11px; }

@media (max-width: 1100px) {
  .guide-flow { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .guide-flow,
  .guide-grid { grid-template-columns: 1fr; }
  .guide-body dl div { grid-template-columns: 72px 1fr; }
}

.source-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  margin-bottom: 13px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--card);
}

.source-strip span,
.source-strip a {
  display: block;
  padding: 13px 15px;
  color: var(--muted);
  font-size: 11px;
  border-right: 1px solid var(--line);
  text-decoration: none;
}

.source-strip span:last-child { border-right: 0; }
.source-strip a:hover { background: #f0f5dd; }
.source-strip b { display: block; margin-bottom: 3px; color: var(--ink); }
.news-heading-actions { display: flex; align-items: center; gap: 12px; }
.news-heading-actions p { margin: 0; color: var(--muted); font-size: 12px; }
.official-quotes-link { padding: 9px 12px; border-radius: 9px; background: var(--green); color: #fff; font-size: 11px; font-weight: 850; text-decoration: none; white-space: nowrap; }
.news-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin: 14px 0; }
.news-toolbar small { color: var(--muted); }
.news-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.news-filter { padding: 8px 11px; border: 1px solid var(--line); border-radius: 99px; background: var(--card); color: var(--ink); cursor: pointer; font-weight: 750; }
.news-filter.active { border-color: var(--green); background: var(--green); color: #fff; }
.news-feed { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.news-card { padding: 17px; border: 1px solid var(--line); border-top: 4px solid var(--blue); border-radius: 14px; background: var(--card); box-shadow: var(--shadow); }
.news-card.priority-high { border-top-color: var(--red); }
.news-card.priority-medium { border-top-color: var(--orange); }
.news-card-top,.news-card footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.news-card-top time { color: var(--muted); font-size: 11px; }
.news-status,.news-category { display: inline-block; margin-right: 5px; padding: 5px 7px; border-radius: 6px; font-size: 9px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.news-status { background: #dfeee5; color: var(--green); }
.status-agreement_reported { background: #f8ded9; color: var(--red); }
.status-advanced_talks { background: #f7ead8; color: #965a20; }
.status-rumor { background: #e8e8e1; color: var(--muted); }
.news-category { background: #e5edf5; color: var(--blue); }
.news-card h3 { margin: 15px 0 8px; font-size: 18px; }
.news-card > p { color: var(--muted); font-size: 12px; line-height: 1.5; }
.news-impact { margin: 13px 0; padding: 11px; border-radius: 9px; background: #f0efe7; }
.news-impact b,.news-impact span { display: block; }
.news-impact b { margin-bottom: 4px; color: var(--green); font-size: 10px; text-transform: uppercase; }
.news-impact span { font-size: 12px; line-height: 1.45; }
.news-card footer { padding: 11px 0 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; text-align: left; }
.news-card footer a { color: var(--green); font-weight: 800; text-decoration: none; }
.news-empty { grid-column: 1 / -1; display: flex; flex-direction: column; padding: 24px; border: 1px dashed var(--line); border-radius: 13px; color: var(--muted); text-align: center; }
.news-empty strong { margin-bottom: 4px; color: var(--ink); }
.news-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 12px; color: var(--muted); font-size: 10px; }
.dot { display: inline-block; width: 8px; height: 8px; margin-right: 4px; border-radius: 50%; background: var(--muted); }
.dot.official { background: var(--green); }.dot.reported { background: var(--red); }.dot.advanced { background: var(--orange); }

@media (max-width: 1100px) {
  .source-strip,.news-feed { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .source-strip,.news-feed { grid-template-columns: 1fr; }
  .source-strip span,.source-strip a { border-right: 0; border-bottom: 1px solid var(--line); }
  .source-strip span:last-child { border-bottom: 0; }
  .news-heading-actions { align-items: flex-start; margin-top: 10px; }
  .news-toolbar { display: block; }
  .news-toolbar small { display: block; margin-top: 9px; }
}

.profile-button { padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; background: #f1eee5; color: var(--green); cursor: pointer; font-size: 10px; font-weight: 850; }
.player-dialog { width: min(820px, calc(100% - 28px)); max-height: 90vh; padding: 0; border: 0; border-radius: 18px; background: var(--card); color: var(--ink); box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.player-dialog::backdrop { background: rgba(13,23,16,.68); backdrop-filter: blur(3px); }
.player-dialog section { padding: 20px 24px; border-top: 1px solid var(--line); }
.player-dialog h3 { margin: 0 0 10px; font-size: 15px; }
.profile-head { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px; background: var(--ink); color: #fff; }
.profile-head p { display: inline-block; margin: 0 0 7px 7px; color: #aebbb1; font-size: 11px; }
.profile-head h2 { margin: 0; font-size: 30px; }
.profile-score { display: flex; align-items: center; gap: 10px; padding-right: 38px; }
.profile-score > strong { font-size: 42px; color: var(--lime); }
.profile-close { position: absolute; top: 13px; right: 13px; width: 31px; height: 31px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; font-size: 20px; }
.profile-summary p { margin-bottom: 8px; color: #475149; font-size: 13px; line-height: 1.55; }
.component-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
.component-grid div { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 8px; padding-bottom: 8px; overflow: hidden; }
.component-grid span { font-size: 11px; color: var(--muted); }
.component-grid b { font-size: 12px; }
.component-grid i { position: absolute; left: 0; bottom: 0; height: 4px; border-radius: 8px; background: var(--green); }
.component-grid div::after { content: ""; position: absolute; z-index: -1; inset: auto 0 0; height: 4px; background: #e8e5dc; }
.profile-economics { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.profile-economics div { padding: 13px; border-radius: 10px; background: #f0efe7; }
.profile-economics span,.profile-economics small { display: block; color: var(--muted); font-size: 10px; }
.profile-economics strong { display: block; margin: 5px 0; font-size: 20px; }
.profile-confidence p { margin-bottom: 5px; color: #475149; font-size: 13px; }
.profile-confidence small { color: var(--muted); }
.profile-news { display: grid; gap: 9px; }
.profile-news article { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.profile-news article > div { display: flex; justify-content: space-between; align-items: center; }
.profile-news time { color: var(--muted); font-size: 10px; }
.profile-news h4 { margin: 9px 0 5px; }
.profile-news p { margin: 0 0 7px; color: #475149; font-size: 12px; }
.profile-news a { color: var(--green); font-size: 11px; font-weight: 800; text-decoration: none; }
.profile-no-news { padding: 18px; border: 1px dashed var(--line); border-radius: 10px; color: var(--muted); font-size: 12px; text-align: center; }

@media (max-width: 620px) {
  .profile-head { align-items: flex-start; }
  .profile-score { display: block; padding-right: 25px; text-align: right; }
  .profile-score > strong { display: block; font-size: 34px; }
  .component-grid,.profile-economics { grid-template-columns: 1fr; }
}
