.mirai-five-part-nav{
  --mirai-nav-ink:#20242b;
  --mirai-nav-muted:#6b7280;
  --mirai-nav-gold:#b7922e;
  --mirai-nav-gold-soft:#fff8e5;
  --mirai-nav-line:#e6d9ae;
  position:relative;
  max-width:980px;
  margin:0 auto 24px;
  padding:14px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  box-sizing:border-box;
  border:1px solid #e8ddb9;
  border-radius:22px;
  background:linear-gradient(135deg,#fffdf7 0%,#fff 46%,#f7f9fa 100%);
  box-shadow:0 14px 34px rgba(32,36,43,.10);
}
.mirai-five-part-nav a{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-width:0;
  min-height:76px;
  padding:11px 12px;
  box-sizing:border-box;
  border:1px solid #d9dde3;
  border-radius:15px;
  background:rgba(255,255,255,.92);
  color:var(--mirai-nav-ink);
  text-decoration:none;
  text-align:left;
  line-height:1.35;
  box-shadow:0 3px 10px rgba(32,36,43,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.mirai-five-part-nav a:not(:last-child)::after{
  content:"›";
  position:absolute;
  top:50%;
  right:-12px;
  z-index:3;
  width:12px;
  color:var(--mirai-nav-gold);
  font-size:24px;
  font-weight:800;
  line-height:1;
  text-align:center;
  transform:translateY(-52%);
  pointer-events:none;
}
.mirai-five-part-nav__number{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d8c178;
  border-radius:999px;
  background:var(--mirai-nav-gold-soft);
  color:#8a6a1d;
  font-size:16px;
  font-weight:800;
  line-height:1;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.72);
}
.mirai-five-part-nav__copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.mirai-five-part-nav__copy strong{
  display:block;
  color:var(--mirai-nav-ink);
  font-size:15px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.01em;
}
.mirai-five-part-nav__copy small{
  display:block;
  color:var(--mirai-nav-muted);
  font-size:14px;
  font-weight:600;
  line-height:1.35;
}
.mirai-five-part-nav a:hover{
  transform:translateY(-2px);
  border-color:#c9b477;
  background:#fffdf7;
  box-shadow:0 9px 20px rgba(32,36,43,.10);
}
.mirai-five-part-nav a:hover .mirai-five-part-nav__number{
  border-color:var(--mirai-nav-gold);
  background:#fff3cf;
}
.mirai-five-part-nav a.is-active,
.mirai-five-part-nav a[aria-current="step"]{
  border-color:var(--mirai-nav-gold);
  background:linear-gradient(145deg,#fffaf0 0%,#fff 100%);
  box-shadow:0 8px 22px rgba(183,146,46,.16),inset 0 3px 0 var(--mirai-nav-gold);
}
.mirai-five-part-nav a.is-active .mirai-five-part-nav__number,
.mirai-five-part-nav a[aria-current="step"] .mirai-five-part-nav__number{
  border-color:var(--mirai-nav-ink);
  background:var(--mirai-nav-ink);
  color:#fff;
  box-shadow:none;
}
.mirai-five-part-nav a:focus-visible{
  outline:3px solid var(--mirai-nav-ink);
  outline-offset:3px;
}
@media(max-width:900px){
  .mirai-five-part-nav{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mirai-five-part-nav a:not(:last-child)::after{display:none;}
  .mirai-five-part-nav a:last-child{grid-column:1/-1;}
}
@media(max-width:640px){
  .mirai-five-part-nav{
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
    border-radius:18px;
    margin-bottom:20px;
  }
  .mirai-five-part-nav a,
  .mirai-five-part-nav a:last-child{
    grid-column:auto;
    min-height:64px;
    padding:10px 12px;
  }
  .mirai-five-part-nav a:not(:last-child)::after{
    display:block;
    content:"↓";
    top:auto;
    right:50%;
    bottom:-12px;
    width:18px;
    height:14px;
    font-size:16px;
    line-height:14px;
    transform:translateX(50%);
    background:#fffdf7;
  }
  .mirai-five-part-nav__number{flex-basis:32px;width:32px;height:32px;}
  .mirai-five-part-nav__copy strong{font-size:15px;}
  .mirai-five-part-nav__copy small{font-size:14px;}
}
@media(prefers-reduced-motion:reduce){
  .mirai-five-part-nav a{transition:none;}
  .mirai-five-part-nav a:hover{transform:none;}
}
@media(forced-colors:active){
  .mirai-five-part-nav,.mirai-five-part-nav a,.mirai-five-part-nav__number{border:1px solid CanvasText;}
  .mirai-five-part-nav a.is-active,.mirai-five-part-nav a[aria-current="step"]{outline:2px solid CanvasText;}
}

/* Stage 28.0.6: isolate all five MIRAI parts without mutating native hidden state or stored data. */
.mirai-part-hidden-by-nav{display:none!important;}

/* Stage 29.0 — explicit five-part presentation membership. */
.mirai-part-panel{min-width:0}
.mirai-five-part-derived{max-width:980px;margin:24px auto;padding:24px;border:1px solid rgba(127,127,127,.22);border-radius:16px;background:rgba(255,255,255,.02);box-sizing:border-box}
.mirai-five-part-derived>[data-mirai-part-member]{min-width:0}
[data-mirai-resume-recommendations-mount]{min-width:0}
.mirai-part-hidden-by-nav{display:none!important;}

/* Stage 29.0 — declarative five-part presentation router. */
html[data-mirai-active-part="1"] [data-mirai-part-member]:not([data-mirai-part-member="1"]),
html[data-mirai-active-part="2"] [data-mirai-part-member]:not([data-mirai-part-member="2"]),
html[data-mirai-active-part="3"] [data-mirai-part-member]:not([data-mirai-part-member="3"]),
html[data-mirai-active-part="4"] [data-mirai-part-member]:not([data-mirai-part-member="4"]),
html[data-mirai-active-part="5"] [data-mirai-part-member]:not([data-mirai-part-member="5"]){display:none!important;}
html[data-mirai-active-part="4"] [data-mirai-part-scope="1,2,3"],
html[data-mirai-active-part="5"] [data-mirai-part-scope="1,2,3"]{display:none!important;}
.mirai-part-panel{min-width:0}

/* Stage 29.2 — dedicated Part 2 / Part 3 presentation portals. */
.mirai-part-portal{max-width:980px;margin:24px auto 0;padding:0;box-sizing:border-box;min-width:0}
.mirai-part-portal__header{margin:0 0 18px;padding:20px 22px;border:1px solid rgba(173,126,24,.24);border-left:4px solid #d6a20f;border-radius:14px;background:#fffaf0;box-sizing:border-box}
.mirai-part-portal__header .mirai-step{margin:0 0 6px;font-size:14px;font-weight:700;letter-spacing:.02em}
.mirai-part-portal__header h2{margin:0;font-size:clamp(22px,2.7vw,30px);line-height:1.35}
.mirai-part-portal__content{display:grid;gap:18px;min-width:0}
.mirai-part-portal__content>div,.mirai-part-portal__content>.mirai-profile-group{margin:0;padding:20px 22px;border:1px solid rgba(127,127,127,.20);border-radius:14px;background:#fff;box-sizing:border-box;min-width:0}
.mirai-part-portal__mount{min-width:0}
@media(max-width:640px){
  .mirai-part-portal{margin-top:18px}
  .mirai-part-portal__header,.mirai-part-portal__content>div,.mirai-part-portal__content>.mirai-profile-group{padding:18px 16px}
}

/* After the legacy real-world blocks are safely moved, Part 1 keeps only the career-axis block. */
[data-mirai-real-world-translation].mirai-five-part-source-trimmed>h4,
[data-mirai-real-world-translation].mirai-five-part-source-trimmed>[data-mirai-real-world-headline]{display:none!important;}


/* Stage 29.5 — final ownership and five-part common layer. */
.mirai-part-owned-link[data-mirai-part-member="2"]{
  max-width:980px;
  margin:18px auto 0;
  padding:16px 18px;
  box-sizing:border-box;
  border:1px solid #e6d9ae;
  border-radius:14px;
  background:#fffaf0;
}
.mirai-part-owned-link[data-mirai-part-member="2"] a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:15px;
  font-weight:800;
  line-height:1.5;
}
.mirai-five-part-common{
  max-width:980px;
  margin:40px auto 0;
  padding:24px 0 0;
  box-sizing:border-box;
  border-top:1px solid #e6d9ae;
}
.mirai-five-part-common__label{
  margin:0 auto 10px;
  max-width:920px;
  color:#6b7280;
  font-size:15px;
  font-weight:800;
  line-height:1.5;
  letter-spacing:.04em;
}
.mirai-five-part-common .mirai-kiseki-record{margin-top:0}
@media(max-width:640px){
  .mirai-part-owned-link[data-mirai-part-member="2"]{margin:14px 0 0;padding:14px 16px}
  .mirai-five-part-common{margin-top:28px;padding-top:18px}
  .mirai-five-part-common__label{margin-left:0;margin-right:0}
}

/* Stage 29.7 — frozen public page-wide content width contract.
 * The protected MIRAI shell is 980px wide with 24px horizontal desktop padding,
 * so its visible content lane is 932px. Additive modules rendered after the core
 * shortcode must use the same lane instead of expanding back to 980px/full width.
 */
@media (min-width:641px){
  .mirai-interview-communication,
  .mirai-interview-question-engine,
  .mirai-interview-answer-builder,
  .mirai-interview-readiness,
  .mirai-interview-day-support,
  .mirai-transition-support,
  .mirai-onboarding-adaptation,
  .mirai-career-cycle-history,
  .mirai-long-term-career-return,
  .mirai-five-part-common{
    width:calc(100% - 48px);
    max-width:932px;
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
  }
}
@media (max-width:640px){
  .mirai-interview-communication,
  .mirai-interview-question-engine,
  .mirai-interview-answer-builder,
  .mirai-interview-readiness,
  .mirai-interview-day-support,
  .mirai-transition-support,
  .mirai-onboarding-adaptation,
  .mirai-career-cycle-history,
  .mirai-long-term-career-return,
  .mirai-five-part-common{
    width:calc(100% - 28px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
  }
}
.mirai-five-part-common .mirai-kiseki-record{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  box-sizing:border-box;
}

