:root{--bg:#07111f;--panel:#101d31;--panel2:#162641;--text:#eef6ff;--muted:#a9b9cc;--accent:#58d2ff;--gold:#ffd166;--line:rgba(255,255,255,.14)}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at top,#12345a 0%,var(--bg) 55%);color:var(--text)}
a{color:var(--accent);text-decoration:none}.container{width:min(1100px,94vw);margin:0 auto;padding:24px 0 60px}.header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0}
.brand{display:flex;align-items:center;gap:12px}.logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(0deg,#58d2ff,#ffd166);box-shadow:0 0 25px rgba(88,210,255,.25)}
h1,h2,h3{margin:.2em 0 .5em;line-height:1.05}p{color:var(--muted);line-height:1.5}.nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:14px;padding:10px 14px;cursor:pointer;font-weight:700}.primary{background:linear-gradient(135deg,#159bd3,#58d2ff)!important;color:#06101e!important;border:none!important}
.card{background:rgba(16,29,49,.9);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.22);margin:16px 0}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
label{display:block;color:var(--text);font-weight:700;margin:14px 0 6px}input,textarea,select{width:100%;padding:12px;border-radius:14px;border:1px solid var(--line);background:#09172a;color:var(--text)}textarea{min-height:120px;resize:vertical}
.flash{background:rgba(255,209,102,.15);color:#ffe4a3;border:1px solid rgba(255,209,102,.3);padding:10px 14px;border-radius:14px;margin:8px 0}.badges{display:flex;gap:10px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-size:14px}.badge img{width:28px;height:28px}
.skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.skill-check{padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.05)}.skill-check input{width:auto;margin-right:8px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:10px;vertical-align:top}
.pixel-editor{display:grid;grid-template-columns:repeat(8,26px);gap:3px;margin:10px 0}.pixel{width:26px;height:26px;background:#06101e;border:1px solid rgba(255,255,255,.18);border-radius:4px;cursor:pointer}.pixel.on{background:var(--gold)}
.icon-preview{display:grid;grid-template-columns:repeat(8,8px);gap:1px;width:max-content;padding:6px;background:#07111f;border-radius:8px;border:1px solid var(--line)}.icon-preview span{width:8px;height:8px;background:#101d31}.icon-preview span.on{background:#ffd166}.small{font-size:13px;color:var(--muted)}.footer{border-top:1px solid var(--line);padding-top:20px;margin-top:40px;color:var(--muted);font-size:13px}



/* Sprint 2 Academy HQ */
.hero-card {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  flex-wrap: wrap;
}

.two-col {
  grid-template-columns: minmax(320px, 1fr) minmax(260px, .8fr);
}

#capabilityStar {
  width: 100%;
  max-width: 520px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.team-card {
  background: rgba(255,255,255,.055);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 18px;
}

.team-head {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 12px;
}

.team-icon {
  transform: scale(1.5);
  transform-origin: left center;
  margin-right: 28px;
}

.level-box {
  margin-top: 6px;
}

.level-dots {
  display: flex;
  gap: 6px;
  margin-top: 6px;
}

.level-dots span {
  width: 24px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
}

.level-dots span.filled {
  background: #ffd166;
  box-shadow: 0 0 12px rgba(255,209,102,.35);
}

.crew-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.mini-crew {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--muted);
  min-width: 50px;
}

.feed-item {
  border-left: 3px solid #ffd166;
  padding: 8px 0 8px 12px;
  margin: 10px 0;
  background: rgba(255,255,255,.035);
  border-radius: 0 10px 10px 0;
}

.mini-pixel-editor {
  display: grid;
  grid-template-columns: repeat(8, 16px);
  gap: 2px;
  margin: 10px 0;
}

.mini-pixel {
  width: 16px;
  height: 16px;
  background: #06101e;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 3px;
  cursor: pointer;
}

@media (max-width: 760px) {
  .two-col { grid-template-columns: 1fr; }
  .hero-card { display: block; }
}



/* Sprint 3 Mission Operations */
.support-card {
  background: rgba(255,255,255,.055);
  border: 1px solid var(--line);
  border-left: 5px solid #58d2ff;
  border-radius: 18px;
  padding: 16px;
  margin: 14px 0;
}

.support-card.status-closed {
  opacity: .72;
  border-left-color: #8e8e93;
}

.support-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.support-strip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.055);
  border-left: 4px solid #58d2ff;
  margin: 8px 0;
}

.support-strip.urgency-urgent,
.support-card .urgency-urgent {
  border-left-color: #ff6b6b;
}

.urgency-urgent {
  border-left-color: #ff6b6b;
}

.urgency-soon {
  border-left-color: #ffd166;
}

.status-open {
  box-shadow: 0 0 0 1px rgba(88,210,255,.05);
}

.role-pill {
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,209,102,.14);
  border: 1px solid rgba(255,209,102,.3);
  color: #ffe4a3;
  font-weight: 700;
}


