:root {
  color-scheme: light;
  --contrib-bg: #f8fafc;
  --contrib-card: #ffffff;
  --contrib-text: #0f172a;
  --contrib-muted: #64748b;
  --contrib-line: rgba(15, 23, 42, 0.12);
  --contrib-teal: #0f766e;
  --contrib-soft: #f0fdfa;
}
html.dark {
  color-scheme: dark;
  --contrib-bg: #0b1220;
  --contrib-card: #111827;
  --contrib-text: #f8fafc;
  --contrib-muted: #94a3b8;
  --contrib-line: rgba(248, 250, 252, 0.14);
  --contrib-teal: #5eead4;
  --contrib-soft: rgba(15, 118, 110, 0.22);
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--contrib-bg);
  color: var(--contrib-text);
  font-family: "Segoe UI", Tahoma, sans-serif;
}
.contrib-wrap {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 64px;
}
.contrib-title { margin: 0 0 8px; font-size: 1.45rem; line-height: 1.3; }
.contrib-sub, .contrib-count { color: var(--contrib-muted); line-height: 1.5; }
.contrib-step, .contrib-group-title { margin: 18px 0 10px; font-size: 1.05rem; }
.contrib-field { display: flex; flex-direction: column; gap: 6px; margin: 12px 0; font-weight: 700; }
.contrib-optional { color: var(--contrib-muted); font-weight: 600; }
input, select, textarea {
  width: 100%;
  min-height: 48px;
  border-radius: 12px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
  color: var(--contrib-text);
  padding: 10px 12px;
  font: inherit;
}
textarea { min-height: 96px; resize: vertical; }
.contrib-primary, .contrib-secondary, .contrib-text, .contrib-card, .contrib-topic {
  font: inherit;
  cursor: pointer;
}
.contrib-primary, .contrib-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin-top: 12px;
  border: 0;
  border-radius: 14px;
  background: #0f766e;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.contrib-secondary {
  width: 100%;
  min-height: 48px;
  margin-top: 10px;
  border-radius: 14px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
  color: var(--contrib-text);
  font-weight: 700;
}
.contrib-text {
  border: 0;
  background: transparent;
  color: var(--contrib-teal);
  font-weight: 700;
  min-height: 44px;
  padding: 8px 0;
}
.contrib-top, .contrib-actions { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.contrib-actions { align-items: stretch; flex-direction: column; }
.contrib-grid { display: grid; gap: 10px; }
.contrib-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100%;
  text-align: inherit;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
  color: var(--contrib-text);
}
.contrib-card.is-existing, .contrib-card.is-note, .contrib-card.is-new { border-color: #0f766e; background: var(--contrib-soft); }
.contrib-card-section { font-weight: 800; }
.contrib-card-teil, .contrib-card-mark { color: var(--contrib-muted); font-size: 0.92rem; }
.contrib-card-topic { font-weight: 700; }
.contrib-error { color: #b91c1c; font-weight: 700; }
html.dark .contrib-error { color: #fecaca; }
.contrib-encourage {
  margin-top: 18px;
  padding: 14px;
  border-radius: 16px;
  background: var(--contrib-soft);
  line-height: 1.6;
}
.contrib-topic-list { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; max-height: 52vh; overflow: auto; }
.contrib-topic {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
  color: var(--contrib-text);
  text-align: inherit;
}
.contrib-topic.is-selected { border-color: #0f766e; background: var(--contrib-soft); }
.contrib-mini { margin-inline-start: auto; color: var(--contrib-teal); font-size: 0.85rem; font-weight: 800; }
.contrib-review-line { padding: 8px 0; border-top: 1px solid var(--contrib-line); }
.contrib-filters { display: grid; gap: 8px; margin: 12px 0; }
.contrib-admin-card { padding: 12px 0; border-top: 1px solid var(--contrib-line); }
.contrib-badge { display: inline-block; margin-inline-end: 6px; padding: 2px 8px; border-radius: 999px; font-size: 0.78rem; font-weight: 800; background: var(--contrib-soft); }
@media (min-width: 800px) {
  .contrib-grid { grid-template-columns: 1fr 1fr; }
  .contrib-actions { flex-direction: row; }
  .contrib-actions .contrib-primary, .contrib-actions .contrib-secondary { width: auto; flex: 1; }
  .contrib-filters { grid-template-columns: repeat(3, 1fr); }
}
.adm-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
.adm-back, .adm-crumb {
  border: 0;
  background: transparent;
  color: var(--contrib-teal);
  font: inherit;
  font-weight: 800;
  min-height: 44px;
  cursor: pointer;
  padding: 0 4px;
}
.adm-title { margin: 0 0 12px; font-size: 1.35rem; }
.adm-grid { display: grid; gap: 12px; }
.adm-card {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 84px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
  color: var(--contrib-text);
  text-align: inherit;
  font: inherit;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}
.adm-card:hover, .adm-card:focus-visible { border-color: #0f766e; outline: none; }
.adm-ico {
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--contrib-soft);
  font-size: 1.6rem;
}
.adm-card-body { flex: 1; min-width: 0; }
.adm-card-title { font-weight: 800; font-size: 1.05rem; }
.adm-card-meta { color: var(--contrib-muted); margin-top: 4px; line-height: 1.45; white-space: pre-line; }
.adm-go { color: var(--contrib-muted); font-size: 1.3rem; }
.adm-group { margin: 18px 0 8px; font-weight: 800; }
.adm-filters { display: grid; gap: 8px; margin: 0 0 14px; }
.adm-filters select, .adm-filters input { min-height: 44px; }
.adm-report { padding: 14px; border-radius: 16px; border: 1px solid var(--contrib-line); background: var(--contrib-card); }
.adm-report p { margin: 4px 0; }
.adm-ltr { direction: ltr; unicode-bidi: isolate; }
@media (min-width: 800px) {
  .adm-grid { grid-template-columns: 1fr 1fr; }
  .adm-grid.is-reports { grid-template-columns: 1fr; }
  .adm-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.cm-top { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.cm-home-link {
  display: inline-flex;
  align-items: center;
  margin: 0 0 12px;
  padding: 8px 14px;
  border: 1px solid var(--contrib-line);
  border-radius: 999px;
  background: transparent;
  color: var(--contrib-text);
  font-weight: 700;
  font-size: 0.92rem;
  line-height: 1.2;
  text-decoration: none;
}
.cm-home-link:hover {
  border-color: var(--contrib-teal);
  color: var(--contrib-teal);
}
.cm-top .contrib-title { margin: 0; font-size: clamp(1.6rem, 2.4vw, 2.1rem); }
.cm-brand-sub { margin: 6px 0 0; color: var(--contrib-muted); line-height: 1.45; max-width: 42rem; }
.cm-back, .cm-card, .cm-react-btn, .cm-comments-toggle, .cm-country, .cm-level, .contrib-primary, .contrib-secondary {
  font: inherit;
  cursor: pointer;
}
.cm-back {
  flex: 0 0 auto;
  min-height: 40px;
  margin-top: 4px;
  border: 0;
  background: transparent;
  color: var(--contrib-muted);
  font-weight: 700;
}
.cm-home, .cm-grid, .cm-countries, .cm-levels, .cm-topics { display: grid; gap: 12px; }
.cm-home { grid-template-columns: 1fr; }
.cm-countries, .cm-grid { grid-template-columns: 1fr; }
.cm-levels { grid-template-columns: 1fr; }
.cm-topics { grid-template-columns: 1fr; }
@media (min-width: 700px) {
  .cm-home, .cm-countries, .cm-grid { grid-template-columns: 1fr 1fr; }
  .cm-levels { grid-template-columns: repeat(3, 1fr); }
  .cm-topics { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1080px) {
  .cm-countries { grid-template-columns: repeat(3, 1fr); }
  .cm-topics { grid-template-columns: 1fr 1fr 1fr; }
}
.cm-card, .cm-country, .cm-level {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 84px;
  padding: 16px 18px;
  text-align: start;
  border-radius: 18px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
  color: var(--contrib-text);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}
.cm-card.is-on, .cm-country.is-on, .cm-topic.is-on {
  border-color: #0f766e;
  background: var(--contrib-soft);
  box-shadow: inset 0 0 0 1px #0f766e;
}
.cm-card:focus-visible, .cm-country:focus-visible, .cm-level:focus-visible, .cm-react-btn:focus-visible, .cm-skip:focus-visible, .cm-edit:focus-visible {
  outline: 3px solid #0f766e;
  outline-offset: 2px;
}
.cm-emoji { font-size: 1.8rem; line-height: 1; }
.cm-card-title, .cm-country-name { font-weight: 800; overflow-wrap: anywhere; }
.cm-card-name { display: block; font-size: 1.2rem; }
.cm-sub { display: block; margin-top: 4px; color: var(--contrib-muted); font-weight: 650; }
.cm-home-card { min-height: 128px; align-items: flex-start; }
.cm-flag {
  width: 56px;
  height: 40px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-bg);
  font-size: 1.6rem;
}
.cm-flag img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cm-country { min-height: 108px; }
.cm-country-name { font-size: 1.15rem; }
.cm-level { min-height: 140px; flex-direction: column; justify-content: center; align-items: flex-start; }
.cm-level-name { font-size: clamp(2rem, 4vw, 2.6rem); font-weight: 800; letter-spacing: 0.04em; }
.cm-level-pill {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--contrib-soft);
  color: var(--contrib-text);
  font-weight: 800;
}
.cm-place-banner, .cm-place-inline { display: flex; align-items: center; gap: 12px; }
.cm-place-banner { margin: 0 0 16px; }
.cm-place-banner strong, .cm-place-inline strong { font-size: 1.25rem; }
.cm-block-title { margin: 18px 0 8px; font-size: 1.15rem; }
.cm-block-head .cm-block-title { margin-bottom: 2px; }
.cm-ico { width: 22px; height: 22px; display: inline-grid; place-items: center; }
.cm-ico svg { width: 22px; height: 22px; display: block; }
.cm-hero .cm-ico { width: 28px; height: 28px; }
.cm-hero .cm-ico svg { width: 28px; height: 28px; }
.cm-hero-kicker, .cm-section-head, .cm-step-ico, .cm-rail-mark { display: inline-flex; align-items: center; gap: 8px; }
.cm-teil-badge {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  font-weight: 800;
}
.cm-teil-badge.t1 { background: #1d4ed8; }
.cm-teil-badge.t2 { background: #047857; }
.cm-teil-badge.t3 { background: #c2410c; }
.cm-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
  margin-bottom: 14px;
}
.cm-rail-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 132px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
  color: var(--contrib-muted);
  font-weight: 700;
}
.cm-rail-item.is-now { color: var(--contrib-text); border-color: #0f766e; background: var(--contrib-soft); }
.cm-rail-item.is-done { color: var(--contrib-text); }
.cm-rail-mark { font-size: 1.1rem; }
.cm-rail-state { font-size: 0.78rem; font-weight: 700; }
.cm-rail-arrow { align-self: center; color: var(--contrib-muted); }
.cm-stepper { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 8px; align-items: stretch; margin-bottom: 14px; }
.cm-step {
  min-height: 92px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
  color: var(--contrib-muted);
}
.cm-step strong, .cm-step-state { display: block; }
.cm-step strong { color: var(--contrib-text); margin-top: 4px; }
.cm-step-ico { font-size: 1.15rem; }
.cm-step.is-now { border-color: #0f766e; background: var(--contrib-soft); box-shadow: inset 0 0 0 1px #0f766e; }
.cm-step.is-done strong { color: var(--contrib-text); }
.cm-step-line { width: 18px; align-self: center; border-top: 2px solid var(--contrib-line); }
.cm-hero {
  margin: 8px 0 16px;
  padding: 28px 22px;
  border-radius: 24px;
  background: #0f766e;
  color: #fff;
  text-align: center;
}
.cm-hero-kicker { margin: 0; font-size: 1.05rem; font-weight: 800; letter-spacing: 0.04em; }
.cm-hero-title { margin: 8px 0; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.15; }
.cm-hero-ask { margin: 0; font-size: 1.05rem; }
.cm-topic-search { margin-bottom: 12px; }
.cm-topic { min-height: 72px; }
.cm-empty { margin: 8px 0 12px; color: var(--contrib-muted); font-weight: 700; }
.cm-secondary-card { margin-top: 12px; border-style: dashed; }
.cm-custom {
  margin-top: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
}
.cm-skip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-height: 52px;
  margin-top: 10px;
  padding: 8px 12px;
  text-align: start;
  border-radius: 14px;
  border: 0;
  background: transparent;
  color: var(--contrib-muted);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.cm-skip-sub { font-size: 0.85rem; font-weight: 650; }
.cm-edit {
  display: flex;
  width: 100%;
  min-height: 52px;
  margin-top: 8px;
  padding: 10px 12px;
  text-align: start;
  border-radius: 14px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-bg);
  color: var(--contrib-text);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.cm-card:disabled { opacity: 0.7; }
.cm-report, .cm-post {
  margin: 14px 0;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-card);
  overflow-wrap: anywhere;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}
.cm-report-head, .cm-post-identity { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
.cm-author { display: flex; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.cm-author-main { flex: 1; min-width: 0; }
.cm-post-actions { flex: 0 0 auto; margin-left: auto; }
.cm-post-actions.is-confirm { flex: 1 0 100%; margin-left: 0; }
.cm-author img, .cm-avatar {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  object-fit: cover;
}
.cm-avatar {
  display: grid;
  place-items: center;
  background: #0f766e;
  color: #fff;
  font-weight: 800;
}
.cm-avatar--sm { width: 32px; height: 32px; font-size: 0.85rem; }
.cm-meta, .cm-facts { color: var(--contrib-muted); }
.cm-facts { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 10px 0; }
.cm-block { margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--contrib-line); }
.cm-block h3 { margin: 8px 0; font-size: 0.95rem; letter-spacing: 0.04em; }
.cm-topic-line { display: flex; gap: 10px; align-items: center; margin: 8px 0; }
.cm-teil-pill {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--contrib-soft);
  font-weight: 800;
  font-size: 0.85rem;
}
.cm-react { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.cm-react-btn, .cm-comments-toggle {
  min-height: 44px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--contrib-line);
  background: var(--contrib-bg);
  color: var(--contrib-text);
  font-weight: 800;
}
.cm-react-btn.is-on { border-color: #0f766e; background: var(--contrib-soft); }
.cm-comments { margin-top: 10px; }
.cm-comment { display: flex; gap: 10px; padding: 10px 0; border-top: 1px solid var(--contrib-line); align-items: flex-start; flex-wrap: wrap; }
.cm-comment-body { flex: 1; min-width: 0; }
.cm-comment p { margin: 4px 0 0; }
.cm-comment-actions { flex: 0 0 auto; }
.cm-comment-actions.is-confirm { flex: 1 0 100%; }
.cm-comment-delete {
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 5px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--contrib-muted);
  cursor: pointer;
}
.cm-comment-delete svg { width: 16px; height: 16px; display: block; }
.cm-comment-confirm {
  width: min(240px, 70vw);
  padding: 8px 10px;
  border-radius: 10px;
  background: var(--contrib-soft);
}
.cm-comment-confirm p { margin: 0 0 8px; font-size: 0.85rem; font-weight: 600; }
.cm-comment-confirm-actions { display: flex; gap: 8px; }
.cm-comment-cancel, .cm-comment-yes {
  min-height: 32px;
  margin: 0;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 700;
}
.cm-comment-cancel {
  background: transparent;
  color: var(--contrib-text);
  border: 1px solid var(--contrib-line);
}
.cm-comment-yes { background: #9f1239; color: #fff; border: 0; }
.cm-comment-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 8px; align-items: center; }
.cm-comment-form .contrib-primary { width: auto; margin-top: 0; }
.cm-filters { display: grid; gap: 8px; margin-bottom: 12px; }
@media (min-width: 700px) { .cm-filters { grid-template-columns: 1fr 1fr; } }
.cm-error { color: #b91c1c; font-weight: 700; }
html.dark .cm-error { color: #fecaca; }
.cm-notice { color: var(--contrib-teal); font-weight: 700; }
.cm-fresh { margin: 0 0 8px; color: var(--contrib-teal); font-weight: 700; }
.cm-post.is-fresh { box-shadow: inset 3px 0 0 var(--contrib-teal); }
.cm-publish { font-size: 1.05rem; min-height: 56px; }
.contrib-primary, .contrib-secondary {
  min-height: 48px;
  margin-top: 12px;
  padding: 0 16px;
  border-radius: 14px;
  border: 0;
  background: #0f766e;
  color: #fff;
  font-weight: 800;
}
.contrib-secondary { background: transparent; color: var(--contrib-text); border: 1px solid var(--contrib-line); }
html.dark .cm-card, html.dark .cm-post, html.dark .cm-report, html.dark .cm-country, html.dark .cm-level, html.dark .cm-step, html.dark .cm-rail-item, html.dark .cm-react-btn, html.dark .cm-custom {
  background: var(--contrib-card);
  color: var(--contrib-text);
}
html.dark .cm-hero { background: #115e59; color: #f8fafc; }
@media (max-width: 699px) {
  .cm-stepper { grid-template-columns: 1fr; }
  .cm-step-line { display: none; }
  .cm-comment-form { grid-template-columns: 1fr; }
}
