/* MEGURU X — twenty connected systems, delivered as one lightweight expansion. */
:root {
  --mgx-ink:#102d2a;
  --mgx-deep:#09211f;
  --mgx-mint:#bff6df;
  --mgx-lime:#b9f36a;
  --mgx-yellow:#ffda57;
  --mgx-coral:#ff7f68;
  --mgx-sky:#6ed6ff;
  --mgx-violet:#b89cff;
  --mgx-paper:#fffdf6;
  --mgx-line:rgba(16,45,42,.18);
}

.top10-nav-button,
.top10-title-button {
  border:0;
  color:var(--mgx-ink);
  background:linear-gradient(135deg,var(--mgx-yellow),#fff2a9);
  box-shadow:0 8px 0 #7a5d00,0 13px 25px rgba(27,60,48,.24);
  cursor:pointer;
}
.top10-nav-button {
  display:grid;
  grid-template-columns:34px auto;
  grid-template-rows:auto auto;
  align-items:center;
  min-height:48px;
  padding:5px 13px 6px 8px;
  border:1px solid rgba(16,45,42,.35);
  border-radius:14px;
  text-align:left;
}
.top10-nav-button>span {
  grid-row:1/3;
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:10px;
  color:#fff;
  background:var(--mgx-deep);
  font:900 15px/1 system-ui;
  transform:rotate(-4deg);
}
.top10-nav-button b { font:900 10px/1.1 system-ui; letter-spacing:.08em; }
.top10-nav-button small { font:800 6px/1.1 system-ui; letter-spacing:.1em; opacity:.72; }
.top10-title-button {
  display:grid;
  width:100%;
  grid-template-columns:auto 1fr;
  gap:2px 14px;
  align-items:center;
  padding:15px 18px;
  border:2px solid var(--mgx-ink);
  border-radius:18px;
  text-align:left;
}
.top10-title-button span {
  grid-row:1/3;
  padding:8px 10px;
  border-radius:10px;
  color:#fff;
  background:var(--mgx-ink);
  font:900 9px/1 system-ui;
  letter-spacing:.08em;
}
.top10-title-button b { font-size:16px; }
.top10-title-button small { color:#4a625d; font-size:9px; }
.top10-nav-button:hover,.top10-title-button:hover { transform:translateY(-2px); }
.top10-nav-button:active,.top10-title-button:active { transform:translateY(4px); box-shadow:0 4px 0 #7a5d00; }

.mgx-skip-link {
  position:fixed;
  z-index:1000;
  top:8px;
  left:8px;
  padding:12px 16px;
  color:#fff;
  background:#000;
  transform:translateY(-160%);
}
.mgx-skip-link:focus { transform:none; }

.mgx-modal {
  position:fixed;
  z-index:260;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
}
.mgx-modal[hidden] { display:none; }
.mgx-backdrop {
  position:absolute;
  inset:0;
  border:0;
  background:rgba(3,16,15,.86);
  backdrop-filter:blur(12px) saturate(1.2);
}
.mgx-dialog {
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(1440px,97vw);
  max-height:95vh;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.82);
  border-radius:30px;
  color:var(--mgx-ink);
  background:
    radial-gradient(circle at 100% 0,rgba(184,156,255,.24),transparent 32%),
    radial-gradient(circle at 0 100%,rgba(110,214,255,.22),transparent 34%),
    var(--mgx-paper);
  box-shadow:0 34px 100px rgba(0,0,0,.48);
}
.mgx-header {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:18px;
  align-items:center;
  padding:18px 22px;
  color:#fff;
  background:linear-gradient(100deg,#0b2c29,#145147 64%,#2b4d6e);
}
.mgx-brand { display:flex; gap:13px; align-items:center; min-width:0; }
.mgx-brand>span {
  display:grid;
  flex:0 0 auto;
  width:52px;
  height:52px;
  place-items:center;
  border:2px solid var(--mgx-yellow);
  border-radius:16px;
  color:var(--mgx-deep);
  background:var(--mgx-yellow);
  font:1000 25px/1 system-ui;
  box-shadow:7px 7px 0 rgba(0,0,0,.22);
}
.mgx-brand small,.mgx-brand b,.mgx-brand em { display:block; }
.mgx-brand small { color:#a9d9cf; font:800 8px/1.2 system-ui; letter-spacing:.16em; }
.mgx-brand b { margin:3px 0; font-size:clamp(17px,2vw,25px); }
.mgx-brand em { overflow:hidden; color:#d7eee8; font:normal 10px/1.3 system-ui; white-space:nowrap; text-overflow:ellipsis; }
.mgx-progress-summary { display:flex; gap:8px; }
.mgx-progress-summary span {
  min-width:76px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:12px;
  background:rgba(255,255,255,.08);
  text-align:center;
}
.mgx-progress-summary small,.mgx-progress-summary b { display:block; }
.mgx-progress-summary small { color:#a9d9cf; font:800 7px/1 system-ui; letter-spacing:.12em; }
.mgx-progress-summary b { margin-top:4px; font-size:14px; }
.mgx-close {
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.08);
  cursor:pointer;
  font-size:24px;
}
.mgx-layout {
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  min-height:0;
  overflow:hidden;
}
.mgx-rank-nav {
  overflow:auto;
  padding:14px;
  border-right:1px solid var(--mgx-line);
  background:rgba(218,242,232,.62);
}
.mgx-rank-nav>p { margin:3px 4px 12px; color:#53706a; font-size:10px; line-height:1.6; }
.mgx-rank-item {
  display:grid;
  width:100%;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  margin:0 0 7px;
  padding:10px;
  border:1px solid transparent;
  border-radius:14px;
  color:var(--mgx-ink);
  background:rgba(255,255,255,.68);
  cursor:pointer;
  text-align:left;
}
.mgx-rank-item:hover { border-color:rgba(16,45,42,.28); background:#fff; }
.mgx-rank-item.is-active {
  border-color:var(--mgx-ink);
  background:var(--mgx-yellow);
  box-shadow:5px 5px 0 rgba(16,45,42,.18);
}
.mgx-rank-item>span {
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:12px;
  color:#fff;
  background:var(--mgx-ink);
  font:900 12px/1 system-ui;
}
.mgx-rank-item b,.mgx-rank-item small { display:block; }
.mgx-rank-item b { font-size:11px; line-height:1.25; }
.mgx-rank-item small { margin-top:3px; color:#5c716d; font-size:7px; line-height:1.25; }
.mgx-rank-item>i {
  color:#397063;
  font:900 9px/1 system-ui;
  font-style:normal;
}
.mgx-workspace {
  min-width:0;
  overflow:auto;
  padding:clamp(18px,3vw,34px);
}
.mgx-feature-head {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  margin-bottom:20px;
}
.mgx-feature-head>span {
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border:2px solid var(--mgx-ink);
  border-radius:18px;
  color:#fff;
  background:var(--mgx-ink);
  box-shadow:7px 7px 0 var(--mgx-yellow);
  font:1000 17px/1 system-ui;
}
.mgx-feature-head small { color:#387568; font:900 8px/1 system-ui; letter-spacing:.16em; }
.mgx-feature-head h2 { margin:5px 0 7px; font-size:clamp(23px,3.2vw,40px); line-height:1.12; letter-spacing:-.04em; }
.mgx-feature-head p { max-width:780px; margin:0; color:#516c66; font-size:12px; line-height:1.7; }
.mgx-score-chip {
  padding:10px 13px;
  border:1px solid var(--mgx-line);
  border-radius:13px;
  background:#fff;
  text-align:center;
}
.mgx-score-chip small,.mgx-score-chip b { display:block; }
.mgx-score-chip b { margin-top:4px; font-size:18px; }

.mgx-card,.mgx-panel {
  padding:18px;
  border:1px solid var(--mgx-line);
  border-radius:20px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 30px rgba(13,55,46,.08);
}
.mgx-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.mgx-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mgx-card h3,.mgx-panel h3 { margin:0 0 7px; font-size:16px; }
.mgx-card p,.mgx-panel p { margin:0; color:#5a716c; font-size:10px; line-height:1.65; }
.mgx-card small { color:#4d786e; font-size:8px; font-weight:800; letter-spacing:.08em; }
.mgx-card strong { display:block; margin:7px 0; font-size:24px; }
.mgx-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:15px; }
.mgx-button,.mgx-button-secondary,.mgx-icon-button {
  min-height:44px;
  border:1px solid var(--mgx-ink);
  border-radius:12px;
  cursor:pointer;
  font-weight:900;
}
.mgx-button { padding:10px 15px; color:#fff; background:var(--mgx-ink); box-shadow:4px 4px 0 var(--mgx-yellow); }
.mgx-button-secondary { padding:10px 15px; color:var(--mgx-ink); background:#fff; }
.mgx-button[disabled],.mgx-button-secondary[disabled] { cursor:not-allowed; opacity:.45; box-shadow:none; }
.mgx-button:hover,.mgx-button-secondary:hover { transform:translateY(-1px); }
.mgx-note {
  margin-top:14px;
  padding:12px 14px;
  border-left:5px solid var(--mgx-sky);
  border-radius:8px 14px 14px 8px;
  color:#3d625a;
  background:#e7f8ff;
  font-size:9px;
  line-height:1.65;
}
.mgx-warning { border-left-color:var(--mgx-coral); background:#fff0ed; }
.mgx-field { display:grid; gap:6px; }
.mgx-field>span { font-size:9px; font-weight:900; }
.mgx-field input,.mgx-field select,.mgx-field textarea {
  width:100%;
  min-height:44px;
  padding:9px 11px;
  border:1px solid rgba(16,45,42,.32);
  border-radius:11px;
  color:var(--mgx-ink);
  background:#fff;
  font:700 12px/1.4 system-ui;
}
.mgx-field textarea { min-height:84px; resize:vertical; }
.mgx-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mgx-form-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.mgx-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:14px 0; }
.mgx-stat {
  padding:12px;
  border-radius:14px;
  background:#edf4ef;
  text-align:center;
}
.mgx-stat small,.mgx-stat b,.mgx-stat span { display:block; }
.mgx-stat small { color:#58716b; font:800 7px/1.2 system-ui; letter-spacing:.08em; }
.mgx-stat b { margin:6px 0 2px; font-size:20px; }
.mgx-stat span { color:#396b60; font-size:8px; }
.mgx-meter { height:9px; overflow:hidden; border-radius:999px; background:#dce5df; }
.mgx-meter i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--mgx-coral),var(--mgx-yellow),var(--mgx-lime)); }

.mgx-dashboard-hero {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:14px;
  margin-bottom:14px;
}
.mgx-ranking-list { counter-reset:rank; display:grid; gap:8px; }
.mgx-ranking-row {
  counter-increment:rank;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:11px 13px;
  border:1px solid var(--mgx-line);
  border-radius:14px;
  background:#fff;
}
.mgx-ranking-row::before {
  content:counter(rank,decimal-leading-zero);
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border-radius:12px;
  color:#fff;
  background:var(--mgx-ink);
  font-weight:900;
}
.mgx-ranking-row b { display:block; font-size:12px; }
.mgx-ranking-row span { display:block; margin-top:3px; color:#61736f; font-size:8px; }
.mgx-ranking-row em { color:#1b6d5a; font:900 10px/1 system-ui; font-style:normal; }

.mgx-expedition-search { position:relative; }
.mgx-suggestions {
  position:absolute;
  z-index:4;
  top:100%;
  right:0;
  left:0;
  overflow:auto;
  max-height:290px;
  border:1px solid var(--mgx-line);
  border-radius:0 0 14px 14px;
  background:#fff;
  box-shadow:0 18px 36px rgba(0,0,0,.17);
}
.mgx-suggestions:empty { display:none; }
.mgx-suggestions button {
  display:block;
  width:100%;
  padding:11px;
  border:0;
  border-bottom:1px solid #edf1ee;
  background:#fff;
  cursor:pointer;
  text-align:left;
}
.mgx-suggestions button:hover { background:#eaf9f2; }
.mgx-suggestions b,.mgx-suggestions small { display:block; }
.mgx-suggestions small { margin-top:3px; color:#648078; }
.mgx-expedition-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  margin-top:15px;
  padding:18px;
  border:2px solid var(--mgx-ink);
  border-radius:20px;
  background:linear-gradient(145deg,#effff8,#fff8d6);
}
.mgx-expedition-card h3 { margin:4px 0 8px; font-size:22px; }
.mgx-expedition-card p { margin:0; color:#4e6d65; font-size:10px; line-height:1.6; }
.mgx-expedition-card>span {
  align-self:start;
  padding:8px 10px;
  border-radius:10px;
  color:#fff;
  background:var(--mgx-ink);
  font:900 8px/1 system-ui;
}
.mgx-record-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:12px; }
.mgx-record-grid span { padding:10px; border-radius:11px; background:#fff; font-size:8px; }
.mgx-record-grid b { display:block; margin-top:4px; font-size:15px; }

.mgx-ledger { width:100%; border-collapse:collapse; margin-top:12px; }
.mgx-ledger th,.mgx-ledger td { padding:9px 8px; border-bottom:1px solid var(--mgx-line); font-size:9px; text-align:right; }
.mgx-ledger th:first-child,.mgx-ledger td:first-child { text-align:left; }
.mgx-decision-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }
.mgx-decision {
  min-height:110px;
  padding:12px;
  border:1px solid var(--mgx-line);
  border-radius:13px;
  color:var(--mgx-ink);
  background:#fff;
  cursor:pointer;
  text-align:left;
}
.mgx-decision:hover { border-color:var(--mgx-ink); background:#f7fffb; }
.mgx-decision b,.mgx-decision small { display:block; }
.mgx-decision b { margin:4px 0 6px; font-size:11px; }
.mgx-decision small { color:#61736f; font-size:8px; line-height:1.4; }

.mgx-slider-list { display:grid; gap:11px; }
.mgx-slider {
  display:grid;
  grid-template-columns:130px minmax(0,1fr) 55px;
  gap:10px;
  align-items:center;
}
.mgx-slider label { font-size:10px; font-weight:900; }
.mgx-slider input { width:100%; accent-color:#167d68; }
.mgx-slider output { padding:6px; border-radius:9px; background:#eaf3ee; text-align:center; font-weight:900; }
.mgx-material-flow {
  display:grid;
  grid-template-columns:repeat(6,minmax(90px,1fr));
  gap:8px;
  margin:16px 0;
}
.mgx-material-flow span {
  position:relative;
  padding:15px 8px;
  border:1px solid var(--mgx-line);
  border-radius:14px;
  background:#fff;
  text-align:center;
  font-size:9px;
  font-weight:900;
}
.mgx-material-flow span:not(:last-child)::after {
  position:absolute;
  z-index:2;
  top:50%;
  right:-10px;
  width:12px;
  height:4px;
  content:"";
  background:var(--mgx-sky);
  animation:mgx-flow 1.2s linear infinite;
}
@keyframes mgx-flow { 50% { background:var(--mgx-coral); transform:translateX(3px); } }

.mgx-health-list { display:grid; gap:10px; }
.mgx-health-row {
  display:grid;
  grid-template-columns:130px minmax(0,1fr) 55px auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:13px;
  background:#fff;
}
.mgx-health-row>span { font-size:10px; font-weight:900; }
.mgx-health-row>strong { font-size:15px; }

.mgx-crew-power-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.mgx-crew-power-card {
  padding:14px;
  border:1px solid var(--mgx-line);
  border-radius:16px;
  background:#fff;
}
.mgx-crew-power-card.is-current { border:2px solid var(--mgx-ink); box-shadow:5px 5px 0 var(--mgx-yellow); }
.mgx-crew-power-card header { display:flex; gap:9px; align-items:center; }
.mgx-crew-power-card header span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; color:#fff; background:var(--mgx-ink); }
.mgx-crew-power-card h3 { margin:0; font-size:13px; }
.mgx-crew-power-card p { margin:9px 0; color:#58706a; font-size:9px; line-height:1.55; }
.mgx-crew-power-card small { font-size:8px; }

.mgx-gantt { display:grid; gap:8px; margin-top:15px; }
.mgx-gantt-row { display:grid; grid-template-columns:120px 1fr 120px; gap:9px; align-items:center; }
.mgx-gantt-row>span { font-size:9px; font-weight:900; }
.mgx-gantt-bar { position:relative; height:20px; overflow:hidden; border-radius:7px; background:#e4ebe6; }
.mgx-gantt-bar i { position:absolute; inset:0 auto 0 0; border-radius:inherit; background:linear-gradient(90deg,var(--mgx-sky),var(--mgx-violet)); }
.mgx-gantt-row select { min-height:38px; border:1px solid var(--mgx-line); border-radius:9px; background:#fff; font-size:9px; }

.mgx-stakeholders { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:14px 0; }
.mgx-stakeholder { padding:12px 8px; border-radius:14px; background:#fff; text-align:center; }
.mgx-stakeholder span,.mgx-stakeholder b,.mgx-stakeholder small { display:block; }
.mgx-stakeholder span { font-size:24px; }
.mgx-stakeholder b { margin:5px 0; font-size:9px; }
.mgx-stakeholder small { color:#53716a; font-size:7px; }
.mgx-policy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.mgx-policy {
  position:relative;
  min-height:108px;
  padding:12px;
  border:1px solid var(--mgx-line);
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  text-align:left;
}
.mgx-policy.is-selected { border:2px solid var(--mgx-ink); background:#fff6c8; }
.mgx-policy b,.mgx-policy small { display:block; }
.mgx-policy small { margin-top:6px; color:#61726e; font-size:8px; line-height:1.45; }

.mgx-code {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 0;
  padding:15px 17px;
  border:2px dashed var(--mgx-ink);
  border-radius:16px;
  background:#fff9d7;
}
.mgx-code code { font:900 clamp(16px,2.4vw,27px)/1.2 ui-monospace,monospace; letter-spacing:.06em; }
.mgx-code small { display:block; margin-top:5px; color:#65736f; font-size:8px; }

.mgx-kit-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:14px; }
.mgx-parts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-content:start; }
.mgx-part {
  min-height:58px;
  padding:9px;
  border:1px solid var(--mgx-line);
  border-radius:12px;
  color:var(--mgx-ink);
  background:#fff;
  cursor:pointer;
  text-align:left;
}
.mgx-part[disabled] { opacity:.35; }
.mgx-part b,.mgx-part small { display:block; }
.mgx-part small { margin-top:4px; color:#63746f; font-size:7px; }
.mgx-model-board {
  display:grid;
  grid-template-columns:repeat(5,minmax(74px,1fr));
  gap:8px;
  min-height:230px;
  padding:15px;
  border:2px solid var(--mgx-ink);
  border-radius:18px;
  background:linear-gradient(160deg,#e9f8ff,#effbe5);
}
.mgx-model-slot {
  position:relative;
  display:grid;
  min-height:92px;
  place-items:center;
  padding:8px;
  border:2px dashed rgba(16,45,42,.24);
  border-radius:12px;
  text-align:center;
}
.mgx-model-slot.is-filled { border-style:solid; background:#fff; }
.mgx-model-slot b { font-size:9px; }
.mgx-model-slot small { color:#55736b; font-size:7px; }
.mgx-model-board[data-view="flow"] .mgx-model-slot.is-filled::after {
  position:absolute;
  right:-10px;
  width:13px;
  height:4px;
  content:"";
  background:var(--flow,var(--mgx-sky));
  animation:mgx-flow .9s linear infinite;
}
.mgx-model-board[data-view="xray"] .mgx-model-slot { background:rgba(255,255,255,.5); box-shadow:inset 0 0 0 3px rgba(110,214,255,.2); }
.mgx-model-board[data-view="exploded"] { gap:16px; }
.mgx-kit-feedback { min-height:42px; margin-top:10px; padding:10px; border-radius:11px; background:#eaf4ef; font-size:9px; line-height:1.55; }

.mgx-settings { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mgx-segmented { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; padding:5px; border-radius:13px; background:#e4ece7; }
.mgx-segmented button {
  min-height:46px;
  border:0;
  border-radius:9px;
  color:var(--mgx-ink);
  background:transparent;
  cursor:pointer;
  font-weight:900;
}
.mgx-segmented button.is-active { color:#fff; background:var(--mgx-ink); }
.mgx-toggle {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid var(--mgx-line);
  border-radius:13px;
  background:#fff;
}
.mgx-toggle span b,.mgx-toggle span small { display:block; }
.mgx-toggle span b { font-size:11px; }
.mgx-toggle span small { margin-top:3px; color:#63756f; font-size:8px; }
.mgx-toggle input { width:22px; height:22px; accent-color:#126c5b; }
.mgx-checkpoint {
  padding:16px;
  border:2px solid var(--mgx-ink);
  border-radius:16px;
  background:#fff5c3;
}
.mgx-checkpoint h3 { margin:0 0 6px; }

.mgx-play-dock {
  position:fixed;
  z-index:88;
  right:18px;
  bottom:84px;
  display:grid;
  gap:8px;
}
.mgx-play-dock[hidden] { display:none; }
.mgx-play-dock button {
  display:grid;
  width:58px;
  min-height:58px;
  place-items:center;
  padding:6px;
  border:2px solid #fff;
  border-radius:18px;
  color:#fff;
  background:var(--mgx-deep);
  box-shadow:0 10px 30px rgba(0,0,0,.28);
  cursor:pointer;
  font-size:18px;
}
.mgx-play-dock button small { display:block; color:#d9eee8; font-size:6px; font-weight:900; }
.mgx-play-dock button.is-used { opacity:.45; }

.fd-expedition-cta {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin:16px;
  padding:17px;
  border:2px solid #0d3531;
  border-radius:20px;
  color:#0d3531;
  background:linear-gradient(135deg,#fff1a9,#c8f6df);
  box-shadow:7px 7px 0 rgba(13,53,49,.2);
}
.fd-expedition-cta span,.fd-expedition-cta b,.fd-expedition-cta small { display:block; }
.fd-expedition-cta span { font-size:8px; font-weight:900; letter-spacing:.14em; }
.fd-expedition-cta b { margin:5px 0; font-size:16px; }
.fd-expedition-cta small { max-width:650px; font-size:9px; line-height:1.5; }
.fd-expedition-cta button {
  display:flex;
  gap:12px;
  align-items:center;
  min-height:50px;
  padding:10px 15px;
  border:0;
  border-radius:13px;
  color:#fff;
  background:#0d3531;
  cursor:pointer;
  font-weight:900;
}
.fd-expedition-cta button i { font-size:18px; }

.impact-estimate-note {
  grid-column:1/-1;
  margin:4px 0 0;
  color:#667771;
  font-size:8px;
  line-height:1.5;
  text-align:left;
}

/* Evolution 11–20: one visible adventure from briefing to debrief. */
.mgx-rank-divider {
  margin:14px 6px 8px;
  border-top:1px solid var(--mgx-line);
  text-align:center;
}
.mgx-rank-divider span {
  position:relative;
  top:-7px;
  padding:2px 8px;
  color:#55706a;
  background:#f6f3e9;
  font:900 7px/1 system-ui;
  letter-spacing:.14em;
}
.mgx-mission-board,
.mgx-boss-card,
.mgx-postcard {
  position:relative;
  overflow:hidden;
  padding:20px;
  border:2px solid var(--mgx-ink);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 8%,rgba(255,218,87,.7),transparent 26%),
    linear-gradient(145deg,#fffdf4,#e8fff5);
  box-shadow:8px 8px 0 rgba(16,45,42,.14);
}
.mgx-mission-board::before,
.mgx-boss-card::before,
.mgx-postcard::before {
  position:absolute;
  width:150px;
  height:150px;
  border:22px solid rgba(16,45,42,.05);
  border-radius:50%;
  content:"";
  right:-72px;
  bottom:-82px;
}
.mgx-mission-board>header,
.mgx-boss-card>header {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin-bottom:16px;
}
.mgx-mission-board>header>span,
.mgx-boss-card>header>span {
  display:grid;
  width:54px;
  height:54px;
  place-items:center;
  border-radius:18px;
  color:#fff;
  background:var(--mgx-deep);
  box-shadow:0 7px 0 rgba(0,0,0,.18);
  font:900 24px/1 system-ui;
}
.mgx-mission-board>header h3,
.mgx-boss-card>header h3 { margin:2px 0 4px; font-size:19px; }
.mgx-mission-board>header p,
.mgx-boss-card>header p { margin:0; color:#49625c; font-size:10px; line-height:1.55; }
.mgx-mission-board>header>b,
.mgx-boss-card>header>strong {
  padding:8px 11px;
  border:1px solid var(--mgx-ink);
  border-radius:999px;
  background:#fff;
  font:900 9px/1 system-ui;
  letter-spacing:.12em;
}
.mgx-mission-board>header>b.is-ready { color:#fff; background:#126c5b; }
.mgx-brief-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:0 0 12px;
}
.mgx-brief-grid article {
  min-width:0;
  padding:12px;
  border:1px solid var(--mgx-line);
  border-radius:15px;
  background:rgba(255,255,255,.82);
}
.mgx-brief-grid small,
.mgx-brief-grid b,
.mgx-brief-grid span { display:block; }
.mgx-brief-grid small { color:#607770; font:900 7px/1 system-ui; letter-spacing:.12em; }
.mgx-brief-grid b { overflow:hidden; margin:6px 0 4px; text-overflow:ellipsis; font-size:12px; white-space:nowrap; }
.mgx-brief-grid span { overflow:hidden; color:#597069; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.mgx-live-quests {
  position:relative;
  z-index:1;
  display:grid;
  gap:7px;
  margin:12px 0;
}
.mgx-live-quests article,
.mgx-live-quests button {
  display:grid;
  width:100%;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:9px 11px;
  border:1px solid var(--mgx-line);
  border-radius:13px;
  color:var(--mgx-ink);
  background:#fff;
  text-align:left;
}
.mgx-live-quests button { cursor:pointer; }
.mgx-live-quests button.is-pinned { border-color:#7e5d00; background:#fff5c3; }
.mgx-live-quests article>span,
.mgx-live-quests button>span { display:grid; width:31px; height:31px; place-items:center; border-radius:10px; background:#e4fbf1; }
.mgx-live-quests small,.mgx-live-quests b { display:block; }
.mgx-live-quests small { color:#6a7d77; font:900 7px/1 system-ui; letter-spacing:.1em; }
.mgx-live-quests b { margin-top:4px; font-size:10px; }
.mgx-live-quests strong { font:900 11px/1 system-ui; }
.mgx-choice-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.mgx-choice-grid.compact { grid-template-columns:repeat(4,minmax(120px,1fr)); }
.mgx-choice-grid>button,
.mgx-dna-grid>button {
  display:grid;
  min-width:0;
  grid-template-columns:36px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:11px;
  border:1px solid var(--mgx-line);
  border-radius:14px;
  color:var(--mgx-ink);
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.mgx-choice-grid>button>span,
.mgx-dna-grid>button>span {
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:11px;
  color:#fff;
  background:var(--mgx-deep);
  font-weight:900;
}
.mgx-choice-grid>button b,.mgx-choice-grid>button small,
.mgx-dna-grid>button b,.mgx-dna-grid>button small { display:block; }
.mgx-choice-grid>button b,.mgx-dna-grid>button b { font-size:10px; }
.mgx-choice-grid>button small,.mgx-dna-grid>button small { margin-top:4px; color:#5d736d; font-size:8px; line-height:1.4; }
.mgx-choice-grid>button.is-selected,
.mgx-dna-grid>button.is-selected { border-color:var(--mgx-ink); background:#fff4bd; box-shadow:0 4px 0 rgba(16,45,42,.18); transform:translateY(-2px); }

.mgx-cause-chain {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-bottom:18px;
}
.mgx-cause-chain article {
  position:relative;
  display:grid;
  min-height:128px;
  align-content:start;
  padding:14px;
  border:1px dashed #8aa39c;
  border-radius:17px;
  background:#f4f6f2;
  opacity:.62;
}
.mgx-cause-chain article:not(:last-child)::after {
  position:absolute;
  z-index:2;
  top:50%;
  right:-16px;
  color:#758d86;
  content:"→";
  font:900 20px/1 system-ui;
  transform:translateY(-50%);
}
.mgx-cause-chain article.is-reached { border-style:solid; border-color:#126c5b; background:#e8fff5; opacity:1; box-shadow:0 5px 0 rgba(18,108,91,.16); }
.mgx-cause-chain article>span { display:grid; width:36px; height:36px; place-items:center; margin-bottom:10px; border-radius:12px; color:#fff; background:#126c5b; font-weight:900; }
.mgx-cause-chain small,.mgx-cause-chain b,.mgx-cause-chain em { display:block; }
.mgx-cause-chain small { color:#607770; font:900 7px/1 system-ui; letter-spacing:.12em; }
.mgx-cause-chain b { margin:5px 0; font-size:11px; }
.mgx-cause-chain em { color:#35554e; font:800 9px/1.4 system-ui; }

.mgx-debrief-grid {
  display:grid;
  grid-template-columns:.75fr 1.2fr 1.2fr;
  gap:12px;
  margin-bottom:14px;
}
.mgx-debrief-grid .mgx-card { min-height:190px; }
.mgx-debrief-grid ul { margin:12px 0 0; padding-left:18px; }
.mgx-debrief-grid li { margin:7px 0; font-size:9px; line-height:1.5; }
.mgx-debrief-score {
  color:#fff;
  background:linear-gradient(145deg,#0c3732,#126c5b);
}
.mgx-debrief-score small,.mgx-debrief-score p { color:#d2eee7; }
.mgx-debrief-score strong { display:block; margin:16px 0 8px; color:var(--mgx-yellow); font:900 58px/1 system-ui; }

.mgx-boss-card { color:#fff; background:radial-gradient(circle at 90% 0,rgba(255,127,104,.5),transparent 34%),linear-gradient(145deg,#1b1838,#102d2a); }
.mgx-boss-card>header p,.mgx-boss-card .mgx-stat span { color:#c8d8d3; }
.mgx-boss-card>header>span { color:var(--mgx-deep); background:var(--mgx-yellow); }
.mgx-boss-card.is-live { animation:mgx-boss-pulse 1.3s ease-in-out infinite alternate; }
.mgx-boss-card.is-cleared { background:linear-gradient(145deg,#0b493e,#126c5b); }
.mgx-boss-card .mgx-stat { color:var(--mgx-ink); background:rgba(255,255,255,.94); }
@keyframes mgx-boss-pulse { to { box-shadow:8px 8px 0 rgba(255,127,104,.32),0 0 28px rgba(255,127,104,.26); } }

.mgx-dna-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.mgx-city-board {
  display:grid;
  min-height:210px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-content:end;
  margin-bottom:14px;
  padding:22px;
  border:2px solid var(--mgx-ink);
  border-radius:22px;
  background:
    linear-gradient(180deg,rgba(110,214,255,.42) 0 55%,rgba(185,243,106,.32) 55% 100%),
    #effff8;
  box-shadow:inset 0 -35px 0 rgba(16,45,42,.06);
}
.mgx-city-board article {
  position:relative;
  min-height:92px;
  padding:13px 10px 10px;
  border:2px solid var(--mgx-ink);
  border-radius:15px 15px 8px 8px;
  background:#fff5c3;
  box-shadow:5px 5px 0 rgba(16,45,42,.16);
}
.mgx-city-board article:nth-child(3n+2) { min-height:118px; background:#e5d9ff; }
.mgx-city-board article:nth-child(3n) { min-height:103px; background:#d5fae8; }
.mgx-city-board article span { display:grid; width:32px; height:32px; place-items:center; margin-bottom:7px; border-radius:50%; color:#fff; background:var(--mgx-deep); }
.mgx-city-board article b,.mgx-city-board article small { display:block; }
.mgx-city-board article b { font-size:10px; }
.mgx-city-board article small { margin-top:5px; color:#587069; font-size:7px; line-height:1.35; }
.mgx-city-empty { grid-column:1/-1; align-self:center; text-align:center; }
.mgx-city-empty>span { display:grid; width:58px; height:58px; place-items:center; margin:0 auto 10px; border:2px dashed var(--mgx-ink); border-radius:50%; font-size:28px; }
.mgx-city-empty b { font-size:15px; }
.mgx-city-empty p { margin:7px 0 0; font-size:9px; }
.mgx-defect-status {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  margin-bottom:18px;
  padding:15px;
  border:2px solid #126c5b;
  border-radius:17px;
  background:#e8fff5;
}
.mgx-defect-status.is-warning { border-color:#9f2f22; background:#fff0ec; }
.mgx-defect-status>span { display:grid; width:42px; height:42px; place-items:center; border-radius:14px; color:#fff; background:#126c5b; font:900 21px/1 system-ui; }
.mgx-defect-status.is-warning>span { background:#b63c2c; }
.mgx-defect-status small,.mgx-defect-status h3,.mgx-defect-status p { display:block; margin:0; }
.mgx-defect-status small { color:#667a74; font:900 7px/1 system-ui; letter-spacing:.12em; }
.mgx-defect-status h3 { margin:4px 0; font-size:14px; }
.mgx-defect-status p { color:#536c65; font-size:9px; line-height:1.45; }
.mgx-defect-status>strong { font:900 9px/1 system-ui; letter-spacing:.1em; }

.mgx-postcard {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  min-height:190px;
  color:#fff;
  background:
    linear-gradient(120deg,rgba(9,33,31,.96),rgba(18,108,91,.91)),
    radial-gradient(circle,#fff 1px,transparent 1px);
}
.mgx-postcard small,.mgx-postcard h3,.mgx-postcard p { position:relative; z-index:1; }
.mgx-postcard>div>small { color:#bff6df; font:900 8px/1 system-ui; letter-spacing:.16em; }
.mgx-postcard h3 { margin:10px 0; color:var(--mgx-yellow); font-size:23px; }
.mgx-postcard p { max-width:760px; margin:0; color:#eefbf7; font-size:11px; line-height:1.65; }
.mgx-postcard>span {
  position:relative;
  z-index:1;
  display:grid;
  width:105px;
  height:105px;
  place-items:center;
  border:2px dashed var(--mgx-yellow);
  border-radius:50%;
  color:var(--mgx-yellow);
  font:900 36px/1 system-ui;
  transform:rotate(6deg);
}
.mgx-postcard>span small { display:block; margin-top:-24px; color:#fff; font-size:7px; letter-spacing:.14em; }

.mgx-adventure-rail,
.mgx-quest-hud {
  position:fixed;
  z-index:86;
  left:50%;
  width:min(760px,calc(100vw - 28px));
  transform:translateX(-50%);
}
.mgx-adventure-rail { bottom:14px; }
.mgx-quest-hud { top:74px; width:min(420px,calc(100vw - 28px)); }
.mgx-adventure-rail[hidden],.mgx-quest-hud[hidden] { display:none; }
.mgx-adventure-rail>button,
.mgx-quest-hud>button {
  width:100%;
  border:1px solid rgba(255,255,255,.72);
  color:#fff;
  background:rgba(9,33,31,.95);
  box-shadow:0 14px 40px rgba(0,0,0,.3);
  backdrop-filter:blur(14px);
  cursor:pointer;
}
.mgx-adventure-rail>button {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:8px 12px;
  border-radius:18px;
}
.mgx-adventure-rail>button>span { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; color:var(--mgx-deep); background:var(--mgx-yellow); font-weight:900; }
.mgx-adventure-rail>button>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
.mgx-adventure-rail i { position:relative; min-width:0; padding:5px 7px; border-radius:8px; background:rgba(255,255,255,.08); font-style:normal; text-align:left; }
.mgx-adventure-rail i.is-done { background:rgba(185,243,106,.18); }
.mgx-adventure-rail i.is-current { color:var(--mgx-deep); background:var(--mgx-yellow); }
.mgx-adventure-rail i small,.mgx-adventure-rail i b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mgx-adventure-rail i small { color:inherit; font:900 12px/1.2 system-ui; letter-spacing:.06em; opacity:.8; }
.mgx-adventure-rail i b { margin-top:3px; font-size:13px; }
.mgx-adventure-rail>button>em { color:var(--mgx-yellow); font:900 13px/1 system-ui; }
.mgx-quest-hud>button { display:grid; gap:5px; padding:10px; border-radius:18px; text-align:left; }
.mgx-quest-hud>button>small { color:var(--mgx-yellow); font:900 13px/1 system-ui; letter-spacing:.1em; }
.mgx-quest-hud>button>span { position:relative; display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:7px; align-items:center; overflow:hidden; padding:6px 8px; border-radius:9px; background:rgba(255,255,255,.08); }
.mgx-quest-hud>button>span.is-done { background:rgba(185,243,106,.2); }
.mgx-quest-hud span i { font-style:normal; }
.mgx-quest-hud span b { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.mgx-quest-hud span em { font:900 13px/1 system-ui; }
.mgx-quest-hud span u { position:absolute; right:0; bottom:0; left:0; height:2px; background:linear-gradient(90deg,var(--mgx-yellow) var(--quest-progress),rgba(255,255,255,.12) var(--quest-progress)); }

:where(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline:4px solid #ffbd00 !important;
  outline-offset:3px !important;
}

/* MEGURU X display preferences must not rewrite the legacy game shell.
   Keeping them inside the feature dialog preserves the known-good V11 title
   screen even when a previous visit stored large-text or contrast settings. */
html[data-mgx-contrast="high"] .mgx-dialog { color:#000; background:#fff; }
html[data-mgx-contrast="high"] .mgx-dialog :where(p,small,span) { color:#111; }
html[data-mgx-contrast="high"] .mgx-dialog :where(button,a,input,select) { border-color:#000; }
html[data-mgx-text="large"] .mgx-dialog p,
html[data-mgx-text="large"] .mgx-dialog button,
html[data-mgx-text="large"] .mgx-dialog small { font-size:max(12px,1em); line-height:1.55; }
html[data-mgx-motion="reduce"] *,
html[data-mgx-motion="reduce"] *::before,
html[data-mgx-motion="reduce"] *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
html[data-mgx-effects="calm"] :where(.paper-noise,.confetti,.sort-sparkles,.operation-particles,.sparks) { display:none !important; }

@media (max-width:1080px) {
  .top10-nav-button b,.top10-nav-button small { display:none; }
  .top10-nav-button { grid-template-columns:34px; padding:6px; }
  .mgx-layout { grid-template-columns:250px minmax(0,1fr); }
  .mgx-decision-grid,.mgx-form-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mgx-material-flow { grid-template-columns:repeat(3,minmax(90px,1fr)); }
  .mgx-stakeholders { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .mgx-modal { padding:0; }
  .mgx-dialog { width:100%; max-height:100dvh; min-height:100dvh; border:0; border-radius:0; }
  .mgx-header { grid-template-columns:minmax(0,1fr) auto; padding:12px; }
  .mgx-brand>span { width:42px; height:42px; font-size:20px; }
  .mgx-brand em { white-space:normal; }
  .mgx-progress-summary { grid-column:1/3; grid-row:2; }
  .mgx-progress-summary span { flex:1; min-width:0; }
  .mgx-layout { display:flex; flex-direction:column; }
  .mgx-rank-nav { display:flex; flex:0 0 auto; gap:7px; overflow:auto; padding:9px; border:0; border-bottom:1px solid var(--mgx-line); }
  .mgx-rank-nav>p { display:none; }
  .mgx-rank-divider { flex:0 0 118px; align-self:center; margin:0; }
  .mgx-rank-item { flex:0 0 150px; margin:0; grid-template-columns:34px 1fr; padding:8px; }
  .mgx-rank-item>span { width:32px; height:32px; }
  .mgx-rank-item>i,.mgx-rank-item small { display:none; }
  .mgx-workspace { padding:18px 13px 70px; }
  .mgx-feature-head { grid-template-columns:48px 1fr; }
  .mgx-feature-head>span { width:46px; height:46px; }
  .mgx-score-chip { grid-column:1/3; justify-self:start; }
  .mgx-grid,.mgx-grid.three,.mgx-dashboard-hero,.mgx-settings,.mgx-kit-layout { grid-template-columns:1fr; }
  .mgx-brief-grid,.mgx-choice-grid,.mgx-choice-grid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mgx-cause-chain { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mgx-cause-chain article:nth-child(2)::after { display:none; }
  .mgx-debrief-grid { grid-template-columns:1fr; }
  .mgx-debrief-grid .mgx-card { min-height:0; }
  .mgx-dna-grid { grid-template-columns:1fr; }
  .mgx-city-board { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mgx-form-grid,.mgx-form-grid.four { grid-template-columns:1fr; }
  .mgx-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mgx-decision-grid { grid-template-columns:1fr 1fr; }
  .mgx-crew-power-grid { grid-template-columns:1fr; }
  .mgx-policy-grid { grid-template-columns:1fr 1fr; }
  .mgx-stakeholders { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mgx-model-board { grid-template-columns:repeat(2,minmax(80px,1fr)); }
  .mgx-slider { grid-template-columns:95px minmax(0,1fr) 48px; }
  .mgx-health-row { grid-template-columns:95px 1fr 45px; }
  .mgx-health-row button { grid-column:1/-1; }
  .mgx-gantt-row { grid-template-columns:95px 1fr; }
  .mgx-gantt-row select { grid-column:1/-1; }
  .fd-expedition-cta { grid-template-columns:1fr; }
  .fd-expedition-cta button { justify-content:center; }
  .mgx-play-dock { right:10px; bottom:72px; }
  .mgx-adventure-rail { bottom:8px; }
  .mgx-quest-hud { top:64px; }
}

@media (max-width:430px) {
  .top10-title-button { grid-template-columns:1fr; }
  .top10-title-button span { grid-row:auto; justify-self:start; }
  .mgx-progress-summary span:nth-child(3) { display:none; }
  .mgx-decision-grid,.mgx-policy-grid { grid-template-columns:1fr; }
  .mgx-expedition-card { grid-template-columns:1fr; }
  .mgx-record-grid { grid-template-columns:1fr 1fr; }
  .mgx-material-flow { grid-template-columns:repeat(2,minmax(80px,1fr)); }
  .mgx-code { display:block; }
  .mgx-code .mgx-actions { margin-top:10px; }
  .mgx-mission-board,.mgx-boss-card,.mgx-postcard { padding:14px; border-radius:17px; }
  .mgx-mission-board>header,.mgx-boss-card>header { grid-template-columns:auto minmax(0,1fr); }
  .mgx-mission-board>header>b,.mgx-boss-card>header>strong { grid-column:1/-1; justify-self:start; }
  .mgx-brief-grid,.mgx-choice-grid,.mgx-choice-grid.compact,.mgx-cause-chain,.mgx-city-board { grid-template-columns:1fr; }
  .mgx-cause-chain article::after { display:none; }
  .mgx-postcard { grid-template-columns:1fr; }
  .mgx-postcard>span { width:78px; height:78px; font-size:27px; }
  .mgx-adventure-rail>button { grid-template-columns:32px minmax(0,1fr); }
  .mgx-adventure-rail>button>em { display:none; }
  .mgx-adventure-rail i b { display:none; }
  .mgx-quest-hud { top:58px; }
}

@media (prefers-reduced-motion:reduce) {
  .mgx-material-flow span::after,.mgx-model-slot::after { animation:none !important; }
}

@media print {
  body>*:not(.mgx-modal) { display:none !important; }
  .mgx-modal,.mgx-dialog,.mgx-workspace { position:static; display:block !important; width:auto; max-height:none; overflow:visible; padding:0; border:0; box-shadow:none; }
  .mgx-backdrop,.mgx-header,.mgx-rank-nav,.mgx-actions,.mgx-close { display:none !important; }
}