/* Sprint 4 Mission Planner + Crew Capacity */
.readiness-box{min-width:180px;padding:18px;border-radius:20px;background:rgba(255,209,102,.12);border:1px solid rgba(255,209,102,.3);text-align:center}.readiness-box span{display:block;font-size:42px;font-weight:900;color:#ffd166}.readiness-box small{color:var(--muted)}
.readiness-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.readiness-strip div{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center}.readiness-strip strong{font-size:30px;color:#ffd166}
.capacity-card{padding:14px;margin:10px 0;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.05)}.capacity-card.shortfall{border-left:5px solid #ff6b6b}
.gantt-wrap{overflow-x:auto;padding-bottom:12px}.gantt-row{display:grid;grid-template-columns:210px minmax(360px,1fr) 280px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.gantt-label{font-size:14px}.gantt-line{min-height:34px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 34px),rgba(255,255,255,.035);border-radius:12px;position:relative}.gantt-bar{height:28px;line-height:28px;margin-top:3px;border-radius:10px;text-align:center;font-weight:800;color:#06101e;background:#58d2ff}.gantt-bar.status-not_started{background:#8e8e93;color:#fff}.gantt-bar.status-in_progress{background:#58d2ff}.gantt-bar.status-blocked{background:#ff6b6b;color:#fff}.gantt-bar.status-complete{background:#8ee08e}.gantt-actions form{margin:6px 0}.gantt-actions select{margin-bottom:6px}@media(max-width:900px){.gantt-row{grid-template-columns:1fr}.gantt-actions{border-left:3px solid var(--line);padding-left:10px}}


/* Sprint 5 Operational Intelligence */
.risk-stable span { color: #8ee08e; }
.risk-moderate span { color: #ffd166; }
.risk-high span { color: #ff6b6b; }
.warning-card{padding:14px;margin:10px 0;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid var(--line);border-left:5px solid #ffd166}
.warning-card.level-high{border-left-color:#ff6b6b}.warning-card.level-medium{border-left-color:#ffd166}.warning-card.level-low{border-left-color:#58d2ff}
.candidate-card{margin:8px 0;padding:10px 12px;border-radius:14px;background:rgba(88,210,255,.08);border:1px solid rgba(88,210,255,.22)}


/* Sprint 6 Inter-Agency Mission Network */
.team-card form {
  margin-top: 12px;
}
button:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.network-pill {
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,209,102,.14);
  border:1px solid rgba(255,209,102,.3);
  color:#ffe4a3;
  font-weight:700;
}


/* Sprint 6BC Living Operations + Reputation */
.commendation-card,.innovation-card{padding:14px;margin:10px 0;border-radius:16px;background:rgba(255,209,102,.10);border:1px solid rgba(255,209,102,.28);border-left:5px solid #ffd166}
.innovation-card{background:rgba(88,210,255,.08);border-color:rgba(88,210,255,.25);border-left-color:#58d2ff}
.event-mission_completed{border-left-color:#8ee08e}.event-commendation{border-left-color:#ffd166}.event-innovation{border-left-color:#58d2ff}

/* Sprint 7 Partner & Sponsor Ecosystem */
.partner-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,209,102,.14);border:1px solid rgba(255,209,102,.3);color:#ffe4a3;font-weight:700}
