.mobile-module-scene{display:none}
@media(max-width:767px){
  /* Mobile copies own the visible scene; the desktop source needs no layout. */
  .has-mobile-module-scenes .story .plan-col{display:none!important}
  .has-mobile-module-scenes .plan-col *{visibility:hidden!important;animation:none!important;transition:none!important}
  .mobile-module-scene{display:block;position:relative;isolation:isolate;grid-column:1/-1;width:100%;min-width:0;margin:26px 0 6px;overflow:hidden;border-radius:20px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
  .mobile-module-scene>.plan,.mobile-module-scene>.rig,.mobile-module-scene>.cctv{margin:0;width:100%;height:auto;min-height:0;max-height:none;pointer-events:none}
  .mobile-module-scene .plan__core,.mobile-module-scene .rig__core{height:auto;min-height:0}
  .mobile-module-scene *,.mobile-module-scene *::before,.mobile-module-scene *::after{animation:none!important;transition:none!important}
  .mobile-module-scene.is-visible{animation:mobile-scene-in .55s ease-out both}
  .mobile-module-scene .pl-head,.mobile-module-scene .rig__head{flex-wrap:wrap;gap:6px}
  .mobile-module-scene .hint,.mobile-module-scene .pl-hint{display:none}
  .cargo-mobile{margin:0;padding:0;background:var(--sheet,var(--bg));color:var(--strong)}
  .cargo-mobile__head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}
  .cargo-mobile__head span{color:var(--sel);font:12px var(--mono)}
  .cargo-mobile__head small{margin-left:auto;font:10px var(--mono);color:var(--tx2,var(--fg2));font-weight:400}
  .cargo-mobile__visual{padding:18px 16px 12px;background-image:linear-gradient(var(--draft3) 1px,transparent 1px),linear-gradient(90deg,var(--draft3) 1px,transparent 1px);background-size:24px 24px}
  .cargo-mobile .xs{width:100%;height:auto;max-width:100%;overflow:hidden}
  .cargo-mobile__route{display:flex;justify-content:space-between;align-items:center;gap:12px;font:11px var(--mono);color:var(--tx2,var(--fg2))}
  .cargo-mobile__route b{font-weight:400;color:var(--sel)}
  .cargo-mobile__id{font:11px var(--mono);color:var(--tx2,var(--fg2));margin:0 0 12px}
  .cargo-mobile__data{padding:16px 18px;border-top:1px solid var(--line)}
  .cargo-mobile__total{display:flex;align-items:baseline;gap:10px;font-size:13px;flex-wrap:wrap}
  .cargo-mobile__total strong{font:700 28px var(--mono);color:var(--sel)}
  .cargo-mobile__metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin:0}
  .cargo-mobile__metrics div{min-width:0}
  .cargo-mobile__metrics dt{font-size:12px;color:var(--tx2,var(--fg2));margin-bottom:5px}
  .cargo-mobile__metrics dd{margin:0;font:700 17px var(--mono);white-space:nowrap}
  .cargo-mobile__metrics .gross{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line)}
  .cargo-mobile__metrics .gross dd{font-size:27px;color:var(--sel)}
  .cargo-mobile__notice{margin:14px 0 0;padding:10px 12px;background:var(--accent-soft);border-radius:10px;font-size:12px;line-height:1.5}
  .cargo-mobile__photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .cargo-mobile__photos figure{margin:0;min-width:0;padding:8px;background:var(--sheet);border:1px solid var(--line);border-radius:10px}
  .cargo-mobile__photos figure:first-child{grid-column:1/-1}
  .cargo-mobile__photos svg{display:block;width:100%;height:90px}
  .cargo-mobile__photos figure:first-child svg{height:130px}
  .cargo-mobile__photos figcaption{font:10px var(--mono);color:var(--tx2,var(--fg2));margin-top:6px}
  .cargo-mobile__document{margin-top:14px;padding:18px;background:var(--sheet);border:1px solid var(--line);border-radius:4px 4px 14px 14px;box-shadow:0 6px 0 -2px var(--bg),0 7px 0 -2px var(--line)}
  .cargo-mobile__document h4{margin:0 0 14px;font-size:16px}
  .cargo-mobile__document ul{list-style:none;padding:0;margin:0}
  .cargo-mobile__document li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.4}
  .cargo-mobile__document li b{white-space:nowrap;font:700 12px var(--mono)}
  .cargo-mobile__document li:last-child{border:0;padding-top:14px;font-weight:700}
  .cargo-mobile__sync{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--sel)}
  .cargo-mobile__sync span{padding:5px 8px;border-radius:6px;background:var(--accent-soft)}
  @keyframes mobile-scene-in{from{opacity:.65;transform:translateY(10px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.mobile-module-scene.is-visible{animation:none}}
