:root {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #18212b;
  background: #f4f7fa;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #135ca5; }
.site-header { background: #fff; border-bottom: 1px solid #d7dee7; }
.wrap { max-width: 980px; margin: 0 auto; padding: 1.1rem; }
.header-inner { display: flex; justify-content: space-between; align-items: center; gap: .8rem; }
.brand { color: #14213d; font-weight: 750; text-decoration: none; }
.version-badge {
  color: #334155; background: #e8eef5; border: 1px solid #c6d2df;
  border-radius: 999px; padding: .23rem .6rem; font-size: .78rem; font-weight: 700; white-space: nowrap;
}
.card { background: #fff; border: 1px solid #d7dee7; border-radius: .7rem; padding: 1.25rem; margin: 1rem 0; }
form { display: grid; gap: .8rem; max-width: 34rem; }
label { display: grid; gap: .35rem; font-weight: 650; }
input, select, button { font: inherit; padding: .65rem .75rem; border-radius: .45rem; }
input, select { border: 1px solid #aebac8; background: #fff; }
button { border: 0; background: #135ca5; color: #fff; font-weight: 700; cursor: pointer; }
button.secondary { background: #5b6775; }
.notice { background: #e6f5ea; border: 1px solid #a9d8b2; padding: .75rem; border-radius: .45rem; }
.error { color: #a20d21; font-weight: 650; }
.small { color: #5b6775; font-size: .92rem; }
.actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { padding: .7rem; text-align: left; border-bottom: 1px solid #d7dee7; }
.code { font-size: 1.35rem; letter-spacing: .12em; font-weight: 800; }
.eyebrow { color: #536273; font-size: .92rem; font-weight: 700; margin: 0 0 .45rem; }
.mission-meta { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; color: #465466; }
.progress-list { display: grid; gap: .55rem; padding-left: 1.4rem; }
.progress-list li { padding: .65rem .75rem; border-left: 4px solid #cbd5e1; background: #f8fafc; }
.progress-list li span { margin-left: .55rem; font-size: .82rem; font-weight: 750; color: #52606d; }
.progress-list li.solved { border-left-color: #16803c; }
.progress-list li.active { border-left-color: #135ca5; background: #eef6ff; }
.progress-list li.locked { opacity: .62; }
.station-content { margin: 1rem 0; }
.station-content pre { overflow-x: auto; padding: 1rem; background: #152238; color: #f7fbff; border-radius: .5rem; line-height: 1.45; }
.signal { display: inline-block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.08rem; font-weight: 750; padding: .7rem .85rem; background: #eef3f8; border-radius: .45rem; }
.hint { margin: 1rem 0; padding: .75rem; border: 1px solid #d7dee7; border-radius: .45rem; background: #fbfcfe; }
.hint summary { cursor: pointer; font-weight: 700; }
.completion-card { border-color: #9ed5ae; background: #f1fcf4; }
.completion-stat { font-size: 1.08rem; }
@media (max-width: 620px) {
  .header-inner { align-items: flex-start; flex-direction: column; }
  th, td { padding: .5rem; }
}

/* M2 team-consensus additions */
.join-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.subcard { border:1px solid #d7dee7; border-radius:.6rem; padding:1rem; background:#fbfcfe; }
.inline-form { display:inline-grid; max-width:none; margin:.35rem 0; }
.lobby-card,.answer-wait { border-color:#9abbe0; background:#eff7ff; padding:1rem; border-radius:.45rem; }
.hints { margin:1rem 0; padding:.75rem; border:1px solid #d7dee7; border-radius:.45rem; background:#fbfcfe; }
.hints h3 { margin-top:0; }
.hint-used { margin:.6rem 0; padding:.65rem .75rem; border-left:4px solid #d49600; background:#fff9e8; }
.hint-used p { margin-bottom:0; }
button.danger { background:#a20d21; }
.team-detail-row > td { background:#f8fafc; }
.team-detail { padding:.3rem 0; }
.admin-members { margin-top:.7rem; }
.admin-members summary { cursor:pointer; font-weight:700; }
@media (max-width:760px){.join-grid{grid-template-columns:1fr;}}


/* === M3.1 Redaktion === */
.editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.editor-station{border-left:5px solid #dbe6f2}
.editor-station h3{margin-top:24px}
.variant-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:22px}
.variant-editor{margin:14px 0;padding:16px;border:1px solid #d8e1eb;border-radius:10px;background:#f8fbfe}
.code-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92rem;line-height:1.4}
#mission-editor label{display:block;margin:14px 0}
#mission-editor input,#mission-editor textarea,#mission-editor select{width:100%;box-sizing:border-box}
#mission-editor textarea{resize:vertical}
.button-link{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .8rem;border-radius:.45rem;background:#1d66b2;color:#fff!important;text-decoration:none;font-weight:700}
@media (max-width:700px){.variant-head{align-items:flex-start;flex-direction:column}}
